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 verwenden, um den Zugriff auf zu verwalten CodeDeploy, sollten Sie wissen, mit welchen IAM-Funktionen Sie verwenden können. CodeDeploy Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter AWS Dienste, die mit IAM funktionieren.

Identitätsbasierte CodeDeploy-Richtlinien

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen erteilt oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. CodeDeploy unterstützt Aktionen, Ressourcen und Bedingungsschlüssel. Informationen zu den Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie unter Referenz zu den IAM-JSON-Richtlinienelementen im IAM-Benutzerhandbuch.

Aktionen

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

Das Element Action 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, die nur mit Genehmigung durchgeführt werden können und für die es keinen passenden API-Vorgang gibt. 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 einen eigenen Satz von 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 IAM-Benutzerhandbuch unter Definierte Aktionen von.

Eine Tabelle mit einer Liste aller CodeDeploy API-Aktionen und der Ressourcen, 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 die Festlegung, welcher Prinzipal Aktionen für welche Ressourcen unter welchen Bedingungen ausführen kann.

Das JSON-Richtlinienelement Resource gibt die Objekte an, auf welche die Aktion angewendet wird. Anweisungen müssen entweder ein – Resourceoder ein NotResource-Element enthalten. Als bewährte Methode geben Sie eine Ressource mit dem zugehörigen Amazon-Ressourcennamen (ARN) an. 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 in Ihrer Anweisung beispielsweise eine Bereitstellungsgruppe (myDeploymentGroup) angeben, indem Sie ihren ARN wie folgt verwenden:

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

Sie können auch alle Bereitstellungsgruppen, die zu einem Konto gehören, mithilfe des Platzhalterzeichens (*) wie folgt angeben:

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

Wenn Sie alle Ressourcen angeben möchten oder wenn eine API-Aktion keine ARNs unterstützt, 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 die ARNs mit Komma, wie folgt:

"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 finden Sie unter Resources Defined by AWS CodeDeploy im IAM-Benutzerhandbuch. Informationen zu den Aktionen, in denen Sie den ARN jeder Ressource angeben können, finden Sie unter Aktionen Definiert von AWS CodeDeploy.

CodeDeploy Ressourcen und Operationen

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

Ressourcentyp ARN-Format
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 Ressourcen CodeDeploy

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 in ARNs. CodeDeploy Verwendet jedoch eine exakte Übereinstimmung in den Ressourcenmustern und Regeln. Verwenden Sie also die richtigen ARN-Zeichen zum Erstellen von Ereignismustern, sodass sie mit der ARN-Syntax in der Ressource übereinstimmen.

Bedingungsschlüssel

CodeDeploy stellt keine dienstspezifischen Bedingungsschlüssel bereit, unterstützt aber die Verwendung einiger globaler Bedingungsschlüssel. Weitere Informationen finden Sie unter Globale AWS -Bedingungskontextschlüssel im IAM-Benutzerhandbuch.

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 IAM-Rollen

Eine IAM-Rolle 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 über einen Verbund anzumelden, eine IAM-Rolle anzunehmen oder eine kontenübergreifende Rolle anzunehmen. Sie erhalten temporäre Sicherheitsanmeldedaten, indem Sie AWS STS API-Operationen wie AssumeRoleoder aufrufen GetFederationToken.

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, mit der Sie in Ihrem Namen auf Amazon EC2 zugreifen können CodeDeploy . Wenn Sie zuvor eine Servicerolle oder eine serviceverknüpfte Rolle erstellt haben, CodeDeploy erhalten Sie eine Liste mit Rollen, aus denen Sie wählen können. Es ist wichtig, eine Rolle zu wählen, die Zugriff zum Starten und Stoppen von EC2-Instances ermöglicht.