Identity and Access Management für AWS CodePipeline - AWS CodePipeline

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Identity and Access Management für AWS CodePipeline

AWS Identity and Access Management (IAM) hilft einem Administrator AWS-Service , den Zugriff auf Ressourcen sicher zu AWS kontrollieren. IAM-Administratoren kontrollieren, wer authentifiziert (angemeldet) und autorisiert werden kann (über Berechtigungen verfügt), um Ressourcen zu verwenden. CodePipeline IAM ist ein Programm AWS-Service , das Sie ohne zusätzliche Kosten nutzen können.

Zielgruppe

Die Art und Weise, wie Sie AWS Identity and Access Management (IAM) verwenden, hängt von der Arbeit ab, in der Sie tätig sind. CodePipeline

Dienstbenutzer — Wenn Sie den CodePipeline Dienst für Ihre Arbeit verwenden, stellt Ihnen Ihr Administrator die erforderlichen Anmeldeinformationen und Berechtigungen zur Verfügung. Wenn Sie für Ihre Arbeit mehr CodePipeline Funktionen verwenden, benötigen Sie möglicherweise zusätzliche Berechtigungen. Wenn Sie die Fuktionsweise der Zugriffskontrolle nachvollziehen, wissen Sie bereits, welche Berechtigungen Sie von Ihrem Administrator anzufordern müssen. Wenn Sie in nicht auf eine Funktion zugreifen können CodePipeline, finden Sie weitere Informationen unterFehlerbehebung für AWS CodePipeline -Identität und -Zugriff.

Serviceadministrator — Wenn Sie in Ihrem Unternehmen für CodePipeline Ressourcen verantwortlich sind, haben Sie wahrscheinlich vollen Zugriff auf CodePipeline. Es ist Ihre Aufgabe, zu bestimmen, auf welche CodePipeline Funktionen und Ressourcen Ihre Servicebenutzer zugreifen sollen. Sie müssen dann Anträge an Ihren IAM-Administrator stellen, um die Berechtigungen Ihrer Servicenutzer zu ändern. Lesen Sie die Informationen auf dieser Seite, um die Grundkonzepte von IAM nachzuvollziehen. Weitere Informationen darüber, wie Ihr Unternehmen IAM nutzen kann CodePipeline, finden Sie unterWie AWS CodePipeline funktioniert mit IAM.

IAM-Administrator — Wenn Sie ein IAM-Administrator sind, möchten Sie vielleicht mehr darüber erfahren, wie Sie Richtlinien schreiben können, um den Zugriff darauf zu verwalten. CodePipeline Beispiele für CodePipeline identitätsbasierte Richtlinien, die Sie in IAM verwenden können, finden Sie unter. AWS CodePipeline Beispiele für identitätsbasierte -Richtlinien

Authentifizierung mit Identitäten

Authentifizierung ist die Art und Weise, wie Sie sich AWS mit Ihren Identitätsdaten anmelden. Sie müssen als IAM-Benutzer authentifiziert (angemeldet AWS) sein oder eine IAM-Rolle annehmen. Root-Benutzer des AWS-Kontos

Sie können sich AWS als föderierte Identität anmelden, indem Sie Anmeldeinformationen verwenden, die über eine Identitätsquelle bereitgestellt wurden. AWS IAM Identity Center (IAM Identity Center) -Benutzer, die Single Sign-On-Authentifizierung Ihres Unternehmens und Ihre Google- oder Facebook-Anmeldeinformationen sind Beispiele für föderierte Identitäten. Wenn Sie sich als Verbundidentität anmelden, hat der Administrator vorher mithilfe von IAM-Rollen einen Identitätsverbund eingerichtet. Wenn Sie über den Verbund darauf zugreifen AWS , übernehmen Sie indirekt eine Rolle.

Je nachdem, welcher Benutzertyp Sie sind, können Sie sich beim AWS Management Console oder beim AWS Zugangsportal anmelden. Weitere Informationen zur Anmeldung finden Sie AWS unter So melden Sie sich bei Ihrem an AWS-Konto im AWS-Anmeldung Benutzerhandbuch.

