AWS CodeDeploy Beispiele für identitätsbasierte -Richtlinien - 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.

AWS CodeDeploy Beispiele für identitätsbasierte -Richtlinien

Standardmäßig sind Benutzer nicht berechtigt, CodeDeploy Ressourcen zu erstellen oder zu ändern. Sie können auch keine Aufgaben mit der AWS Management Console AWS CLI, oder AWS API ausführen. Sie müssen IAM-Richtlinien erstellen, die IAM-Rollen die Erlaubnis gewähren, API-Operationen für die angegebenen Ressourcen auszuführen, die sie benötigen. Anschließend müssen Sie diese IAM-Rollen Benutzern oder Gruppen zuordnen, die diese Berechtigungen benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter Erstellen von Richtlinien auf der JSON-Registerkarte im IAM-Benutzerhandbuch.

In werden identitätsbasierte Richtlinien verwendet CodeDeploy, um die Berechtigungen für die verschiedenen Ressourcen im Zusammenhang mit dem Bereitstellungsprozess zu verwalten. Sie können den Zugriff auf die folgenden Ressourcentypen steuern:

  • Anwendungen und Anwendungsrevisionen

  • Bereitstellungen

  • Bereitstellungskonfigurationen

  • Instances und lokale Instances

Die von Ressourcenrichtlinien gesteuerten Funktionen variieren je nach Ressourcentyp, wie in der folgenden Tabelle dargestellt:

Ressourcentypen

Funktionen

Alle

Anzeigen und Auflisten von Details zu Ressourcen

Anwendungen

Bereitstellungskonfigurationen

Bereitstellungsgruppen

Erstellen von -Ressourcen

Löschen von Ressourcen

Bereitstellungen

Erstellen von Bereitstellungen

Stoppen von Bereitstellungen

Anwendungsrevisionen

Registrieren von Anwendungsrevisionen

Anwendungen

Bereitstellungsgruppen

Aktualisieren von Ressourcen

Lokale Instances

Hinzufügen von Tags zu Instances

Entfernen von Tags zu Instances

Registrieren von Instances

Abmelden von Instances

Das folgende Beispiel zeigt eine Berechtigungsrichtlinie, die es einem Benutzer gestattet, die Bereitstellungsgruppe mit dem Namen WordPress_DepGroup zu löschen, die der Anwendung WordPress_App in der Region us-west-2 zugeordnet ist.

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:DeleteDeploymentGroup" ], "Resource" : [ "arn:aws:codedeploy:us-west-2:444455556666:deploymentgroup:WordPress_App/WordPress_DepGroup" ] } ] }

Beispiele für vom Kunden verwaltete Richtlinien

In diesem Abschnitt finden Sie Beispielrichtlinien, die Berechtigungen für verschiedene CodeDeploy Aktionen gewähren. Diese Richtlinien funktionieren, wenn Sie die CodeDeploy API, AWS SDKs oder die AWS CLI verwenden. Sie müssen zusätzliche Berechtigungen für Aktionen erteilen, die Sie in der Konsole ausführen. Weitere Informationen zum Erteilen von Konsolenberechtigungen finden Sie unter Verwenden der CodeDeploy-Konsole.

Anmerkung

In allen Beispielen werden die Region USA West (Oregon) (us-west-2) und fiktive Konto-IDs verwendet.

Beispiele

Beispiel 1: Erlauben Sie die Erlaubnis, CodeDeploy Operationen in einer einzelnen Region auszuführen

Das folgende Beispiel gewährt Berechtigungen zur Durchführung von CodeDeploy Vorgängen nur in der us-west-2 Region:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:*" ], "Resource" : [ "arn:aws:codedeploy:us-west-2:444455556666:*" ] } ] }

Beispiel 2: Erlauben Sie die Erlaubnis, Revisionen für eine einzelne Anwendung zu registrieren

