Wie AWS CodeDeploy funktioniert mit IAM - AWS CodeDeploy

View a markdown version of this page

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 zur Verwaltung des Zugriffs auf verwenden CodeDeploy, sollten Sie sich darüber im Klaren sein, mit welchen IAM-Funktionen Sie diese verwenden können. CodeDeploy Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter AWS Dienste, die mit IAM funktionieren.

CodeDeploy identitätsbasierte Richtlinien

Mit identitätsbasierten IAM-Richtlinien können Sie zulässige oder verweigerte Aktionen und Ressourcen sowie die Bedingungen angeben, unter denen Aktionen zulässig 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 IAM-Benutzerhandbuch.

Aktionen

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

Das Element Action einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Nehmen Sie Aktionen in eine Richtlinie auf, um Berechtigungen zur Ausführung des zugehörigen Vorgangs zu gewähren.

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. Grundsatzerklärungen müssen entweder ein Action NotAction OR-Element enthalten. CodeDeploy definiert seinen 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 unter Aktionen, die von definiert wurden, AWS CodeDeploy im IAM-Benutzerhandbuch.

Eine Tabelle mit allen CodeDeploy API-Aktionen und den Ressourcen, für die sie gelten, finden Sie unterCodeDeploy Referenz zu den Berechtigungen.

Ressourcen

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

Das JSON-Richtlinienelement Resource gibt die Objekte an, auf welche die Aktion angewendet wird. Als Best Practice geben Sie eine Ressource mit dem zugehörigen Amazon-Ressourcennamen (ARN) an. Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

"Resource": "*"

Beispielsweise können Sie in Ihrer Anweisung eine Bereitstellungsgruppe (myDeploymentGroup) angeben, indem Sie deren 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:*"

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 Vorgängen für die Arbeit mit den CodeDeploy Ressourcen. Eine Liste der verfügbaren Operationen finden Sie unter CodeDeploy Referenz zu den Berechtigungen.

Eine Liste der CodeDeploy Ressourcentypen und ihrer ARNs finden Sie AWS CodeDeploy im IAM-Benutzerhandbuch unter Resources Defined by. Informationen zu den Aktionen, bei denen Sie den ARN jeder Ressource angeben können, finden Sie unter Aktionen definiert von. 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 Subressourcen sind eindeutige ARNs zugeordnet. Weitere Informationen finden Sie unter Amazon-Ressourcennamen (ARNs) im 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 (/) in ARNs als dasselbe Zeichen. 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 jedoch 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 ausführliche Seite mit ressourcenbasierten Richtlinien finden Sie unter Verwenden ressourcenbasierter Richtlinien für. AWS Lambda

CodeDeploy Autorisierung auf der Grundlage von Stichwörtern

CodeDeploy unterstützt nicht das Markieren von Ressourcen oder die Steuerung des Zugriffs auf der Grundlage von Stichwörtern.

CodeDeploy IAM-Rollen

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

Verwenden Sie temporäre 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 Sicherheitsanmeldeinformationen, indem Sie AWS STS API-Operationen wie AssumeRole oder aufrufen GetFederationToken.

CodeDeploy unterstützt die Verwendung temporärer Anmeldeinformationen.

Service-linked Rollen

CodeDeploy unterstützt keine dienstverknüpften 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, die Ihnen den CodeDeploy Zugriff auf Amazon EC2 in Ihrem Namen ermöglicht. Wenn Sie zuvor eine Servicerolle oder serviceverknüpfte Rolle erstellt haben, stellt Ihnen CodeDeploy eine Liste mit Rollen bereit, 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.