Wenn Sie AWS programmgesteuert darauf zugreifen, AWS stellt es ein Software Development Kit (SDK) und eine Befehlszeilenschnittstelle (CLI) bereit, um Ihre Anfragen mithilfe Ihrer Anmeldeinformationen kryptografisch zu signieren. Wenn Sie keine AWS Tools verwenden, müssen Sie Anfragen selbst signieren. Weitere Informationen zur Verwendung der empfohlenen Methode, um Anfragen selbst zu signieren, finden Sie im IAM-Benutzerhandbuch unter AWS API-Anfragen signieren.

Unabhängig von der verwendeten Authentifizierungsmethode müssen Sie möglicherweise zusätzliche Sicherheitsinformationen angeben. AWS Empfiehlt beispielsweise, die Multi-Faktor-Authentifizierung (MFA) zu verwenden, um die Sicherheit Ihres Kontos zu erhöhen. Weitere Informationen finden Sie unter Multi-Faktor-Authentifizierung im AWS IAM Identity Center -Benutzerhandbuch und Verwenden der Multi-Faktor-Authentifizierung (MFA) in AWS im IAM-Benutzerhandbuch.

Root-Benutzer des AWS-Kontos

Wenn Sie eine erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, die vollständigen Zugriff auf alle Ressourcen im AWS-Services Konto hat. Diese Identität wird als AWS-Konto Root-Benutzer bezeichnet. Sie können darauf zugreifen, indem Sie sich mit der E-Mail-Adresse und dem Passwort anmelden, mit denen Sie das Konto erstellt haben. Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden. Schützen Sie Ihre Root-Benutzer-Anmeldeinformationen und verwenden Sie diese, um die Aufgaben auszuführen, die nur der Root-Benutzer ausführen kann. Eine vollständige Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter Aufgaben, die Root-Benutzer-Anmeldeinformationen erfordern im IAM-Benutzerhandbuch.

IAM-Benutzer und -Gruppen

Ein IAM-Benutzer ist eine Identität innerhalb von Ihnen AWS-Konto , die über spezifische Berechtigungen für eine einzelne Person oder Anwendung verfügt. Wenn möglich, empfehlen wir, temporäre Anmeldeinformationen zu verwenden, anstatt IAM-Benutzer zu erstellen, die langfristige Anmeldeinformationen wie Passwörter und Zugriffsschlüssel haben. Bei speziellen Anwendungsfällen, die langfristige Anmeldeinformationen mit IAM-Benutzern erfordern, empfehlen wir jedoch, die Zugriffsschlüssel zu rotieren. Weitere Informationen finden Sie unter Regelmäßiges Rotieren von Zugriffsschlüsseln für Anwendungsfälle, die langfristige Anmeldeinformationen erfordern im IAM-Benutzerhandbuch.

Eine IAM-Gruppe ist eine Identität, die eine Sammlung von IAM-Benutzern angibt. Sie können sich nicht als Gruppe anmelden. Mithilfe von Gruppen können Sie Berechtigungen für mehrere Benutzer gleichzeitig angeben. Gruppen vereinfachen die Verwaltung von Berechtigungen, wenn es zahlreiche Benutzer gibt. Sie könnten beispielsweise einer Gruppe mit dem Namen IAMAdmins Berechtigungen zum Verwalten von IAM-Ressourcen erteilen.

Benutzer unterscheiden sich von Rollen. Ein Benutzer ist einer einzigen Person oder Anwendung eindeutig zugeordnet. Eine Rolle kann von allen Personen angenommen werden, die sie benötigen. Benutzer besitzen dauerhafte Anmeldeinformationen. Rollen stellen temporäre Anmeldeinformationen bereit. Weitere Informationen finden Sie unter Erstellen eines IAM-Benutzers (anstatt einer Rolle) im IAM-Benutzerhandbuch.

IAM-Rollen

Eine IAM-Rolle ist eine Identität innerhalb Ihres Unternehmens AWS-Konto , die über bestimmte Berechtigungen verfügt. Sie ist einem IAM-Benutzer vergleichbar, ist aber nicht mit einer bestimmten Person verknüpft. Sie können vorübergehend eine IAM-Rolle in der übernehmen, AWS Management Console indem Sie die Rollen wechseln. Sie können eine Rolle übernehmen, indem Sie eine AWS CLI oder AWS API-Operation aufrufen oder eine benutzerdefinierte URL verwenden. Weitere Informationen zu Methoden für die Verwendung von Rollen finden Sie unter Verwenden von IAM-Rollen im IAM-Benutzerhandbuch.

