AWS Proton Ejemplos de políticas de funciones de servicio de IAM - 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 Ejemplos de políticas de funciones de servicio de IAM

Los administradores son propietarios y administran los recursos que AWS Proton crean, tal como se definen en las plantillas de servicio y entorno. Adjuntan funciones de servicio de IAM a su cuenta que les AWS Proton permiten crear recursos en su nombre. Los administradores proporcionan las funciones y AWS Key Management Service claves de IAM para 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 entorno. AWS Proton Para obtener más información sobre el cifrado de datos AWS KMS y el cifrado de datos, consulte. Protecció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 se AWS Proton pueden realizar.

Puede crear el rol de servicio y su política de permisos con el servicio de IAM. 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 usuario de IAM.

AWS Proton rol de servicio para el aprovisionamiento mediante AWS CloudFormation

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

Le recomendamos que utilice el siguiente rol de IAM y la política de confianza para su AWS Proton rol de servicio. Cuando utiliza la AWS Proton consola para crear un entorno y decide crear un nuevo rol, 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, puedes crear una función de AWS Proton servicio y asignársela AWS Proton cuando crees un entorno como función de CodeBuild servicio del entorno (el codebuildRoleArn parámetro de la acción de la CreateEnvironmentAPI). Esta función le permite realizar llamadas AWS Proton a la API 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 rol nuevo, 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 llamadas a la API 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 acción de la UpdateAccountSettingsAPI.

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, puedes crear un rol de AWS Proton servicio y asignárselo AWS Proton al crear un entorno como rol CloudFormation componente del entorno (el componentRoleArn parámetro de la acción de la CreateEnvironmentAPI). 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/*" } } } }