AWS Proton IAMBeispiele für Richtlinien für Servicerollen - AWS Proton

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 Proton IAMBeispiele für Richtlinien für Servicerollen

Administratoren besitzen und verwalten die Ressourcen, die AWS Proton erstellt werden, wie in der Umgebung und den Dienstvorlagen definiert. Sie ordnen ihrem Konto IAM Servicerollen zu, die AWS Proton es ermöglichen, Ressourcen in ihrem Namen zu erstellen. Administratoren stellen die IAM Rollen und AWS Key Management Service Schlüssel für Ressourcen bereit, die später den Entwicklern gehören und von diesen verwaltet werden AWS Proton , wenn sie ihre Anwendung als AWS Proton Dienst in einer AWS Proton Umgebung bereitstellen. Weitere Informationen AWS KMS zur Datenverschlüsselung finden Sie unterDatenschutz in AWS Proton.

Eine Servicerolle ist eine Amazon Web Services (IAM) -Rolle, mit der Sie Ressourcen in Ihrem Namen aufrufen können AWS Proton . Wenn Sie eine Service-Rolle festlegen, verwendet AWS Proton die Anmeldeinformationen der Rolle. Verwenden Sie eine Servicerolle, um explizit anzugeben, welche Aktionen ausgeführt AWS Proton werden können.

Sie erstellen die Servicerolle und die zugehörige Berechtigungsrichtlinie zusammen mit dem IAM Dienst. Weitere Informationen zum Erstellen einer Servicerolle finden Sie im IAMBenutzerhandbuch unter Erstellen einer Rolle zum Delegieren von Berechtigungen für einen AWS Dienst.

AWS Proton Servicerolle für die Bereitstellung mit AWS CloudFormation

Als Mitglied des Plattformteams können Sie als Administrator eine AWS Proton Servicerolle erstellen und sie bei der Erstellung einer Umgebung als CloudFormation Servicerolle der Umgebung bereitstellen (der protonServiceRoleArn Parameter der CreateEnvironmentAPIAktion). AWS Proton Diese Rolle ermöglicht es AWS Proton , in Ihrem Namen API Aufrufe an andere Dienste zu tätigen, wenn die Umgebung oder eine der darin ausgeführten Dienstinstanzen AWS verwaltetes Provisioning verwendet, und die Infrastruktur AWS CloudFormation bereitzustellen.

Wir empfehlen Ihnen, die folgende IAM Rollen- und Vertrauensrichtlinie für Ihre AWS Proton Servicerolle zu verwenden. Wenn Sie die AWS Proton Konsole verwenden, um eine Umgebung zu erstellen, und sich dafür entscheiden, eine neue Rolle zu erstellen, ist dies die Richtlinie, die zu der für Sie erstellten Servicerolle AWS Proton hinzugefügt wird. Wenn Sie den Umfang der Berechtigungen für diese Richtlinie einschränken, sollten Sie bedenken, dass sie bei Fehlern AWS Proton fehlschlägt. Access Denied

Wichtig

Beachten Sie, dass die in den folgenden Beispielen gezeigten Richtlinien jedem, der eine Vorlage für Ihr Konto registrieren kann, Administratorrechte gewähren. Da wir nicht wissen, welche Ressourcen Sie in Ihren AWS Proton Vorlagen definieren werden, verfügen diese Richtlinien über umfassende Zugriffsrechte. Wir empfehlen, dass Sie die Berechtigungen auf die spezifischen Ressourcen beschränken, die in Ihren Umgebungen bereitgestellt werden.