IAM-Rollen mit temporären Anmeldeinformationen sind in folgenden Situationen hilfreich:

  • Verbundbenutzerzugriff – Um einer Verbundidentität Berechtigungen zuzuweisen, erstellen Sie eine Rolle und definieren Berechtigungen für die Rolle. Wird eine Verbundidentität authentifiziert, so wird die Identität der Rolle zugeordnet und erhält die von der Rolle definierten Berechtigungen. Informationen zu Rollen für den Verbund finden Sie unter Erstellen von Rollen für externe Identitätsanbieter im IAM-Benutzerhandbuch. Wenn Sie IAM Identity Center verwenden, konfigurieren Sie einen Berechtigungssatz. Wenn Sie steuern möchten, worauf Ihre Identitäten nach der Authentifizierung zugreifen können, korreliert IAM Identity Center den Berechtigungssatz mit einer Rolle in IAM. Informationen zu Berechtigungssätzen finden Sie unter Berechtigungssätze im AWS IAM Identity Center -Benutzerhandbuch.

  • Temporäre IAM-Benutzerberechtigungen – Ein IAM-Benutzer oder eine -Rolle kann eine IAM-Rolle übernehmen, um vorübergehend andere Berechtigungen für eine bestimmte Aufgabe zu erhalten.

  • Kontoübergreifender Zugriff – Sie können eine IAM-Rolle verwenden, um einem vertrauenswürdigen Prinzipal in einem anderen Konto den Zugriff auf Ressourcen in Ihrem Konto zu ermöglichen. Rollen stellen die primäre Möglichkeit dar, um kontoübergreifendem Zugriff zu gewähren. Bei einigen können Sie AWS-Services jedoch eine Richtlinie direkt an eine Ressource anhängen (anstatt eine Rolle als Proxy zu verwenden). Informationen zu den Unterschieden zwischen Rollen und ressourcenbasierten Richtlinien für den kontoübergreifenden Zugriff finden Sie unter So unterscheiden sich IAM-Rollen von ressourcenbasierten Richtlinien im IAM-Benutzerhandbuch.

  • Serviceübergreifender Zugriff — Einige AWS-Services verwenden Funktionen in anderen AWS-Services. Wenn Sie beispielsweise einen Aufruf in einem Service tätigen, führt dieser Service häufig Anwendungen in Amazon-EC2 aus oder speichert Objekte in Amazon-S3. Ein Dienst kann dies mit den Berechtigungen des aufrufenden Prinzipals mit einer Servicerolle oder mit einer serviceverknüpften Rolle tun.

    • Forward Access Sessions (FAS) — Wenn Sie einen IAM-Benutzer oder eine IAM-Rolle verwenden, um Aktionen auszuführen AWS, gelten Sie als Principal. Bei einigen Services könnte es Aktionen geben, die dann eine andere Aktion in einem anderen Service initiieren. FAS verwendet die Berechtigungen des Prinzipals, der einen aufruft AWS-Service, in Kombination mit der Anfrage, Anfragen an AWS-Service nachgelagerte Dienste zu stellen. FAS-Anfragen werden nur gestellt, wenn ein Dienst eine Anfrage erhält, für deren Abschluss Interaktionen mit anderen AWS-Services oder Ressourcen erforderlich sind. In diesem Fall müssen Sie über Berechtigungen zum Ausführen beider Aktionen verfügen. Einzelheiten zu den Richtlinien für FAS-Anfragen finden Sie unter Zugriffssitzungen weiterleiten.

    • Servicerolle – Eine Servicerolle ist eine IAM-Rolle, die ein Service übernimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM-Administrator kann eine Servicerolle innerhalb von IAM erstellen, ändern und löschen. Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service im IAM-Benutzerhandbuch.

    • Dienstbezogene Rolle — Eine dienstbezogene Rolle ist eine Art von Servicerolle, die mit einer verknüpft ist. AWS-Service Der Service kann die Rolle übernehmen, um eine Aktion in Ihrem Namen auszuführen. Servicebezogene Rollen erscheinen in Ihrem Dienst AWS-Konto und gehören dem Dienst. Ein IAM-Administrator kann die Berechtigungen für Service-verknüpfte Rollen anzeigen, aber nicht bearbeiten.

  • Auf Amazon EC2 ausgeführte Anwendungen — Sie können eine IAM-Rolle verwenden, um temporäre Anmeldeinformationen für Anwendungen zu verwalten, die auf einer EC2-Instance ausgeführt werden und API-Anfragen stellen AWS CLI . AWS Das ist eher zu empfehlen, als Zugriffsschlüssel innerhalb der EC2-Instance zu speichern. Um einer EC2-Instance eine AWS Rolle zuzuweisen und sie allen ihren Anwendungen zur Verfügung zu stellen, erstellen Sie ein Instance-Profil, das an die Instance angehängt ist. Ein Instance-Profil enthält die Rolle und ermöglicht, dass Programme, die in der EC2-Instance ausgeführt werden, temporäre Anmeldeinformationen erhalten. Weitere Informationen finden Sie unter Verwenden einer IAM-Rolle zum Erteilen von Berechtigungen für Anwendungen, die auf Amazon-EC2-Instances ausgeführt werden im IAM-Benutzerhandbuch.

