Wie AWS CodeDeploy funktioniert mit IAM - AWS CodeDeploy

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.

Wie AWS CodeDeploy funktioniert mit IAM

Bevor Sie IAM den Zugriff auf verwalten CodeDeploy, sollten Sie sich darüber im Klaren sein, mit welchen IAM Funktionen Sie diese verwenden können CodeDeploy. Weitere Informationen finden Sie IAM im IAMBenutzerhandbuch unter AWS Dienste, mit denen funktioniert.

Identitätsbasierte CodeDeploy-Richtlinien

Mit IAM identitätsbasierten Richtlinien können Sie zulässige oder verweigerte Aktionen und Ressourcen sowie die Bedingungen angeben, unter denen Aktionen zugelassen oder verweigert werden. CodeDeploy unterstützt Aktionen, Ressourcen und Bedingungsschlüssel. Informationen zu den Elementen, die Sie in einer JSON Richtlinie verwenden, finden Sie in der Referenz zu den IAM JSON Richtlinienelementen im IAMBenutzerhandbuch.

Aktionen

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

Das Action Element einer JSON Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Richtlinienaktionen haben normalerweise denselben Namen wie der zugehörige AWS API Vorgang. Es gibt einige Ausnahmen, z. B. Aktionen, für die nur eine Genehmigung erforderlich ist und für die es keinen entsprechenden Vorgang gibt. API Es gibt auch einige Operationen, die mehrere Aktionen in einer Richtlinie erfordern. Diese zusätzlichen Aktionen werden als abhängige Aktionen bezeichnet.

Schließen Sie Aktionen in eine Richtlinie ein, um Berechtigungen zur Durchführung der zugeordneten Operation zu erteilen.

Bei Richtlinienaktionen wird das codedeploy: Präfix vor der Aktion CodeDeploy verwendet. Die codedeploy:GetApplication-Berechtigung erteilt dem Benutzer zum Beispiel Berechtigungen zum Ausführen der GetApplication-Operation. Richtlinienerklärungen müssen Action entweder ein NotAction Oder-Element enthalten. CodeDeploy definiert eigene Aktionen, die Aufgaben beschreiben, die Sie mit diesem Dienst ausführen können.

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:

"Action": [ "codedeploy:action1", "codedeploy:action2"

Sie können auch Platzhalter verwenden, um mehrere Aktionen anzugeben. Beispielsweise können Sie die folgende Aktion zur Angabe aller Aktionen einschließen, die mit dem Wort Describe beginnen:

"Action": "ec2:Describe*"

Eine Liste der CodeDeploy Aktionen finden Sie AWS CodeDeploy im IAMBenutzerhandbuch unter Definierte Aktionen von.

Eine Tabelle, in der alle CodeDeploy API Aktionen und die Ressourcen aufgeführt sind, für die sie gelten, finden Sie unterReferenz für CodeDeploy-Berechtigungen.

Ressourcen

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

Das Resource JSON Richtlinienelement gibt das Objekt oder die Objekte an, für die die Aktion gilt. Anweisungen müssen entweder ein – Resourceoder ein NotResource-Element enthalten. Es hat sich bewährt, eine Ressource mit ihrem Amazon-Ressourcennamen (ARN) anzugeben. Sie können dies für Aktionen tun, die einen bestimmten Ressourcentyp unterstützen, der als Berechtigungen auf Ressourcenebene bezeichnet wird.

Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, z. B. Auflistungsoperationen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

"Resource": "*"

Sie können beispielsweise eine Bereitstellungsgruppe angeben (myDeploymentGroup) in Ihrer Erklärung ARN wie folgt verwenden:

"Resource": "arn:aws:codedeploy:us-west-2:123456789012:deploymentgroup:myApplication/myDeploymentGroup"

Sie können auch alle Bereitstellungsgruppen angeben, die zu einem Konto gehören, indem Sie das Platzhalterzeichen (*) wie folgt verwenden:

"Resource": "arn:aws:codedeploy:us-west-2:123456789012:deploymentgroup:*"

Um alle Ressourcen anzugeben oder falls eine API Aktion dies nicht unterstütztARNs, verwenden Sie das Platzhalterzeichen (*) im Resource Element wie folgt:

"Resource": "*"

Einige CodeDeploy API Aktionen akzeptieren mehrere Ressourcen (z. B.BatchGetDeploymentGroups). Um mehrere Ressourcen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt ARNs durch Kommas:

"Resource": ["arn1", "arn2"]

CodeDeploy bietet eine Reihe von Operationen für die Arbeit mit den CodeDeploy Ressourcen. Eine Liste der verfügbaren Operationen finden Sie unter Referenz für CodeDeploy-Berechtigungen.

Eine Liste der CodeDeploy Ressourcentypen und ihrer ARNs Eigenschaften finden Sie unter Resources Defined by AWS CodeDeploy im IAMBenutzerhandbuch. Informationen zu den Aktionen, in denen Sie die einzelnen Ressourcen angeben können, finden Sie unter Aktionen, die ARN definiert von sind AWS CodeDeploy.

CodeDeploy Ressourcen und Operationen

CodeDeployIn ist die primäre Ressource eine Bereitstellungsgruppe. In einer Richtlinie verwenden Sie einen Amazon-Ressourcennamen (ARN), um die Ressource zu identifizieren, für die die Richtlinie gilt. CodeDeploy unterstützt andere Ressourcen, die mit Bereitstellungsgruppen verwendet werden können, einschließlich Anwendungen, Bereitstellungskonfigurationen und Instances. Diese werden als Unterressourcen bezeichnet. Diesen Ressourcen und Unterressourcen sind eindeutige Merkmale ARNs zugeordnet. Weitere Informationen finden Sie unter Amazon-Ressourcennamen (ARNs) in der Allgemeine Amazon Web Services-Referenz.

Ressourcentyp ARNformatieren
Bereitstellungsgruppe

arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name

Anwendung

arn:aws:codedeploy:region:account-id:application:application-name

Bereitstellungskonfiguration

arn:aws:codedeploy:region:account-id:deploymentconfig:deployment-configuration-name

Instance

arn:aws:codedeploy:region:account-id:instance/instance-ID

Alle CodeDeploy Ressourcen

arn:aws:codedeploy:*

Alle CodeDeploy Ressourcen, die dem angegebenen Konto in der angegebenen Region gehören

arn:aws:codedeploy:region:account-id:*

Anmerkung

Die meisten Dienste in AWS behandeln einen Doppelpunkt (:) oder einen Schrägstrich (/) als dasselbe Zeichen inARNs. CodeDeploy Verwendet jedoch eine exakte Übereinstimmung in den Ressourcenmustern und Regeln. Achten Sie darauf, dass Sie beim Erstellen von Ereignismustern die richtigen ARN Zeichen verwenden, damit sie der ARN Syntax in der Ressource entsprechen.

Bedingungsschlüssel

CodeDeploy stellt keine dienstspezifischen Bedingungsschlüssel bereit, unterstützt aber die Verwendung einiger globaler Bedingungsschlüssel. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Kontexttasten für AWS globale Bedingungen.

Beispiele

Beispiele für CodeDeploy identitätsbasierte Richtlinien finden Sie unter. AWS CodeDeploy Beispiele für identitätsbasierte -Richtlinien

CodeDeploy ressourcenbasierte Richtlinien

CodeDeploy unterstützt keine ressourcenbasierten Richtlinien. Ein Beispiel für eine detaillierte Seite mit ressourcenbasierten Richtlinien finden Sie unter Verwenden ressourcenbasierter Richtlinien für. AWS Lambda

Autorisierung auf der Basis von CodeDeploy -Tags

CodeDeploy unterstützt das Markieren von Ressourcen oder das Steuern des Zugriffs anhand von Tags nicht.

CodeDeploy IAMRollen

Eine IAMRolle ist eine Entität in Ihrem AWS Konto, die über bestimmte Berechtigungen verfügt.

Verwenden temporärer Anmeldeinformationen mit CodeDeploy

Sie können temporäre Anmeldeinformationen verwenden, um sich beim Verband anzumelden, eine IAM Rolle anzunehmen oder eine kontoübergreifende Rolle anzunehmen. Sie erhalten temporäre Sicherheitsanmeldedaten, indem Sie AWS STS API Operationen wie AssumeRoleoder GetFederationTokenaufrufen.

CodeDeploy unterstützt die Verwendung temporärer Anmeldeinformationen.

Service-verknüpfte Rollen

CodeDeploy unterstützt keine dienstbezogenen Rollen.

Servicerollen

Dieses Feature ermöglicht einem Service das Annehmen einer Servicerolle in Ihrem Namen. Diese Rolle gewährt dem Service Zugriff auf Ressourcen in anderen Diensten, um eine Aktion in Ihrem Namen auszuführen. Servicerollen werden in Ihrem AWS Konto angezeigt und gehören dem Konto. Das bedeutet, dass ein Benutzer die Berechtigungen für diese Rolle ändern kann. Dies kann jedoch die Funktionalität des Dienstes beeinträchtigen.

CodeDeploy unterstützt Servicerollen.

Auswahl einer IAM Rolle in CodeDeploy

Wenn Sie eine Bereitstellungsgruppenressource in erstellen CodeDeploy, müssen Sie eine Rolle auswählen, um in Ihrem Namen EC2 auf Amazon zugreifen CodeDeploy zu können. Wenn Sie zuvor eine Servicerolle oder eine serviceverknüpfte Rolle erstellt haben, wird CodeDeploy Ihnen eine Liste mit Rollen angezeigt, aus denen Sie wählen können. Es ist wichtig, eine Rolle auszuwählen, die den Zugriff auf das Starten und Stoppen von EC2 Instances ermöglicht.