Ejemplos de políticas basadas en identidades (IAM) - AWS CodePipeline

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.

Ejemplos de políticas basadas en identidades (IAM)

Puede adjuntar políticas a las identidades. IAM Por ejemplo, puede hacer lo siguiente:

  • Adjunta una política de permisos a un usuario o grupo de tu cuenta: para conceder a un usuario permisos para ver las canalizaciones en la CodePipeline consola, puedes adjuntar una política de permisos a un usuario o grupo al que pertenezca el usuario.

  • Adjuntar una política de permisos a un rol (conceder permisos multicuenta): puedes adjuntar una política de permisos basada en la identidad a un IAM rol para conceder permisos multicuenta. Por ejemplo, el administrador de la cuenta A puede crear un rol para conceder permisos multicuentas a otra cuenta (por ejemplo, la AWS cuenta B) o a una de las siguientes maneras: Servicio de AWS

    1. El administrador de la cuenta A crea un IAM rol y adjunta una política de permisos al rol que otorga permisos sobre los recursos de la cuenta A.

    2. El administrador de la CuentaA asocia una política de confianza al rol que identifica la Cuenta B como la entidad principal que puede asumir el rol.

    3. A continuación, el administrador de la cuenta B puede delegar los permisos para que asuman el rol en cualquier usuario de la cuenta B. De este modo, los usuarios de la cuenta B pueden crear recursos de la cuenta A. El director de la política de confianza también puede ser el Servicio de AWS director si desea conceder Servicio de AWS permisos para asumir el rol.

    Para obtener más información sobre cómo IAM delegar permisos, consulte Administración del acceso en la Guía del IAM usuario.

A continuación, se muestra un ejemplo de una política de permisos que permite a un usuario habilitar y deshabilitar todas las transiciones entre las etapas de la canalización llamada MyFirstPipeline en la us-west-2 region:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codepipeline:EnableStageTransition", "codepipeline:DisableStageTransition" ], "Resource" : [ "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline/*" ] } ] }

El siguiente ejemplo muestra una política en la cuenta 111222333444 que permite a los usuarios ver, pero no cambiar, la canalización nombrada MyFirstPipeline en la consola. CodePipeline Esta política se basa en la política administrada AWSCodePipeline_ReadOnlyAccess, pero como es específica de la canalización MyFirstPipeline, no puede usar la política administrada directamente. Si no desea restringir la política a una canalización específica, considere la posibilidad de utilizar una de las políticas administradas que ha creado y mantenido. CodePipeline Para obtener más información, consulte Uso de políticas administradas. Debe adjuntar esta política a un IAM rol que cree para acceder, por ejemplo, un rol llamadoCrossAccountPipelineViewers:

{ "Statement": [ { "Action": [ "codepipeline:GetPipeline", "codepipeline:GetPipelineState", "codepipeline:GetPipelineExecution", "codepipeline:ListPipelineExecutions", "codepipeline:ListActionExecutions", "codepipeline:ListActionTypes", "codepipeline:ListPipelines", "codepipeline:ListTagsForResource", "iam:ListRoles", "s3:ListAllMyBuckets", "codecommit:ListRepositories", "codedeploy:ListApplications", "lambda:ListFunctions", "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Effect": "Allow", "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline" }, { "Action": [ "codepipeline:GetPipeline", "codepipeline:GetPipelineState", "codepipeline:GetPipelineExecution", "codepipeline:ListPipelineExecutions", "codepipeline:ListActionExecutions", "codepipeline:ListActionTypes", "codepipeline:ListPipelines", "codepipeline:ListTagsForResource", "iam:ListRoles", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListBucket", "codecommit:ListBranches", "codedeploy:GetApplication", "codedeploy:GetDeploymentGroup", "codedeploy:ListDeploymentGroups", "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeEnvironments", "lambda:GetFunctionConfiguration", "opsworks:DescribeApps", "opsworks:DescribeLayers", "opsworks:DescribeStacks" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "CodeStarNotificationsReadOnlyAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codepipeline:*" } } } ], "Version": "2012-10-17" }

Tras crear esta política, cree el IAM rol en la cuenta 111222333444 y asocie la política a ese rol. En las relaciones de confianza del rol, debe agregar la AWS cuenta que asumirá este rol. El siguiente ejemplo muestra una política que permite a los usuarios del 111111111111 AWS cuenta para asumir las funciones definidas en la cuenta 111222333444:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:root" }, "Action": "sts:AssumeRole" } ] }

El siguiente ejemplo muestra una política creada en el 111111111111 AWS cuenta que permite a los usuarios asumir el rol denominado CrossAccountPipelineViewers en la cuenta 111222333444:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111222333444:role/CrossAccountPipelineViewers" } ] }

Puede crear IAM políticas para restringir las llamadas y los recursos a los que tienen acceso los usuarios de su cuenta y, a continuación, adjuntar esas políticas a su usuario administrativo. Para obtener más información sobre cómo crear IAM funciones y explorar ejemplos de declaraciones de IAM políticas CodePipeline, consulteEjemplos de políticas administradas por el cliente.