Informationen dazu, wann Sie IAM-Rollen oder IAM-Benutzer verwenden sollten, finden Sie unter Erstellen einer IAM-Rolle (anstatt eines Benutzers) im IAM-Benutzerhandbuch.

Verwalten des Zugriffs mit Richtlinien

Sie kontrollieren den Zugriff, AWS indem Sie Richtlinien erstellen und diese an AWS Identitäten oder Ressourcen anhängen. Eine Richtlinie ist ein Objekt, AWS das, wenn es einer Identität oder Ressource zugeordnet ist, deren Berechtigungen definiert. AWS wertet diese Richtlinien aus, wenn ein Prinzipal (Benutzer, Root-Benutzer oder Rollensitzung) eine Anfrage stellt. Berechtigungen in den Richtlinien bestimmen, ob die Anforderung zugelassen oder abgelehnt wird. Die meisten Richtlinien werden AWS als JSON-Dokumente gespeichert. Weitere Informationen zu Struktur und Inhalten von JSON-Richtliniendokumenten finden Sie unter Übersicht über JSON-Richtlinien im IAM-Benutzerhandbuch.

Administratoren können mithilfe von AWS JSON-Richtlinien angeben, wer auf was Zugriff hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Standardmäßig haben Benutzer, Gruppen und Rollen keine Berechtigungen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen. Der Administrator kann dann die IAM-Richtlinien zu Rollen hinzufügen, und Benutzer können die Rollen annehmen.

IAM-Richtlinien definieren Berechtigungen für eine Aktion unabhängig von der Methode, die Sie zur Ausführung der Aktion verwenden. Angenommen, es gibt eine Richtlinie, die Berechtigungen für die iam:GetRole-Aktion erteilt. Ein Benutzer mit dieser Richtlinie kann Rolleninformationen von der AWS Management Console AWS CLI, der oder der AWS API abrufen.

Identitätsbasierte Richtlinien

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die Sie einer Identität anfügen können, wie z. B. IAM-Benutzern, -Benutzergruppen oder -Rollen. Diese Richtlinien steuern, welche Aktionen die Benutzer und Rollen für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Identitätsbasierte Richtlinien können weiter als Inline-Richtlinien oder verwaltete Richtlinien kategorisiert werden. Inline-Richtlinien sind direkt in einen einzelnen Benutzer, eine einzelne Gruppe oder eine einzelne Rolle eingebettet. Verwaltete Richtlinien sind eigenständige Richtlinien, die Sie mehreren Benutzern, Gruppen und Rollen in Ihrem System zuordnen können AWS-Konto. Zu den verwalteten Richtlinien gehören AWS verwaltete Richtlinien und vom Kunden verwaltete Richtlinien. Informationen dazu, wie Sie zwischen einer verwalteten Richtlinie und einer eingebundenen Richtlinie wählen, finden Sie unter Auswahl zwischen verwalteten und eingebundenen Richtlinien im IAM-Benutzerhandbuch.

