AWS Proton IAMexemples de politique de rôle de service - AWS Proton

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS Proton IAMexemples de politique de rôle de service

Les administrateurs possèdent et gèrent les ressources AWS Proton créées conformément aux modèles d'environnement et de service. Ils associent à leur compte des rôles de IAM service qui leur AWS Proton permettent de créer des ressources en leur nom. Les administrateurs fournissent les IAM rôles et AWS Key Management Service les clés pour les ressources qui sont ensuite détenues et gérées par les développeurs lors du AWS Proton déploiement de leur application en tant que AWS Proton service dans un AWS Proton environnement. Pour plus d'informations sur le chiffrement des données AWS KMS et le chiffrement des données, consultezProtection des données dans AWS Proton.

Un rôle de service est un rôle Amazon Web Services (IAM) qui AWS Proton permet d'appeler des ressources en votre nom. Si vous spécifiez un rôle de service, AWS Proton utilise les informations d'identification du rôle. Utilisez un rôle de service pour spécifier explicitement les actions qui AWS Proton peuvent être effectuées.

Vous créez le rôle de service et sa politique d'autorisation avec le IAM service. Pour plus d'informations sur la création d'un rôle de service, consultez la section Création d'un rôle pour déléguer des autorisations à un AWS service dans le Guide de IAM l'utilisateur.

AWS Proton rôle de service pour le provisionnement à l'aide AWS CloudFormation

En tant que membre de l'équipe de la plateforme, vous pouvez, en tant qu'administrateur, créer un rôle de AWS Proton service et le fournir AWS Proton lorsque vous créez un environnement en tant que rôle de CloudFormation service de l'environnement (le protonServiceRoleArn paramètre de l'CreateEnvironmentAPIaction). Ce rôle permet AWS Proton de API passer des appels vers d'autres services en votre nom lorsque l'environnement ou l'une des instances de service qui y sont exécutées utilise le provisionnement AWS géré et AWS CloudFormation pour provisionner l'infrastructure.

Nous vous recommandons d'utiliser le IAM rôle et la politique de confiance suivants pour votre rôle AWS Proton de service. Lorsque vous utilisez la AWS Proton console pour créer un environnement et que vous choisissez de créer un nouveau rôle, cette politique s' AWS Proton ajoute au rôle de service qu'elle crée pour vous. Lorsque vous délimitez l'autorisation associée à cette politique, gardez à l'esprit qu'elle AWS Proton échoue en cas d'Access Deniederreur.

Important

Sachez que les politiques présentées dans les exemples suivants accordent des privilèges d'administrateur à toute personne habilitée à enregistrer un modèle sur votre compte. Comme nous ne savons pas quelles ressources vous allez définir dans vos AWS Proton modèles, ces politiques comportent des autorisations étendues. Nous vous recommandons de limiter les autorisations aux ressources spécifiques qui seront déployées dans vos environnements.

123456789012Remplacez-le par votre Compte AWS identifiant.

{ "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/*" } } } }

Voici un exemple de politique de rôle de AWS Proton service délimitée que vous pouvez utiliser si vous n'avez besoin de AWS Proton services que pour provisionner des ressources S3.

{ "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 rôle de service pour le CodeBuild provisionnement

En tant que membre de l'équipe de la plateforme, vous pouvez, en tant qu'administrateur, créer un rôle de AWS Proton service et le fournir AWS Proton lorsque vous créez un environnement en tant que rôle de CodeBuild service de l'environnement (le codebuildRoleArn paramètre de l'CreateEnvironmentAPIaction). Ce rôle permet AWS Proton de API passer des appels vers d'autres services en votre nom lorsque l'environnement ou l'une des instances de service qui y sont exécutées utilise le CodeBuild provisionnement pour provisionner l'infrastructure.

Lorsque vous utilisez la AWS Proton console pour créer un environnement et que vous choisissez de créer un nouveau rôle, AWS Proton une politique avec des privilèges d'administrateur est ajoutée au rôle de service créé pour vous. Lorsque vous créez votre propre rôle et que vous limitez les autorisations, gardez à l'esprit que cela AWS Proton échoue en cas d'Access Deniederreur.

Important

Sachez que les politiques associées aux AWS Proton rôles qu'il crée pour vous accordent des privilèges d'administrateur à toute personne habilitée à enregistrer un modèle sur votre compte. Comme nous ne savons pas quelles ressources vous allez définir dans vos AWS Proton modèles, ces politiques comportent des autorisations étendues. Nous vous recommandons de limiter les autorisations aux ressources spécifiques qui seront déployées dans vos environnements.

L'exemple suivant fournit des autorisations permettant de CodeBuild provisionner des ressources à l'aide du AWS Cloud Development Kit (AWS CDK).

123456789012Remplacez-le par votre Compte AWS identifiant.

{ "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 rôles de service de pipeline

Pour approvisionner des pipelines de services, AWS Proton il faut des autorisations pour passer API des appels vers d'autres services. Les rôles de service requis sont similaires à ceux que vous fournissez lorsque vous créez des environnements. Cependant, les rôles de création de pipelines sont partagés entre tous les services de votre AWS compte, et vous fournissez ces rôles sous forme de paramètres de compte dans la console ou par le biais de l'UpdateAccountSettingsAPIaction.

Lorsque vous utilisez la AWS Proton console pour mettre à jour les paramètres du compte et que vous choisissez de créer un nouveau rôle pour les rôles de CodeBuild service AWS CloudFormation ou pour les rôles de service, les politiques qui s' AWS Proton ajoutent aux rôles de service qu'elle crée pour vous sont les mêmes que celles décrites dans les sections précédentes, AWS-rôle de provisionnement géré etCodeBuild rôle de provisionnement. Lorsque vous délimitez l'autorisation associée à cette politique, gardez à l'esprit qu'elle AWS Proton échoue en cas d'Access Deniederreur.

Important

Sachez que les exemples de politiques présentés dans les sections précédentes accordent des privilèges d'administrateur à toute personne habilitée à enregistrer un modèle sur votre compte. Comme nous ne savons pas quelles ressources vous allez définir dans vos AWS Proton modèles, ces politiques comportent des autorisations étendues. Nous vous recommandons de limiter les autorisations aux ressources spécifiques qui seront déployées dans vos pipelines.

AWS Proton rôle du composant

En tant que membre de l'équipe de la plateforme, vous pouvez, en tant qu'administrateur, créer un rôle de AWS Proton service et le fournir AWS Proton lorsque vous créez un environnement en tant que rôle de CloudFormation composant de l'environnement (le componentRoleArn paramètre de l'CreateEnvironmentAPIaction). Ce rôle limite l'infrastructure que les composants directement définis peuvent fournir. Pour plus d'informations sur les composants, consultezComposants AWS Proton.

L'exemple de politique suivant prend en charge la création d'un composant directement défini qui approvisionne un compartiment Amazon Simple Storage Service (Amazon S3) et une politique d'accès associée.

123456789012Remplacez-le par votre Compte AWS identifiant.

{ "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/*" } } } }