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 identidad (IAM)
Puede asociar políticas a identidades de 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 para cuentas cruzadas): puede adjuntar una política de permisos basada en identidades a un rol de IAM para conceder permisos para cuentas cruzadas. Por ejemplo, el administrador de la cuenta A puede crear un rol para conceder permisos multicuenta a otra cuenta (por ejemplo, la AWS cuenta B) o a una de las Servicio de AWS siguientes maneras:
-
El administrador de la CuentaA crea un rol de IAM y asocia una política de permisos a dicho rol, que concede permisos sobre los recursos de la CuentaA.
-
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.
-
De este modo, 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 principal si desea conceder Servicio de AWS permisos para asumir el rol.
Para obtener más información sobre el uso de IAM para delegar permisos, consulte Administración de accesos en la Guía del usuario de IAM.
-
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/*" ] } ] }
En el siguiente ejemplo, se muestra una política de la cuenta 111222333444 que permite a los usuarios ver (pero no cambiar) la canalización llamada MyFirstPipeline
en la consola de 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 usar una de las políticas administradas que CodePipeline crea y mantiene. Para obtener más información, consulte Uso de políticas administradas. Debe asociar esta política a un rol de IAM que cree para obtener acceso (por ejemplo, a un rol denominado CrossAccountPipelineViewers
:
{ "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" }
Después de crear esta política, cree el rol de IAM 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 de la 111111111111
AWS cuenta 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 la 111111111111
AWS cuenta que permite a los usuarios asumir el rol nombrado CrossAccountPipelineViewers
en la cuenta 111222333444:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111222333444:role/
CrossAccountPipelineViewers
" } ] }
Puede crear políticas de IAM específicas para restringir las llamadas y los recursos a los que los usuarios de su cuenta tienen acceso y, a continuación, asociar esas políticas al usuario administrativo. Para obtener más información sobre cómo crear funciones de IAM y explorar ejemplos de declaraciones de política de IAM, consulte. CodePipeline Ejemplos de políticas administradas por el cliente