Ressourcenbasierte Richtlinien

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. Beispiele für ressourcenbasierte Richtlinien sind IAM-Rollen-Vertrauensrichtlinien und Amazon-S3-Bucket-Richtlinien. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Für die Ressource, an welche die Richtlinie angehängt ist, legt die Richtlinie fest, welche Aktionen ein bestimmter Prinzipal unter welchen Bedingungen für diese Ressource ausführen kann. Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben. Zu den Prinzipalen können Konten, Benutzer, Rollen, Verbundbenutzer oder gehören. AWS-Services

Ressourcenbasierte Richtlinien sind Richtlinien innerhalb dieses Diensts. Sie können AWS verwaltete Richtlinien von IAM nicht in einer ressourcenbasierten Richtlinie verwenden.

Weitere Richtlinientypen

AWS unterstützt zusätzliche, weniger verbreitete Richtlinientypen. Diese Richtlinientypen können die maximalen Berechtigungen festlegen, die Ihnen von den häufiger verwendeten Richtlinientypen erteilt werden können.

  • Berechtigungsgrenzen – Eine Berechtigungsgrenze ist ein erweitertes Feature, mit der Sie die maximalen Berechtigungen festlegen können, die eine identitätsbasierte Richtlinie einer IAM-Entität (IAM-Benutzer oder -Rolle) erteilen kann. Sie können eine Berechtigungsgrenze für eine Entität festlegen. Die daraus resultierenden Berechtigungen sind der Schnittpunkt der identitätsbasierten Richtlinien einer Entität und ihrer Berechtigungsgrenzen. Ressourcenbasierte Richtlinien, die den Benutzer oder die Rolle im Feld Principal angeben, werden nicht durch Berechtigungsgrenzen eingeschränkt. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft. Weitere Informationen über Berechtigungsgrenzen finden Sie unter Berechtigungsgrenzen für IAM-Entitäten im IAM-Benutzerhandbuch.

  • Service Control Policies (SCPs) — SCPs sind JSON-Richtlinien, die die maximalen Berechtigungen für eine Organisation oder Organisationseinheit (OU) in festlegen. AWS Organizations AWS Organizations ist ein Dienst zur Gruppierung und zentralen Verwaltung mehrerer Objekte AWS-Konten , die Ihrem Unternehmen gehören. Wenn Sie innerhalb einer Organisation alle Features aktivieren, können Sie Service-Kontrollrichtlinien (SCPs) auf alle oder einzelne Ihrer Konten anwenden. Das SCP schränkt die Berechtigungen für Entitäten in Mitgliedskonten ein, einschließlich der einzelnen Entitäten. Root-Benutzer des AWS-Kontos Weitere Informationen zu Organizations und SCPs finden Sie unter Funktionsweise von SCPs im AWS Organizations -Benutzerhandbuch.

  • Sitzungsrichtlinien – Sitzungsrichtlinien sind erweiterte Richtlinien, die Sie als Parameter übergeben, wenn Sie eine temporäre Sitzung für eine Rolle oder einen verbundenen Benutzer programmgesteuert erstellen. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der auf der Identität des Benutzers oder der Rolle basierenden Richtlinien und der Sitzungsrichtlinien. Berechtigungen können auch aus einer ressourcenbasierten Richtlinie stammen. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft. Weitere Informationen finden Sie unter Sitzungsrichtlinien im IAM-Benutzerhandbuch.

Die CodePipeline Servicerolle verwalten

Die CodePipeline Servicerolle ist mit einer oder mehreren Richtlinien konfiguriert, die den Zugriff auf die von der Pipeline verwendeten AWS Ressourcen steuern. Möglicherweise möchten Sie dieser Rolle weitere Richtlinien zuordnen, die der Rolle zugeordnete Richtlinie bearbeiten oder Richtlinien für andere Servicerollen in konfigurieren AWS. Sie können auch einer Rolle eine Richtlinie anfügen, wenn Sie den kontenübergreifenden Zugriff auf Ihre Pipeline konfigurieren.

Wichtig

Das Modifizieren einer Richtlinienanweisung oder Anfügen einer weiteren Richtlinie zur Rolle kann Pipelines funktionsunfähig machen. Stellen Sie sicher, dass Sie die Auswirkungen verstehen, bevor Sie die Servicerolle für CodePipeline in irgendeiner Weise ändern. Sie sollten Ihre Pipelines nach Durchführung von Änderungen an der Servicerolle unbedingt testen.

