AWS Proton IAMejemplos de políticas de roles de servicio - AWS Proton

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS Proton IAMejemplos de políticas de roles de servicio

Los administradores son propietarios y administran los recursos que AWS Proton crean, tal como se define en las plantillas de entorno y servicio. Adjuntan funciones de IAM servicio a su cuenta que AWS Proton les permiten crear recursos en su nombre. Los administradores proporcionan las IAM funciones y AWS Key Management Service las claves de los recursos que, posteriormente, son propiedad de los desarrolladores y los administran cuando AWS Proton despliegan su aplicación como un AWS Proton servicio en un AWS Proton entorno. Para obtener más información sobre el cifrado de datos AWS KMS y el cifrado de datos, consulteProtección de los datos en AWS Proton.

Un rol de servicio es un rol de Amazon Web Services (IAM) que permite AWS Proton realizar llamadas a los recursos en su nombre. Si especifica un rol de servicio, AWS Proton utiliza las credenciales de ese rol. Utilice un rol de servicio para especificar de forma explícita las acciones que AWS Proton se pueden realizar.

El rol de servicio y su política de permisos se crean con el IAM servicio. Para obtener más información sobre la creación de un rol de servicio, consulte Crear un rol para delegar permisos a un AWS servicio en la Guía del IAM usuario.

AWS Proton rol de servicio para el aprovisionamiento mediante AWS CloudFormation

Como miembro del equipo de la plataforma, como administrador, puede crear una función de AWS Proton servicio y asignársela AWS Proton cuando cree un entorno como función de CloudFormation servicio del entorno (el protonServiceRoleArn parámetro de la CreateEnvironmentAPIacción). Esta función le permite realizar API llamadas AWS Proton a otros servicios en su nombre cuando el entorno o alguna de las instancias de servicio que se ejecutan en él utilizan el aprovisionamiento AWS administrado y el aprovisionamiento de AWS CloudFormation infraestructura.

Le recomendamos que utilice la siguiente política de IAM rol y confianza para su función de AWS Proton servicio. Cuando usa la AWS Proton consola para crear un entorno y decide crear un rol nuevo, esta es la política que se AWS Proton suma al rol de servicio que crea para usted. Al determinar el alcance de los permisos de esta política, tenga en cuenta que se produce un AWS Proton error cuando se Access Denied producen errores.

importante

Tenga en cuenta que las políticas que se muestran en los siguientes ejemplos otorgan privilegios de administrador a cualquier persona que pueda registrar una plantilla en su cuenta. Como no sabemos qué recursos definirás en tus AWS Proton plantillas, estas políticas tienen permisos amplios. Le recomendamos que restrinja los permisos a los recursos específicos que se implementarán en los entornos.

123456789012Sustitúyalo por tu Cuenta de AWS 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/*" } } } }

El siguiente es un ejemplo de una política de funciones de AWS Proton servicio con un ámbito reducido que puede utilizar si solo necesita AWS Proton servicios para aprovisionar recursos de 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 función de servicio para el aprovisionamiento CodeBuild

Como miembro del equipo de la plataforma, como administrador, puede crear una función de AWS Proton servicio y asignársela AWS Proton cuando cree un entorno como función de CodeBuild servicio del entorno (el codebuildRoleArn parámetro de la CreateEnvironmentAPIacción). Esta función le permite realizar API llamadas AWS Proton a otros servicios en su nombre cuando el entorno o alguna de las instancias de servicio que se ejecutan en él utilizan el CodeBuild aprovisionamiento para aprovisionar la infraestructura.

Cuando utiliza la AWS Proton consola para crear un entorno y decide crear un nuevo rol, AWS Proton agrega una política con privilegios de administrador al rol de servicio que crea para usted. Al crear su propio rol y reducir los permisos, tenga en cuenta que se produce un AWS Proton error cuando Access Denied hay errores.

importante

Ten en cuenta que las políticas AWS Proton asociadas a los roles que crea para ti otorgan privilegios de administrador a cualquier persona que pueda registrar una plantilla en tu cuenta. Como no sabemos qué recursos definirás en tus AWS Proton plantillas, estas políticas tienen amplios permisos. Le recomendamos que restrinja los permisos a los recursos específicos que se implementarán en los entornos.

El siguiente ejemplo proporciona permisos CodeBuild para aprovisionar recursos mediante AWS Cloud Development Kit (AWS CDK).

123456789012Sustitúyalo por tu Cuenta de AWS 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 funciones de servicio de canalización

Para aprovisionar canalizaciones de servicios, AWS Proton necesita permisos para realizar API llamadas a otros servicios. Los roles de servicio requeridos son similares a los roles de servicio que se proporcionan al crear entornos. Sin embargo, las funciones para crear canalizaciones se comparten entre todos los servicios de tu AWS cuenta, y tú las proporcionas como configuración de la cuenta en la consola o mediante la UpdateAccountSettingsAPIacción.

Cuando utilizas la AWS Proton consola para actualizar la configuración de la cuenta y decides crear un nuevo rol para el rol AWS CloudFormation o el de CodeBuild servicio, las políticas que se AWS Proton añaden a los roles de servicio que crea para ti son las mismas que las políticas descritas en las secciones anteriores, Rol de aprovisionamiento administrado por AWS yCodeBuild función de aprovisionamiento. Al determinar el alcance de los permisos de esta política, tenga en cuenta que Access Denied los errores AWS Proton fallan.

importante

Tenga en cuenta que las políticas de ejemplo de las secciones anteriores otorgan privilegios de administrador a cualquier persona que pueda registrar una plantilla en su cuenta. Como no sabemos qué recursos definirás en tus AWS Proton plantillas, estas políticas tienen permisos amplios. Le recomendamos que restrinja los permisos a los recursos específicos que se implementarán en las canalizaciones.

AWS Proton rol de componente

Como miembro del equipo de la plataforma, como administrador, puede crear un rol de AWS Proton servicio y AWS Proton asignárselo al crear un entorno como rol CloudFormation componente del entorno (el componentRoleArn parámetro de la CreateEnvironmentAPIacción). Este rol restringe la infraestructura que pueden aprovisionar los componentes definidos directamente. Para obtener más información sobre los componentes, consulte Componentes de AWS Proton.

El siguiente ejemplo de política admite la creación de un componente definido directamente que aprovisione un bucket de Amazon Simple Storage Service (Amazon S3) y una política de acceso relacionada.

123456789012Sustitúyalo por tu Cuenta de AWS 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/*" } } } }