Ersetze es 123456789012 durch deine AWS-Konto ID.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CancelUpdateStack", "cloudformation:ContinueUpdateRollback", "cloudformation:CreateChangeSet", "cloudformation:CreateStack", "cloudformation:DeleteChangeSet", "cloudformation:DeleteStack", "cloudformation:DescribeChangeSet", "cloudformation:DescribeStackDriftDetectionStatus", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResourceDrifts", "cloudformation:DescribeStacks", "cloudformation:DetectStackResourceDrift", "cloudformation:ExecuteChangeSet", "cloudformation:ListChangeSets", "cloudformation:ListStackResources", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:*:123456789012:stack/AWSProton-*" }, { "Effect": "Allow", "NotAction": [ "organizations:*", "account:*" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "cloudformation.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "organizations:DescribeOrganization", "account:ListRegions" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "cloudformation.amazonaws.com" ] } } } ] }
{ "Version": "2012-10-17", "Statement": { "Sid": "ServiceTrustRelationshipWithConfusedDeputyPrevention", "Effect": "Allow", "Principal": { "Service": "proton.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws::proton:*:123456789012:environment/*" } } } }

Im Folgenden finden Sie ein Beispiel für eine AWS Proton Servicerollenrichtlinie mit eingeschränktem Geltungsbereich, die Sie verwenden können, wenn Sie Dienste nur für die Bereitstellung von S3-Ressourcen benötigen AWS Proton .

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CancelUpdateStack", "cloudformation:ContinueUpdateRollback", "cloudformation:CreateChangeSet", "cloudformation:CreateStack", "cloudformation:DeleteChangeSet", "cloudformation:DeleteStack", "cloudformation:DescribeChangeSet", "cloudformation:DescribeStackDriftDetectionStatus", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResourceDrifts", "cloudformation:DescribeStacks", "cloudformation:DetectStackResourceDrift", "cloudformation:ExecuteChangeSet", "cloudformation:ListChangeSets", "cloudformation:ListStackResources", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:*:123456789012:stack/AWSProton-*" }, { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "cloudformation.amazonaws.com" ] } } } ] }

AWS Proton Servicerolle für die Bereitstellung CodeBuild

Als Mitglied des Plattformteams können Sie als Administrator eine AWS Proton Servicerolle erstellen und sie bei der Erstellung einer Umgebung als CodeBuild Servicerolle der Umgebung bereitstellen (der codebuildRoleArn Parameter der CreateEnvironmentAPIAktion). AWS Proton Diese Rolle ermöglicht es AWS Proton , in Ihrem Namen API Aufrufe an andere Dienste zu tätigen, wenn die Umgebung oder eine der darin ausgeführten Dienstinstanzen CodeBuild Provisioning zur Bereitstellung der Infrastruktur verwenden.

Wenn Sie die AWS Proton Konsole verwenden, um eine Umgebung zu erstellen, und sich dafür entscheiden, eine neue Rolle zu erstellen, AWS Proton fügt der für Sie erstellten Servicerolle eine Richtlinie mit Administratorrechten hinzu. Wenn Sie Ihre eigene Rolle erstellen und den Umfang der Berechtigungen einschränken, sollten Sie bedenken, dass AWS Proton dies bei Access Denied Fehlern fehlschlägt.

Wichtig

Beachten Sie, dass die Richtlinien, die AWS Proton an die Rollen angehängt werden, die das Programm für Sie erstellt, jedem, der eine Vorlage für Ihr Konto registrieren kann, Administratorrechte gewähren. Da wir nicht wissen, welche Ressourcen Sie in Ihren AWS Proton Vorlagen definieren werden, verfügen diese Richtlinien über umfassende Zugriffsrechte. Wir empfehlen, dass Sie die Berechtigungen auf die spezifischen Ressourcen beschränken, die in Ihren Umgebungen bereitgestellt werden.

Das folgende Beispiel bietet Berechtigungen für CodeBuild die Bereitstellung von Ressourcen mithilfe von AWS Cloud Development Kit (AWS CDK).

Ersetze es 123456789012 durch deine AWS-Konto ID.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/codebuild/AWSProton- Shell-*", "arn:aws:logs:us-east-1:123456789012:log-group:/aws/codebuild/AWSProton- Shell-*:*" ], "Effect": "Allow" }, { "Action": "proton:NotifyResourceDeploymentStatusChange", "Resource": "arn:aws:proton:us-east-1:123456789012:*", "Effect": "Allow" }, { "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::123456789012:role/cdk-*-deploy-role-*", "arn:aws:iam::123456789012:role/cdk-*-file-publishing-role-*" ], "Effect": "Allow" } ] }
{ "Version": "2012-10-17", "Statement": { "Sid": "CodeBuildTrustRelationshipWithConfusedDeputyPrevention", "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws::proton:*:123456789012:environment/*" } } } }