Anmerkung

In der Konsole werden Servicerollen, die vor September 2018 erstellt wurden, mit dem Namen oneClick_AWS-CodePipeline-Service_ID-Number erstellt.

Servicerollen, die nach September 2018 erstellt wurden, verwenden das Namensformat der Servicerolle AWSCodePipelineServiceRole-Region-Pipeline_Name. Bei einer Pipeline mit dem Namen MyFirstPipeline in eu-west-2 benennt die Konsole beispielsweise die Rolle und die RichtlinieAWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline.

Entfernen von Berechtigungen aus der CodePipeline-Servicerolle

Sie können die Servicerollenanweisung entsprechend bearbeiten, um den Zugriff auf ungenutzte Ressourcen zu entfernen. Wenn beispielsweise keine Ihrer Pipelines Elastic Beanstalk enthält, können Sie die Richtlinienerklärung bearbeiten, um den Abschnitt zu entfernen, der Zugriff auf Elastic Beanstalk Beanstalk-Ressourcen gewährt.

Ebenso können Sie, wenn keine Ihrer Pipelines Folgendes beinhaltet CodeDeploy, die Richtlinienerklärung bearbeiten, um den Abschnitt zu entfernen, der Zugriff auf Ressourcen gewährt: CodeDeploy

{ "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*", "Effect": "Allow" },

Hinzufügen von Berechtigungen zur CodePipeline-Servicerolle

Bevor Sie sie in Ihren Pipelines verwenden können, müssen Sie Ihre Diensterollen-Richtlinienerklärung mit den Berechtigungen für eine Richtlinie aktualisieren, die noch AWS-Service nicht in der Standardeinstellung enthalten ist.

Dies ist besonders wichtig, wenn die Servicerolle, die Sie für Ihre Pipelines verwenden, erstellt wurde, bevor der Support CodePipeline für eine hinzugefügt wurde. AWS-Service

Die folgende Tabelle zeigt, wann Unterstützung für andere AWS-Services hinzugefügt wurde.

AWS-Service CodePipeline Datum der Unterstützung
AWS CloudFormation StackSets Aktionen 30. Dezember 2020
CodeCommit vollständiges Klon-Ausgabeartefaktformat 11. November 2020
CodeBuild Batch-Builds 30. Juli 2020
AWS AppConfig 22. Juni 2020
AWS Step Functions 27. Mai 2020
AWS CodeStar Verbindungen 18. Dezember 2019
CodeDeployToECS-Aktion 27. November 2018
Amazon ECR 27. November 2018
Servicekatalog 16. Oktober 2018
AWS Device Farm 19. Juli 2018
Amazon ECS 12. Dezember 2017/Update für die Anmeldung zur Autorisierung von Tagging am 21. Juli 2017
CodeCommit 18. April 2016
AWS OpsWorks 2. Juni 2016
AWS CloudFormation 3. November 2016
AWS CodeBuild 1. Dezember 2016
Elastic Beanstalk Erster Start des Dienstes