Das folgende Beispiel erteilt Berechtigungen zum Registrieren von Anwendungsrevisionen für alle Anwendungen, die mit Test in der Region us-west-2 beginnen:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:RegisterApplicationRevision" ], "Resource" : [ "arn:aws:codedeploy:us-west-2:444455556666:application:Test*" ] } ] }

Beispiel 3: Erlauben Sie die Erlaubnis, Bereitstellungen für eine einzelne Bereitstellungsgruppe zu erstellen

Das folgende Beispiel gewährt die Berechtigung zum Erstellen von Bereitstellungen für die angegebene Bereitstellungsgruppe, die mit der genannten Anwendung WordPress_DepGroup verknüpft istWordPress_App, für die angegebene benutzerdefinierte Bereitstellungskonfiguration und für alle AnwendungsversionenThreeQuartersHealthy, die mit der genannten Anwendung verknüpft sind. WordPress_App Alle diese Ressourcen befinden sich in der Region us-west-2.

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:CreateDeployment" ], "Resource" : [ "arn:aws:codedeploy:us-west-2:444455556666:deploymentgroup:WordPress_App/WordPress_DepGroup" ] }, { "Effect" : "Allow", "Action" : [ "codedeploy:GetDeploymentConfig" ], "Resource" : [ "arn:aws:codedeploy:us-west-2:444455556666:deploymentconfig:ThreeQuartersHealthy" ] }, { "Effect" : "Allow", "Action" : [ "codedeploy:GetApplicationRevision" ], "Resource" : [ "arn:aws:codedeploy:us-west-2:444455556666:application:WordPress_App" ] } ] }

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien legen fest, ob jemand CodeDeploy Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder sie löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Beginnen Sie mit AWS verwalteten Richtlinien und wechseln Sie zu Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um Ihren Benutzern und Workloads zunächst Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter AWS -verwaltete Richtlinien oder AWS -verwaltete Richtlinien für Auftrags-Funktionen im IAM-Benutzerhandbuch.

  • Anwendung von Berechtigungen mit den geringsten Rechten – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als die geringsten Berechtigungen. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.

  • Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

  • Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter Richtlinienvalidierung zum IAM Access Analyzer im IAM-Benutzerhandbuch.

  • Multi-Faktor-Authentifizierung (MFA) erforderlich — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter Konfigurieren eines MFA-geschützten API-Zugriffs im IAM-Benutzerhandbuch.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch.

Verwenden der CodeDeploy-Konsole

Wenn Sie die CodeDeploy Konsole verwenden, benötigen Sie ein Mindestmaß an Berechtigungen, die es Ihnen ermöglichen, andere AWS Ressourcen für Ihr Konto zu beschreiben. AWS Für die Verwendung CodeDeploy in der CodeDeploy Konsole benötigen Sie Berechtigungen für die folgenden Dienste:

  • Amazon EC2 Auto Scaling

  • AWS CodeDeploy

  • Amazon Elastic Compute Cloud

  • Elastic Load Balancing

  • AWS Identity and Access Management

  • Amazon Simple Storage Service

  • Amazon Simple Notification Service

  • Amazon CloudWatch

Wenn Sie eine IAM-Richtlinie erstellen, die restriktiver ist als die erforderlichen Mindestberechtigungen, funktioniert die Konsole für Benutzer, die eine Rolle mit dieser IAM-Richtlinie haben, nicht wie vorgesehen. Um sicherzustellen, dass diese Benutzer die CodeDeploy Konsole weiterhin verwenden können, fügen Sie die AWSCodeDeployReadOnlyAccess verwaltete Richtlinie außerdem der Rolle hinzu, die dem Benutzer zugewiesen wurde, wie unter beschrieben. AWS verwaltete (vordefinierte) Richtlinien für CodeDeploy

Sie müssen Benutzern, die nur die API AWS CLI oder die CodeDeploy API aufrufen, keine Mindestberechtigungen für die Konsole gewähren.

Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie umfasst Berechtigungen zum Ausführen dieser Aktion auf der Konsole oder programmgesteuert mithilfe der API AWS CLI oder AWS .

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }