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 AWS Ressourcen sicher zu 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.
Themen
- Zielgruppe
- Authentifizierung mit Identitäten
- Verwalten des Zugriffs mit Richtlinien
- Wie AWS CodePipeline funktioniert mit IAM
- AWS CodePipeline Beispiele für identitätsbasierte -Richtlinien
- Beispiele für eine ressourcenbasierte AWS CodePipeline -Richtlinie
- Fehlerbehebung für AWS CodePipeline -Identität und -Zugriff
- CodePipeline Referenz zu Berechtigungen
- Die CodePipeline Servicerolle verwalten
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 Funktionsweise der Zugriffskontrolle nachvollziehen, wissen Sie bereits, welche Berechtigungen Sie von Ihrem Administrator anfordern müssen. Unter Fehlerbehebung für AWS CodePipeline -Identität und -Zugriff finden Sie nützliche Informationen für den Fall, dass Sie keinen Zugriff auf eine Feature in CodePipeline haben.
Serviceadministrator — Wenn Sie in Ihrem Unternehmen für die 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. Anschließend müssen Sie Anforderungen an Ihren IAM-Administrator senden, um die Berechtigungen der Servicebenutzer 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 als IAM-Administrator fungieren, sollten Sie Einzelheiten dazu kennen, wie Sie Richtlinien zur Verwaltung des Zugriffs auf CodePipeline verfassen können. 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 für die Selbstsignierung von Anforderungen finden Sie unter AWS Signature Version 4 für API-Anforderungen im IAM-Benutzerhandbuch.
Unabhängig von der verwendeten Authentifizierungsmethode müssen Sie möglicherweise zusätzliche Sicherheitsinformationen bereitstellen. 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 AWS Multi-Faktor-Authentifizierung (MFA) in IAM 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. Verwenden Sie diese nur, 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 eine Gruppe benennen IAMAdminsund dieser Gruppe Berechtigungen zur Verwaltung 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 Anwendungsfälle für IAM-Benutzer im IAM-Benutzerhandbuch.
IAM-Rollen
Eine IAM-Rolle ist eine Identität innerhalb von Ihnen AWS-Konto , die über bestimmte Berechtigungen verfügt. Sie ist einem IAM-Benutzer vergleichbar, jedoch nicht mit einer bestimmten Person verknüpft. Um vorübergehend eine IAM-Rolle in der zu übernehmen AWS Management Console, können Sie von einer Benutzer- zu einer IAM-Rolle (Konsole) 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 Methoden für die Übernahme einer Rolle 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 (Verbund) 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 Kontoübergreifender Ressourcenzugriff in IAM im IAM-Benutzerhandbuch.
-
Serviceübergreifender Zugriff — Einige AWS-Services verwenden Funktionen in anderen AWS-Services. Wenn Sie beispielsweise einen Service aufrufen, ist es üblich, dass dieser Service Anwendungen in Amazon ausführt EC2 oder Objekte in Amazon S3 speichert. 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 ausgeführte Anwendungen EC2 — 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 AWS API-Anfragen stellen AWS CLI . Dies ist dem Speichern von Zugriffsschlüsseln innerhalb der EC2 Instance vorzuziehen. Um einer EC2 Instanz eine AWS Rolle zuzuweisen und sie allen ihren Anwendungen zur Verfügung zu stellen, erstellen Sie ein Instanzprofil, das an die Instanz angehängt ist. Ein Instanzprofil enthält die Rolle und ermöglicht Programmen, die auf der EC2 Instanz ausgeführt werden, temporäre Anmeldeinformationen abzurufen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Verwenden einer IAM-Rolle, um Berechtigungen für Anwendungen zu gewähren, die auf EC2 Amazon-Instances ausgeführt werden.
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. Die Berechtigungen in den Richtlinien legen fest, ob eine 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 heißt, welcher Prinzipal Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen kann.
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 Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten 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 Inline-Richtlinie wählen, finden Sie unter Auswählen 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. -
Dienststeuerungsrichtlinien (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 alle Funktionen in einer Organisation aktivieren, können Sie Richtlinien zur Servicesteuerung (SCPs) auf einige oder alle Ihre Konten anwenden. Das SCP schränkt die Berechtigungen für Entitäten in Mitgliedskonten ein, einschließlich der einzelnen Root-Benutzer des AWS-Kontos Entitäten. Weitere Informationen zu Organizations und SCPs finden Sie unter Richtlinien zur Servicesteuerung im AWS Organizations Benutzerhandbuch.
-
Ressourcenkontrollrichtlinien (RCPs) — RCPs sind JSON-Richtlinien, mit denen Sie die maximal verfügbaren Berechtigungen für Ressourcen in Ihren Konten festlegen können, ohne die IAM-Richtlinien aktualisieren zu müssen, die jeder Ressource zugeordnet sind, deren Eigentümer Sie sind. Das RCP schränkt die Berechtigungen für Ressourcen in Mitgliedskonten ein und kann sich auf die effektiven Berechtigungen für Identitäten auswirken, einschließlich der Root-Benutzer des AWS-Kontos, unabhängig davon, ob sie zu Ihrer Organisation gehören. Weitere Informationen zu Organizations RCPs, einschließlich einer Liste AWS-Services dieser Support-Leistungen RCPs, finden Sie unter Resource Control Policies (RCPs) 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_
erstellt.ID-Number
Servicerollen, die nach September 2018 erstellt wurden, verwenden das Namensformat der Servicerolle AWSCodePipelineServiceRole-
. Bei einer Pipeline mit dem Namen Region
-Pipeline_Name
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 |
---|---|
ECRBuildAndPublishAction Aktion Amazon Elastic Container Registry | 22. November 2024 |
InspectorScan Aktion von Amazon Inspector |
22. November 2024 |
Befiehlt Aktion | 03. Oktober 2024 |
AWS CloudFormation | 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:
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie in der IAM-Konsole im Navigationsbereich Rollen und dann Ihre
AWS-CodePipeline-Service
Rolle aus der Rollenliste aus. -
Wählen Sie auf der Registerkarte Berechtigungen unter Inline-Richtlinien in der Zeile für Ihre Servicerollenrichtlinie die Option Richtlinie bearbeiten aus.
-
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
undListTasks
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-privilegeWenn 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 Aktionsreferenz bereitstellen.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
" } -
Für Amazon ECR-Support fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:
{ "Effect": "Allow", "Action": [ "ecr:DescribeImages" ], "Resource": "
resource_ARN
" }, -
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
" ] } ] } -
Für die
CodeDeployToECS
Aktion (blue/green deployments), the following are the minimum permissions needed to create pipelines with a CodeDeploy to Amazon ECS blue/greenBereitstellungsaktion).{ "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" ] } } }, -
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
" }, -
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
" }, -
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
" }, -
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
" }, -
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
" },
-
-
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. -
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
-
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
-
Fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu, um die Aktion „Befehle“ zu unterstützen:
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME", "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*" ] }
Anmerkung
Beschränken Sie die Berechtigungen auf die Pipeline-Ressourcenebene, indem Sie ressourcenbasierte Berechtigungen in der Richtlinienanweisung für die Servicerolle verwenden. Weitere Informationen finden Sie im Richtlinienbeispiel unter. Richtlinienberechtigungen für die Servicerolle
-
Für die Unterstützung der
ECRBuildAndPublish
Aktion fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:{ "Statement": [ { "Sid": "ECRRepositoryAllResourcePolicy", "Effect": "Allow", "Action": [ "ecr:DescribeRepositories", "ecr:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "
PrivateECR_Resource_ARN
" }, { "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken", "ecr-public:DescribeRepositories", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload", "ecr-public:PutImage", "ecr-public:BatchCheckLayerAvailability", "sts:GetServiceBearerToken" ], "Resource": "PublicECR_Resource_ARN
" }, { "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" } ] }Fügen Sie Ihrer Servicerolle außerdem die folgenden Berechtigungen hinzu, um CloudWatch Protokolle anzeigen zu können, sofern diese noch nicht für die Aktion Befehle hinzugefügt wurden.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "
resource_ARN
" },Anmerkung
Beschränken Sie die Berechtigungen auf die Ebene der Pipeline-Ressourcen, indem Sie die ressourcenbasierten Berechtigungen in der Richtlinienanweisung für die Servicerolle verwenden.
-
Für die Unterstützung der
InspectorScan
Aktion fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:{ "Effect": "Allow", "Action": "inspector-scan:ScanSbom", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "
resource_ARN
" },Fügen Sie Ihrer Servicerolle außerdem die folgenden Berechtigungen hinzu, um CloudWatch Protokolle anzeigen zu können, sofern diese noch nicht für die Aktion Befehle hinzugefügt wurden.
{ "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "
resource_ARN
" },Anmerkung
Beschränken Sie die Berechtigungen auf die Ebene der Pipeline-Ressourcen, indem Sie die ressourcenbasierten Berechtigungen in der Richtlinienanweisung für die Servicerolle verwenden.
-
Wählen Sie Review policy, um sicherzustellen, dass die Richtlinie keine Fehler enthält. Wenn die Richtlinie fehlerfrei ist, wählen Sie Richtlinie anwenden aus.