Gehen Sie folgendermaßen vor, um Berechtigungen für einen unterstützten Service hinzuzufügen:

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie in der IAM-Konsole im Navigationsbereich Rollen und dann Ihre AWS-CodePipeline-Service Rolle aus der Rollenliste aus.

  3. Wählen Sie auf der Registerkarte Berechtigungen unter Inline-Richtlinien in der Zeile für Ihre Servicerollenrichtlinie die Option Richtlinie bearbeiten aus.

  4. Fügen Sie die erforderlichen Berechtigungen im Feld Richtliniendokument hinzu.

    Anmerkung

    Beachten Sie bei der Erstellung von IAM-Richtlinien die standardmäßigen Sicherheitsempfehlungen zur Gewährung von geringsten Rechten, d. h. gewähren Sie nur die für die Ausführung einer Aufgabe erforderlichen Berechtigungen. Einige API-Aufrufe unterstützen ressourcenbasierte Berechtigungen und lassen Zugriffseinschränkungen zu. In diesem Fall können Sie beispielsweise das Platzhalterzeichen (*) durch einen Ressourcen-ARN oder durch einen Ressourcen-ARN, der einen Platzhalter (*) enthält, ersetzen, um die Berechtigungen beim Aufrufen von DescribeTasks und ListTasks einzuschränken. Weitere Informationen zum Erstellen einer Richtlinie, die den Zugriff mit den geringsten Rechten gewährt, finden Sie unter. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

    Wenn Sie CodeCommit Unterstützung benötigen, fügen Sie Ihrer Richtlinienerklärung beispielsweise Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive" ], "Resource": "resource_ARN" },

    Wenn Sie AWS OpsWorks Unterstützung benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "opsworks:CreateDeployment", "opsworks:DescribeApps", "opsworks:DescribeCommands", "opsworks:DescribeDeployments", "opsworks:DescribeInstances", "opsworks:DescribeStacks", "opsworks:UpdateApp", "opsworks:UpdateStack" ], "Resource": "resource_ARN" },

    Wenn Sie AWS CloudFormation Unterstützung benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "iam:PassRole" ], "Resource": "resource_ARN" },

    Beachten Sie, dass die cloudformation:DescribeStackEvents Genehmigung optional ist. Dadurch kann die AWS CloudFormation Aktion eine detailliertere Fehlermeldung anzeigen. Diese Berechtigung kann der IAM-Rolle entzogen werden, wenn Sie nicht möchten, dass Ressourcendetails in den Pipeline-Fehlermeldungen auftauchen. Weitere Informationen finden Sie unter AWS CloudFormation.

    Wenn Sie CodeBuild Unterstützung benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "resource_ARN" },
    Anmerkung

    Die Support für Batch-Builds wurde zu einem späteren Zeitpunkt hinzugefügt. Informationen zu den Berechtigungen zum Hinzufügen der Servicerolle für Batch-Builds finden Sie in Schritt 11.

    Wenn Sie AWS Device Farm Unterstützung benötigen, fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "resource_ARN" },

    Wenn Sie Service Catalog-Support benötigen, fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "servicecatalog:ListProvisioningArtifacts", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:DescribeProvisioningArtifact", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:UpdateProduct" ], "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": [ "cloudformation:ValidateTemplate" ], "Resource": "resource_ARN" }
  5. Für Amazon ECR-Support fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "ecr:DescribeImages" ], "Resource": "resource_ARN" },
  6. Für Amazon ECS sind die folgenden Mindestberechtigungen aufgeführt, die zum Erstellen von Pipelines mit einer Amazon ECS-Bereitstellungsaktion erforderlich sind.

    { "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:UpdateService" ], "Resource": "resource_ARN" },

    Sie können sich für die Verwendung der Tagging-Autorisierung in Amazon ECS entscheiden. Wenn Sie sich anmelden, müssen Sie die folgenden Berechtigungen erteilen:. ecs:TagResource Weitere Informationen darüber, wie Sie sich anmelden und feststellen können, ob die Genehmigung erforderlich ist und die Tag-Autorisierung durchgesetzt wird, finden Sie unter Zeitplan für die Tagging-Autorisierung im Amazon Elastic Container Service Developer Guide.

    Sie müssen auch die iam:PassRole Berechtigungen hinzufügen, um IAM-Rollen für Aufgaben verwenden zu können. Weitere Informationen finden Sie unter IAM-Rolle für die Ausführung von Amazon ECS-Aufgaben und IAM-Rollen für Aufgaben. Verwenden Sie den folgenden Richtlinientext.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }
  7. Für die CodeDeployToECS Aktion (blaue/grüne Bereitstellungen) sind die folgenden Mindestberechtigungen erforderlich, um Pipelines mit einer blauen/grünen Bereitstellungsaktion CodeDeploy zu Amazon ECS zu erstellen.

    { "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetDeployment", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:GetDeploymentConfig", "ecs:RegisterTaskDefinition", "ecs:TagResource" ], "Resource": "resource_ARN" },

    Sie können sich für die Verwendung der Tagging-Autorisierung in Amazon ECS entscheiden. Wenn Sie sich anmelden, müssen Sie die folgenden Berechtigungen erteilen:. ecs:TagResource Weitere Informationen darüber, wie Sie sich anmelden und feststellen können, ob die Genehmigung erforderlich ist und die Tag-Autorisierung durchgesetzt wird, finden Sie unter Zeitplan für die Tagging-Autorisierung im Amazon Elastic Container Service Developer Guide.

    Sie müssen auch die iam:PassRole Berechtigungen hinzufügen, um IAM-Rollen für Aufgaben verwenden zu können. Weitere Informationen finden Sie unter IAM-Rolle für die Ausführung von Amazon ECS-Aufgaben und IAM-Rollen für Aufgaben. Verwenden Sie den folgenden Richtlinientext.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }

    Sie können der Liste der Dienste unter der iam:PassedToService Bedingung auch etwas hinzufügenecs-tasks.amazonaws.com, wie in diesem Beispiel gezeigt.

    { "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "resource_ARN", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "cloudformation.amazonaws.com", "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } },
  8. Für AWS CodeStar Verbindungen ist die folgende Berechtigung erforderlich, um Pipelines mit einer Quelle zu erstellen, die eine Verbindung verwendet, z. B. Bitbucket Cloud.

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "resource_ARN" },

    Weitere Informationen zu den IAM-Berechtigungen für Verbindungen findest du unter Referenz zu Verbindungsberechtigungen.

  9. Für die StepFunctions Aktion sind die folgenden Mindestberechtigungen aufgeführt, die zum Erstellen von Pipelines mit einer Aktion zum Aufrufen von Step Functions erforderlich sind.

    { "Effect": "Allow", "Action": [ "states:DescribeStateMachine", "states:DescribeExecution", "states:StartExecution" ], "Resource": "resource_ARN" },
  10. Für die AppConfig Aktion sind die folgenden Mindestberechtigungen aufgeführt, die zum Erstellen von Pipelines mit einer AWS AppConfig Aufrufaktion erforderlich sind.

    { "Effect": "Allow", "Action": [ "appconfig:StartDeployment", "appconfig:GetDeployment", "appconfig:StopDeployment" ], "Resource": "resource_ARN" },
  11. Wenn Sie CodeBuild Unterstützung für Batch-Builds benötigen, fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuildBatches", "codebuild:StartBuildBatch" ], "Resource": "resource_ARN" },
  12. Für AWS CloudFormation StackSets Aktionen sind die folgenden Mindestberechtigungen erforderlich.

    • Für die CloudFormationStackSet Aktion fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "resource_ARN" },
    • Für die CloudFormationStackInstances Aktion fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "resource_ARN" },
  13. Wenn Sie CodeCommit Unterstützung für die Option „Vollständiges Klonen“ benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

    { "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": "resource_ARN" },
    Anmerkung

    Um sicherzustellen, dass für Ihre CodeBuild Aktion die Option „Vollständiges Klonen“ mit einer CodeCommit Quelle verwendet werden kann, müssen Sie der Richtlinienerklärung auch die codecommit:GitPull entsprechende Berechtigung für die CodeBuild Servicerolle Ihres Projekts hinzufügen.

  14. Für Elastic Beanstalk sind die folgenden Mindestberechtigungen für die Erstellung von Pipelines mit einer ElasticBeanstalk Bereitstellungsaktion erforderlich.

    { "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "resource_ARN" },
    Anmerkung

    Sie sollten Platzhalter in der Ressourcenrichtlinie durch die Ressourcen für das Konto ersetzen, auf das Sie den Zugriff beschränken möchten. Weitere Informationen zum Erstellen einer Richtlinie, die den Zugriff mit den geringsten Rechten gewährt, finden Sie unter. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

  15. Für eine Pipeline, die Sie für CloudWatch Logs konfigurieren möchten, sind die folgenden Mindestberechtigungen aufgeführt, die Sie der Servicerolle hinzufügen müssen. CodePipeline

    { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "resource_ARN" },
    Anmerkung

    Sie sollten Platzhalter in der Ressourcenrichtlinie durch die Ressourcen für das Konto ersetzen, auf das Sie den Zugriff beschränken möchten. Weitere Informationen zum Erstellen einer Richtlinie, die den Zugriff mit den geringsten Rechten gewährt, finden Sie unter. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

  16. Wählen Sie Review policy, um sicherzustellen, dass die Richtlinie keine Fehler enthält. Wenn die Richtlinie fehlerfrei ist, wählen Sie Richtlinie anwenden.