AWS Proton Rollen im Pipeline-Dienst

Für die Bereitstellung von Dienst-Pipelines sind AWS Proton Berechtigungen erforderlich, um API Aufrufe an andere Dienste zu tätigen. Die erforderlichen Servicerollen ähneln den Servicerollen, die Sie beim Erstellen von Umgebungen angeben. Die Rollen zum Erstellen von Pipelines werden jedoch von allen Diensten in Ihrem AWS Konto gemeinsam genutzt, und Sie geben diese Rollen als Kontoeinstellungen in der Konsole oder über die UpdateAccountSettingsAPIAktion an.

Wenn Sie die AWS Proton Konsole verwenden, um die Kontoeinstellungen zu aktualisieren und sich dafür entscheiden, eine neue Rolle für die AWS CloudFormation oder die CodeBuild Dienstrollen zu erstellen, entsprechen die Richtlinien, die zu den für Sie erstellten Servicerollen AWS Proton hinzugefügt werden, den Richtlinien, die in den vorherigen Abschnitten beschrieben wurden, AWS-verwaltete Bereitstellungsrolle undCodeBuild Rolle bei der Bereitstellung. Wenn Sie den Umfang der Berechtigungen für diese Richtlinie einschränken, sollten Sie bedenken, dass diese bei Fehlern AWS Proton fehlschlägt. Access Denied

Wichtig

Beachten Sie, dass die Beispielrichtlinien in den vorherigen Abschnitten jedem, der eine Vorlage für Ihr Konto registrieren kann, Administratorrechte gewähren. Da wir nicht wissen, welche Ressourcen Sie in Ihren AWS Proton Vorlagen definieren werden, verfügen diese Richtlinien über umfassende Zugriffsrechte. Wir empfehlen, dass Sie die Berechtigungen auf die spezifischen Ressourcen beschränken, die in Ihren Pipelines bereitgestellt werden.

AWS Proton Rolle der Komponente

Als Mitglied des Plattformteams können Sie als Administrator eine AWS Proton Servicerolle erstellen und sie bei der Erstellung einer Umgebung als CloudFormation Komponentenrolle der Umgebung bereitstellen (der componentRoleArn Parameter der CreateEnvironmentAPIAktion). AWS Proton Diese Rolle beschränkt sich auf die Infrastruktur, die direkt definierte Komponenten bereitstellen können. Weitere Informationen zu Komponenten finden Sie unterAWS Proton-Komponenten.

Die folgende Beispielrichtlinie unterstützt die Erstellung einer direkt definierten Komponente, die einen Amazon Simple Storage Service (Amazon S3) -Bucket und eine zugehörige Zugriffsrichtlinie bereitstellt.

Ersetze es 123456789012 durch deine AWS-Konto ID.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CancelUpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeStacks", "cloudformation:ContinueUpdateRollback", "cloudformation:DetectStackResourceDrift", "cloudformation:DescribeStackResourceDrifts", "cloudformation:DescribeStackEvents", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:UpdateStack", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:ListChangeSets", "cloudformation:ListStackResources" ], "Resource": "arn:aws:cloudformation:*:123456789012:stack/AWSProton-*" }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:DeleteBucket", "s3:GetBucket", "iam:CreatePolicy", "iam:DeletePolicy", "iam:GetPolicy", "iam:ListPolicyVersions", "iam:DeletePolicyVersion" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": "cloudformation.amazonaws.com" } } } ] }
{ "Version": "2012-10-17", "Statement": { "Sid": "ServiceTrustRelationshipWithConfusedDeputyPrevention", "Effect": "Allow", "Principal": { "Service": "proton.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws::proton:*:123456789012:environment/*" } } } }