AWS ProtonEsempi di policy relative ai ruoli di servizio IAM - AWS Proton

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS ProtonEsempi di policy relative ai ruoli di servizio IAM

Gli amministratori possiedono e gestiscono le risorse AWS Proton create dall'ambiente e dai modelli di servizio. Associano ruoli di servizio IAM al proprio account che consentono AWS Proton di creare risorse per loro conto. Gli amministratori forniscono i ruoli e AWS Key Management Service le chiavi IAM per le risorse che vengono successivamente possedute e gestite dagli sviluppatori quando AWS Proton distribuiscono la loro applicazione come AWS Proton servizio in un AWS Proton ambiente. Per ulteriori informazioni sulla AWS KMS crittografia dei dati, consulta. Protezione dei dati in AWS Proton

Un ruolo di servizio è un ruolo di Amazon Web Services (IAM) che consente di AWS Proton effettuare chiamate alle risorse per tuo conto. Se specifichi un ruolo del servizio, AWS Proton utilizza le credenziali del ruolo. Utilizza un ruolo di servizio per specificare in modo esplicito le azioni che è AWS Proton possibile eseguire.

Puoi creare il ruolo del servizio e le sue policy di autorizzazione con il servizio IAM. Per ulteriori informazioni sulla creazione di un ruolo di servizio, consulta Creazione di un ruolo per delegare le autorizzazioni a un servizio AWS nella Guida per l'utente di IAM.

AWS Protonruolo di servizio per il provisioning utilizzando AWS CloudFormation

In qualità di membro del team della piattaforma, in qualità di amministratore puoi creare un ruolo di AWS Proton servizio e assegnarlo AWS Proton quando crei un ambiente come ruolo di CloudFormation servizio dell'ambiente (il protonServiceRoleArn parametro dell'azione dell'CreateEnvironmentAPI). Questo ruolo consente di AWS Proton effettuare chiamate API ad altri servizi per conto dell'utente quando l'ambiente o una qualsiasi delle istanze di servizio in esso eseguite utilizzano il provisioning AWS gestito e AWS CloudFormation il provisioning dell'infrastruttura.

Ti consigliamo di utilizzare i seguenti ruoli IAM e la policy di fiducia per il tuo AWS Proton ruolo di servizio. Quando utilizzi la AWS Proton console per creare un ambiente e scegli di creare un nuovo ruolo, questa è la politica che si AWS Proton aggiunge al ruolo di servizio che crea per te. Quando definisci l'ambito delle autorizzazioni relative a questa politica, tieni presente che AWS Proton non funziona in caso di Access Denied errori.

Importante

Tieni presente che le politiche mostrate negli esempi seguenti concedono i privilegi di amministratore a chiunque possa registrare un modello nel tuo account. Poiché non sappiamo quali risorse definirai nei tuoi AWS Proton modelli, queste politiche hanno autorizzazioni ampie. Ti consigliamo di limitare le autorizzazioni alle risorse specifiche che verranno distribuite nei tuoi ambienti.

Sostituisci 123456789012 con l'ID dell'Account AWS.

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

Di seguito è riportato un esempio di policy relativa ai ruoli di AWS Proton servizio che puoi utilizzare se hai bisogno solo di AWS Proton servizi per il provisioning delle risorse 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 Protonruolo di servizio per il provisioning CodeBuild

In qualità di membro del team della piattaforma, in qualità di amministratore puoi creare un ruolo di AWS Proton servizio e assegnarlo AWS Proton quando crei un ambiente come ruolo di CodeBuild servizio dell'ambiente (il codebuildRoleArn parametro dell'azione CreateEnvironmentAPI). Questo ruolo consente di AWS Proton effettuare chiamate API ad altri servizi per conto dell'utente quando l'ambiente o una qualsiasi delle istanze di servizio in esso eseguite utilizzano il CodeBuild provisioning per fornire l'infrastruttura.

Quando utilizzi la AWS Proton console per creare un ambiente e scegli di creare un nuovo ruolo, AWS Proton aggiunge una policy con privilegi di amministratore al ruolo di servizio che crea per te. Quando create il vostro ruolo e limitate le autorizzazioni, tenete presente che AWS Proton non funziona in Access Denied caso di errori.

Importante

Tieni presente che le politiche associate ai AWS Proton ruoli che crea per te concedono i privilegi di amministratore a chiunque possa registrare un modello nel tuo account. Poiché non sappiamo quali risorse definirai nei tuoi AWS Proton modelli, queste politiche dispongono di autorizzazioni ampie. Ti consigliamo di limitare le autorizzazioni alle risorse specifiche che verranno distribuite nei tuoi ambienti.

L'esempio seguente fornisce le autorizzazioni CodeBuild per il provisioning di risorse utilizzando. AWS Cloud Development Kit (AWS CDK)

Sostituisci 123456789012 con l'ID dell'Account AWS.

{ "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 Protonruoli del servizio di pipeline

Per fornire le pipeline di servizi, sono AWS Proton necessarie le autorizzazioni per effettuare chiamate API ad altri servizi. I ruoli di servizio richiesti sono simili ai ruoli di servizio forniti durante la creazione di ambienti. Tuttavia, i ruoli per la creazione di pipeline sono condivisi tra tutti i servizi AWS dell'account e questi ruoli vengono forniti come impostazioni dell'account nella console o tramite l'azione UpdateAccountSettingsAPI.

Quando utilizzi la AWS Proton console per aggiornare le impostazioni dell'account e scegli di creare un nuovo ruolo per i ruoli AWS CloudFormation o per i ruoli di CodeBuild servizio, le politiche che si AWS Proton aggiungono ai ruoli di servizio che crea per te sono le stesse descritte nelle sezioni precedenti AWS-ruolo di provisioning gestito eCodeBuild ruolo di approvvigionamento. Quando definisci l'ambito delle autorizzazioni relative a questa politica, tieni presente che AWS Proton non funziona in caso di Access Denied errori.

Importante

Tieni presente che le politiche di esempio nelle sezioni precedenti concedono i privilegi di amministratore a chiunque possa registrare un modello nel tuo account. Poiché non sappiamo quali risorse definirai nei tuoi AWS Proton modelli, queste politiche hanno autorizzazioni ampie. Ti consigliamo di limitare le autorizzazioni alle risorse specifiche che verranno distribuite nelle tue pipeline.

AWS Protonruolo del componente

In qualità di membro del team della piattaforma, in qualità di amministratore puoi creare un ruolo di AWS Proton servizio e assegnarlo al AWS Proton momento della creazione di un ambiente come ruolo CloudFormation componente dell'ambiente (il componentRoleArn parametro dell'azione CreateEnvironmentAPI). Questo ruolo definisce l'infrastruttura che i componenti definiti direttamente possono fornire. Per ulteriori informazioni sui componenti, vedereAWS Proton componenti .

La seguente policy di esempio supporta la creazione di un componente definito direttamente che fornisce un bucket Amazon Simple Storage Service (Amazon S3) e una policy di accesso correlata.

Sostituisci 123456789012 con l'ID dell'Account AWS.

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