Beispiele für identitätsbasierte Richtlinien (IAM) - AWS CodePipeline

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.

Beispiele für identitätsbasierte Richtlinien (IAM)

Richtlinien können IAM-Identitäten angefügt werden. Sie können z. B. Folgendes tun:

  • Ordnen Sie einem Benutzer oder einer Gruppe in Ihrem Konto eine Berechtigungsrichtlinie zu — Um einem Benutzer Berechtigungen zum Anzeigen von Pipelines in der CodePipeline Konsole zu gewähren, können Sie eine Berechtigungsrichtlinie an einen Benutzer oder eine Gruppe anhängen, zu der der Benutzer gehört.

  • Einer Rolle eine Berechtigungsrichtlinie zuweisen (kontoübergreifende Berechtigungen gewähren) – Sie können einer IAM-Rolle eine identitätsbasierte Berechtigungsrichtlinie zuweisen, um kontoübergreifende Berechtigungen zu erteilen. Der Administrator in Konto A kann beispielsweise AWS-Service wie folgt eine Rolle erstellen, um einem anderen Konto (z. B. AWS Konto B) kontenübergreifende Berechtigungen zu gewähren:

    1. Der Administrator von Konto A erstellt eine IAM-Rolle und fügt ihr eine Berechtigungsrichtlinie an, die Berechtigungen für Ressourcen in Konto A erteilt.

    2. Der Administrator von Konto A weist der Rolle eine Vertrauensrichtlinie zu, die Konto B als den Prinzipal identifiziert, der die Rolle übernehmen kann.

    3. Der Administrator von Konto B kann dann die Berechtigungen zur Übernahme der Rolle an alle Benutzer in Konto B delegieren. Auf diese Weise können Benutzer in Konto B Ressourcen in Konto A erstellen oder darauf zugreifen. Der Principal in der Vertrauensrichtlinie kann auch ein AWS-Service Principal sein, wenn Sie einem Benutzer die AWS-Service Rechte zur Übernahme der Rolle erteilen möchten.

    Weitere Informationen zum Delegieren von Berechtigungen mithilfe von IAM finden Sie unter Zugriffsverwaltung im IAM-Benutzerhandbuch.

Im Folgenden finden Sie ein Beispiel für eine Berechtigungsrichtlinie, die Berechtigungen zum Deaktivieren und Aktivieren von Übergängen zwischen allen Phasen in der Pipeline gewährt, die MyFirstPipeline us-west-2 region im folgenden aufgeführt sind:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codepipeline:EnableStageTransition", "codepipeline:DisableStageTransition" ], "Resource" : [ "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*" ] } ] }

Das folgende Beispiel zeigt eine Richtlinie im 111222333444-Konto, die es Benutzern ermöglicht, die in der Konsole angegebene MyFirstPipeline Pipeline anzuzeigen, aber nicht zu ändern. CodePipeline Diese Richtlinie basiert auf der verwalteten Richtlinie AWSCodePipeline_ReadOnlyAccess, aber da sie spezifisch für die Pipeline MyFirstPipeline gilt, kann sie die verwaltete Richtlinie nicht direkt verwenden. Wenn Sie die Richtlinie nicht auf eine bestimmte Pipeline beschränken möchten, sollten Sie in Erwägung ziehen, eine der verwalteten Richtlinien zu verwenden, die von erstellt und verwaltet wurden. CodePipeline Weitere Informationen finden Sie unter Arbeiten mit verwalteten Richtlinien. Sie müssen diese Richtlinie einer IAM-Rolle zuordnen, die Sie für den Zugriff erstellen, z. B. einer Rolle mit dem NamenCrossAccountPipelineViewers:

{ "Statement": [ { "Action": [ "codepipeline:GetPipeline", "codepipeline:GetPipelineState", "codepipeline:GetPipelineExecution", "codepipeline:ListPipelineExecutions", "codepipeline:ListActionExecutions", "codepipeline:ListActionTypes", "codepipeline:ListPipelines", "codepipeline:ListTagsForResource", "iam:ListRoles", "s3:ListAllMyBuckets", "codecommit:ListRepositories", "codedeploy:ListApplications", "lambda:ListFunctions", "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Effect": "Allow", "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline" }, { "Action": [ "codepipeline:GetPipeline", "codepipeline:GetPipelineState", "codepipeline:GetPipelineExecution", "codepipeline:ListPipelineExecutions", "codepipeline:ListActionExecutions", "codepipeline:ListActionTypes", "codepipeline:ListPipelines", "codepipeline:ListTagsForResource", "iam:ListRoles", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListBucket", "codecommit:ListBranches", "codedeploy:GetApplication", "codedeploy:GetDeploymentGroup", "codedeploy:ListDeploymentGroups", "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeEnvironments", "lambda:GetFunctionConfiguration", "opsworks:DescribeApps", "opsworks:DescribeLayers", "opsworks:DescribeStacks" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "CodeStarNotificationsReadOnlyAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codepipeline:*" } } } ], "Version": "2012-10-17" }

Nachdem Sie diese Richtlinie erstellt haben, erstellen Sie die IAM-Rolle im 111222333444-Konto und fügen Sie die Richtlinie dieser Rolle hinzu. Zu den Vertrauensstellungen der Rolle müssen Sie das AWS Konto hinzufügen, das diese Rolle übernehmen soll. Das folgende Beispiel zeigt eine Richtlinie, die es Benutzern des 111111111111-Kontos ermöglicht, Rollen anzunehmen, die im AWS 111222333444-Konto definiert sind:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:root" }, "Action": "sts:AssumeRole" } ] }

Das folgende Beispiel zeigt eine im 111111111111-Konto erstellte Richtlinie, die es Benutzern ermöglicht, die im 111222333444-Konto angegebene Rolle anzunehmen AWS : CrossAccountPipelineViewers

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111222333444:role/CrossAccountPipelineViewers" } ] }

Sie können IAM-Richtlinien erstellen, um die Anrufe und Ressourcen einzuschränken, auf die Benutzer in Ihrem Konto Zugriff haben, und diese Richtlinien dann Ihrem Administratorbenutzer zuordnen. Weitere Informationen zum Erstellen von IAM-Rollen und Beispiele für CodePipeline IAM-Richtlinienerklärungen finden Sie unter. Beispiele für vom Kunden verwaltete Richtlinien