Administración de identidades y accesos para AWS CodePipeline - 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.

Administración de identidades y accesos para AWS CodePipeline

AWS Identity and Access Management (IAM) es una herramienta Servicio de AWS que ayuda al administrador a controlar de forma segura el acceso a los AWS recursos. Los administradores de IAM controlan quién puede autenticarse (iniciar sesión) y quién puede autorizarse (tener permisos) para usar los recursos. CodePipeline La IAM es una Servicio de AWS opción que puede utilizar sin coste adicional.

Público

La forma de usar AWS Identity and Access Management (IAM) varía según el trabajo en el que se realice. CodePipeline

Usuario del servicio: si utiliza el CodePipeline servicio para realizar su trabajo, el administrador le proporcionará las credenciales y los permisos que necesita. A medida que vaya utilizando más CodePipeline funciones para realizar su trabajo, es posible que necesite permisos adicionales. Entender cómo se administra el acceso puede ayudarlo a solicitar los permisos correctos al administrador. Si no puede acceder a una función en CodePipeline, consulteSolución de problemas de identidades de AWS CodePipeline y accesos.

Administrador de servicios: si está a cargo de CodePipeline los recursos de su empresa, probablemente tenga acceso total a ellos CodePipeline. Su trabajo consiste en determinar a qué CodePipeline funciones y recursos deben acceder los usuarios del servicio. Luego, debe enviar solicitudes a su administrador de IAM para cambiar los permisos de los usuarios de su servicio. Revise la información de esta página para conocer los conceptos básicos de IAM. Para obtener más información sobre cómo su empresa puede utilizar la IAM CodePipeline, consulte¿Cómo AWS CodePipeline funciona con IAM.

Administrador de IAM: si es administrador de IAM, tal vez le interese obtener más información sobre cómo redactar políticas para administrar el acceso. CodePipeline Para ver ejemplos de políticas CodePipeline basadas en la identidad que puede usar en IAM, consulte. AWS CodePipeline ejemplos de políticas basadas en identidad de

Autenticación con identidades

La autenticación es la forma de iniciar sesión AWS con sus credenciales de identidad. Debe estar autenticado (con quien haya iniciado sesión AWS) como usuario de IAM o asumiendo una función de IAM. Usuario raíz de la cuenta de AWS

Puede iniciar sesión AWS como una identidad federada mediante las credenciales proporcionadas a través de una fuente de identidad. AWS IAM Identity Center Los usuarios (Centro de identidades de IAM), la autenticación de inicio de sesión único de su empresa y sus credenciales de Google o Facebook son ejemplos de identidades federadas. Al iniciar sesión como una identidad federada, su administrador habrá configurado previamente la federación de identidades mediante roles de IAM. Cuando accedes AWS mediante la federación, estás asumiendo un rol de forma indirecta.

Según el tipo de usuario que sea, puede iniciar sesión en el portal AWS Management Console o en el de AWS acceso. Para obtener más información sobre cómo iniciar sesión AWS, consulte Cómo iniciar sesión Cuenta de AWS en su Guía del AWS Sign-In usuario.

Si accede AWS mediante programación, AWS proporciona un kit de desarrollo de software (SDK) y una interfaz de línea de comandos (CLI) para firmar criptográficamente sus solicitudes con sus credenciales. Si no utilizas AWS herramientas, debes firmar las solicitudes tú mismo. Para obtener más información sobre cómo usar el método recomendado para firmar las solicitudes usted mismo, consulte Firmar las solicitudes de la AWS API en la Guía del usuario de IAM.

Independientemente del método de autenticación que use, es posible que deba proporcionar información de seguridad adicional. Por ejemplo, le AWS recomienda que utilice la autenticación multifactor (MFA) para aumentar la seguridad de su cuenta. Para obtener más información, consulte Autenticación multifactor en la Guía del usuario de AWS IAM Identity Center y Uso de la autenticación multifactor (MFA) en AWSen la Guía del usuario de IAM.

Usuario raíz de la cuenta de AWS

Al crear una Cuenta de AWS, comienza con una identidad de inicio de sesión que tiene acceso completo a todos los recursos de Servicios de AWS la cuenta. Esta identidad se denomina usuario Cuenta de AWS raíz y se accede a ella iniciando sesión con la dirección de correo electrónico y la contraseña que utilizaste para crear la cuenta. Recomendamos encarecidamente que no utilice el usuario raíz para sus tareas diarias. Proteja las credenciales del usuario raíz y utilícelas solo para las tareas que solo el usuario raíz pueda realizar. Para ver la lista completa de las tareas que requieren que inicie sesión como usuario raíz, consulte Tareas que requieren credenciales de usuario raíz en la Guía del usuario de IAM.

Usuarios y grupos de IAM

Un usuario de IAM es una identidad propia Cuenta de AWS que tiene permisos específicos para una sola persona o aplicación. Siempre que sea posible, recomendamos emplear credenciales temporales, en lugar de crear usuarios de IAM que tengan credenciales de larga duración como contraseñas y claves de acceso. No obstante, si tiene casos de uso específicos que requieran credenciales de larga duración con usuarios de IAM, recomendamos rotar las claves de acceso. Para más información, consulte Rotar las claves de acceso periódicamente para casos de uso que requieran credenciales de larga duración en la Guía del usuario de IAM.

Un grupo de IAM es una identidad que especifica un conjunto de usuarios de IAM. No puede iniciar sesión como grupo. Puede usar los grupos para especificar permisos para varios usuarios a la vez. Los grupos facilitan la administración de los permisos de grandes conjuntos de usuarios. Por ejemplo, podría tener un grupo cuyo nombre fuese IAMAdmins y conceder permisos a dicho grupo para administrar los recursos de IAM.

Los usuarios son diferentes de los roles. Un usuario se asocia exclusivamente a una persona o aplicación, pero la intención es que cualquier usuario pueda asumir un rol que necesite. Los usuarios tienen credenciales permanentes a largo plazo y los roles proporcionan credenciales temporales. Para más información, consulte Cuándo crear un usuario de IAM (en lugar de un rol) en la Guía del usuario de IAM.

Roles de IAM

Un rol de IAM es una identidad dentro de usted Cuenta de AWS que tiene permisos específicos. Es similar a un usuario de IAM, pero no está asociado a una determinada persona. Puede asumir temporalmente una función de IAM en el AWS Management Console cambiando de función. Puede asumir un rol llamando a una operación de AWS API AWS CLI o utilizando una URL personalizada. Para más información sobre los métodos para el uso de roles, consulte Uso de roles de IAM en la Guía del usuario de IAM.

Los roles de IAM con credenciales temporales son útiles en las siguientes situaciones:

  • Acceso de usuario federado: para asignar permisos a una identidad federada, puede crear un rol y definir sus permisos. Cuando se autentica una identidad federada, se asocia la identidad al rol y se le conceden los permisos define el rol. Para obtener información acerca de roles para federación, consulte Creación de un rol para un proveedor de identidades de terceros en la Guía del usuario de IAM. Si utiliza IAM Identity Center, debe configurar un conjunto de permisos. IAM Identity Center correlaciona el conjunto de permisos con un rol en IAM para controlar a qué pueden acceder las identidades después de autenticarse. Para obtener información acerca de los conjuntos de permisos, consulte Conjuntos de permisos en la Guía del usuario de AWS IAM Identity Center .

  • Permisos de usuario de IAM temporales: un usuario de IAM puede asumir un rol de IAM para recibir temporalmente permisos distintos que le permitan realizar una tarea concreta.

  • Acceso entre cuentas: puede utilizar un rol de IAM para permitir que alguien (una entidad principal de confianza) de otra cuenta acceda a los recursos de la cuenta. Los roles son la forma principal de conceder acceso entre cuentas. Sin embargo, con algunas Servicios de AWS, puedes adjuntar una política directamente a un recurso (en lugar de usar un rol como proxy). Para obtener información acerca de la diferencia entre los roles y las políticas basadas en recursos para el acceso entre cuentas, consulte Acceso a recursos entre cuentas en IAM en la Guía del usuario de IAM.

  • Acceso entre servicios: algunos Servicios de AWS utilizan funciones en otros Servicios de AWS. Por ejemplo, cuando realiza una llamada en un servicio, es común que ese servicio ejecute aplicaciones en Amazon EC2 o almacene objetos en Amazon S3. Es posible que un servicio haga esto usando los permisos de la entidad principal, usando un rol de servicio o usando un rol vinculado al servicio.

    • Sesiones de acceso directo (FAS): cuando utilizas un usuario o un rol de IAM para realizar acciones en ellas AWS, se te considera director. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. El FAS utiliza los permisos del principal que llama Servicio de AWS y los solicita Servicio de AWS para realizar solicitudes a los servicios descendentes. Las solicitudes de FAS solo se realizan cuando un servicio recibe una solicitud que requiere interacciones con otros Servicios de AWS recursos para completarse. En este caso, debe tener permisos para realizar ambas acciones. Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte Reenviar sesiones de acceso.

    • Rol de servicio: un rol de servicio es un rol de IAM que adopta un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte Creación de un rol para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.

    • Función vinculada al servicio: una función vinculada a un servicio es un tipo de función de servicio que está vinculada a un. Servicio de AWS El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados al servicio aparecen en usted Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios.

  • Aplicaciones que se ejecutan en Amazon EC2: puede usar un rol de IAM para administrar las credenciales temporales de las aplicaciones que se ejecutan en una instancia EC2 y realizan AWS CLI solicitudes a la API. AWS Es preferible hacerlo de este modo a almacenar claves de acceso en la instancia de EC2. Para asignar una AWS función a una instancia EC2 y ponerla a disposición de todas sus aplicaciones, debe crear un perfil de instancia adjunto a la instancia. Un perfil de instancia contiene el rol y permite a los programas que se ejecutan en la instancia de EC2 obtener credenciales temporales. Para más información, consulte Uso de un rol de IAM para conceder permisos a aplicaciones que se ejecutan en instancias Amazon EC2 en la Guía del usuario de IAM.

Para obtener información sobre el uso de los roles de IAM, consulte Cuándo crear un rol de IAM (en lugar de un usuario) en la Guía del usuario de IAM.

Administración de acceso mediante políticas

El acceso se controla AWS creando políticas y adjuntándolas a AWS identidades o recursos. Una política es un objeto AWS que, cuando se asocia a una identidad o un recurso, define sus permisos. AWS evalúa estas políticas cuando un director (usuario, usuario raíz o sesión de rol) realiza una solicitud. Los permisos en las políticas determinan si la solicitud se permite o se deniega. La mayoría de las políticas se almacenan AWS como documentos JSON. Para obtener más información sobre la estructura y el contenido de los documentos de política JSON, consulte Información general de políticas JSON en la Guía del usuario de IAM.

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

De forma predeterminada, los usuarios y los roles no tienen permisos. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan. A continuación, el administrador puede añadir las políticas de IAM a roles y los usuarios pueden asumirlos.

Las políticas de IAM definen permisos para una acción independientemente del método que se utilice para realizar la operación. Por ejemplo, suponga que dispone de una política que permite la acción iam:GetRole. Un usuario con esa política puede obtener información sobre el rol de la API AWS Management Console AWS CLI, la o la AWS API.

Políticas basadas en identidades

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en identidad, consulte Creación de políticas de IAM en la Guía del usuario de IAM.

Las políticas basadas en identidades pueden clasificarse además como políticas insertadas o políticas administradas. Las políticas insertadas se integran directamente en un único usuario, grupo o rol. Las políticas administradas son políticas independientes que puede adjuntar a varios usuarios, grupos y roles de su Cuenta de AWS empresa. Las políticas administradas incluyen políticas AWS administradas y políticas administradas por el cliente. Para más información sobre cómo elegir una política administrada o una política insertada, consulte Elegir entre políticas administradas y políticas insertadas en la Guía del usuario de IAM.

Políticas basadas en recursos

Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. Ejemplos de políticas basadas en recursos son las políticas de confianza de roles de IAM y las políticas de bucket de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se asocia la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe especificar una entidad principal en una política en función de recursos. Los principales pueden incluir cuentas, usuarios, roles, usuarios federados o. Servicios de AWS

Las políticas basadas en recursos son políticas insertadas que se encuentran en ese servicio. No puedes usar políticas AWS gestionadas de IAM en una política basada en recursos.

Otros tipos de políticas

AWS admite tipos de políticas adicionales y menos comunes. Estos tipos de políticas pueden establecer el máximo de permisos que los tipos de políticas más frecuentes le conceden.

  • Límites de permisos: un límite de permisos es una característica avanzada que le permite establecer los permisos máximos que una política basada en identidad puede conceder a una entidad de IAM (usuario o rol de IAM). Puede establecer un límite de permisos para una entidad. Los permisos resultantes son la intersección de las políticas basadas en la identidad de la entidad y los límites de permisos. Las políticas basadas en recursos que especifiquen el usuario o rol en el campo Principal no estarán restringidas por el límite de permisos. Una denegación explícita en cualquiera de estas políticas anulará el permiso. Para obtener más información sobre los límites de los permisos, consulte Límites de permisos para las entidades de IAM en la Guía del usuario de IAM.

  • Políticas de control de servicios (SCP): las SCP son políticas de JSON que especifican los permisos máximos para una organización o unidad organizativa (OU). AWS Organizations AWS Organizations es un servicio para agrupar y gestionar de forma centralizada varios de los Cuentas de AWS que son propiedad de su empresa. Si habilita todas las características en una organización, entonces podrá aplicar políticas de control de servicio (SCP) a una o a todas sus cuentas. El SCP limita los permisos de las entidades en las cuentas de los miembros, incluidas las de cada una. Usuario raíz de la cuenta de AWS Para obtener más información acerca de Organizations y las SCP, consulte Funcionamiento de las SCP en la Guía del usuario de AWS Organizations .

  • Políticas de sesión: las políticas de sesión son políticas avanzadas que se pasan como parámetro cuando se crea una sesión temporal mediante programación para un rol o un usuario federado. Los permisos de la sesión resultantes son la intersección de las políticas basadas en identidades del rol y las políticas de la sesión. Los permisos también pueden proceder de una política en función de recursos. Una denegación explícita en cualquiera de estas políticas anulará el permiso. Para más información, consulte Políticas de sesión en la Guía del usuario de IAM.

Administre la función CodePipeline de servicio

La función de CodePipeline servicio se configura con una o más políticas que controlan el acceso a los AWS recursos utilizados por la canalización. Puede que desee adjuntar más políticas a esta función, editar la política asociada a la función o configurar políticas para otras funciones de servicio en AWS. También puede asociar una política a un rol al configurar el acceso entre cuentas en su canalización.

importante

Si se modifica la instrucción de una política o se asocia otra política al rol, es posible que las canalizaciones dejen de funcionar. Asegúrese de entender las implicaciones antes de modificar el rol de servicio CodePipeline de cualquier forma. Asegúrese de probar las canalizaciones después de implementar cualquier cambio en el rol de servicio.

nota

En la consola, los roles de servicio creados antes de septiembre de 2018 se crean con el nombre oneClick_AWS-CodePipeline-Service_ID-Number.

Los roles de servicio creados después de septiembre de 2018 usan el formato de nombre de rol de servicio AWSCodePipelineServiceRole-Region-Pipeline_Name. Por ejemplo, en el caso de una canalización denominada MyFirstPipeline en eu-west-2, la consola asigna un nombre al rol y a la política AWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline.

Quitar permisos del rol de servicio de CodePipeline

Puede editar la instrucción del rol de servicio para quitar el acceso a los recursos que no use. Por ejemplo, si ninguna de sus canalizaciones incluye Elastic Beanstalk, puede editar la instrucción de política para quitar la sección que concede acceso a los recursos de Elastic Beanstalk.

Del mismo modo, si ninguna de tus canalizaciones lo incluye CodeDeploy, puedes editar la declaración de política para eliminar la sección que concede acceso a CodeDeploy los recursos:

{ "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*", "Effect": "Allow" },

Agregar permisos al rol de servicio de CodePipeline

Debes actualizar tu declaración de política de roles de servicio con los permisos correspondientes a una declaración de política de roles de servicio predeterminada que aún Servicio de AWS no estén incluidos en la declaración de política de roles de servicio predeterminada para poder utilizarla en tus canalizaciones.

Esto es especialmente importante si la función de servicio que utilizas para tus canalizaciones se creó antes de que se añadiera el soporte CodePipeline para una. Servicio de AWS

En la siguiente tabla se muestra cuándo se añadió la compatibilidad con otros Servicios de AWS.

Servicio de AWS CodePipeline fecha de soporte
AWS CloudFormation StackSets acciones 30 de diciembre de 2020
CodeCommit formato de artefacto de salida de clonación completa 11 de noviembre de 2020
CodeBuild compilaciones por lotes 30 de julio de 2020
AWS AppConfig 22 de junio de 2020
AWS Step Functions 27 de mayo de 2020
AWS CodeStar Conexiones 18 de diciembre de 2019
Acción CodeDeployToECS 27 de noviembre de 2018
Amazon ECR 27 de noviembre de 2018
Service Catalog 16 de octubre de 2018
AWS Device Farm 19 de julio de 2018
Amazon ECS 12 de diciembre de 2017 /Actualización para optar por la autorización de etiquetado el 21 de julio de 2017
CodeCommit 18 de abril de 2016
AWS OpsWorks 2 de junio de 2016
AWS CloudFormation 3 de noviembre de 2016
AWS CodeBuild 1 de diciembre de 2016
Elastic Beanstalk Lanzamiento del servicio inicial

Siga estos pasos para añadir permisos a un servicio compatible:

  1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

  2. En la consola de IAM, en el panel de navegación, elija Roles y seleccione su rol AWS-CodePipeline-Service en la lista de roles.

  3. En la pestaña Permisos, en Políticas en línea, en la fila de su política de rol de servicio, elija Editar política.

  4. Añada los permisos necesarios en el cuadro Documento de política.

    nota

    Al crear políticas de IAM, siga los consejos de seguridad estándar de concesión de privilegios mínimos, es decir, conceder solo los permisos necesarios para realizar una tarea. Algunas llamadas a la API admiten los permisos basados en recursos y permiten limitar el acceso. Por ejemplo, en este caso, para limitar los permisos cuando se llama a DescribeTasks y ListTasks, puede sustituir el carácter comodín (*) por un ARN de recurso o por un ARN de recurso que contenga un carácter comodín (*). Para obtener más información acerca de la creación de un política que concede acceso con privilegios mínimos, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.

    Por ejemplo, para obtener CodeCommit asistencia, añada lo siguiente a su declaración de política:

    { "Effect": "Allow", "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive" ], "Resource": "resource_ARN" },

    Para obtener AWS OpsWorks apoyo, añada lo siguiente a su declaración de política:

    { "Effect": "Allow", "Action": [ "opsworks:CreateDeployment", "opsworks:DescribeApps", "opsworks:DescribeCommands", "opsworks:DescribeDeployments", "opsworks:DescribeInstances", "opsworks:DescribeStacks", "opsworks:UpdateApp", "opsworks:UpdateStack" ], "Resource": "resource_ARN" },

    Para obtener AWS CloudFormation apoyo, añada lo siguiente a su declaración de política:

    { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "iam:PassRole" ], "Resource": "resource_ARN" },

    Tenga en cuenta que el permiso cloudformation:DescribeStackEvents es opcional. Permite que la AWS CloudFormation acción muestre un mensaje de error más detallado. Puede revocar este permiso desde el rol de IAM si no quiere que los detalles de los recursos aparezcan en los mensajes de error de la canalización. Para obtener más información, consulte AWS CloudFormation.

    Para obtener CodeBuild asistencia, añada lo siguiente a su declaración de política:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "resource_ARN" },
    nota

    El soporte para compilaciones por lotes se agregó en una fecha posterior. Consulte el paso 11 para ver los permisos que se pueden añadir al rol de servicio para las compilaciones por lotes.

    Para obtener AWS Device Farm apoyo, añada lo siguiente a su declaración de política:

    { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "resource_ARN" },

    Para admitir Service Catalog, añada lo siguiente a su instrucción de política:

    { "Effect": "Allow", "Action": [ "servicecatalog:ListProvisioningArtifacts", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:DescribeProvisioningArtifact", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:UpdateProduct" ], "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": [ "cloudformation:ValidateTemplate" ], "Resource": "resource_ARN" }
  5. Para admitir Amazon ECR, añada lo siguiente a su instrucción de política:

    { "Effect": "Allow", "Action": [ "ecr:DescribeImages" ], "Resource": "resource_ARN" },
  6. A continuación se indican los permisos mínimos necesarios en Amazon ECS para crear canalizaciones con una acción de implementación de Amazon ECS.

    { "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:UpdateService" ], "Resource": "resource_ARN" },

    Puede optar por utilizar la autorización de etiquetado en Amazon ECS. Al suscribirse, debe otorgar los siguientes permisos: ecs:TagResource. Para obtener más información sobre cómo suscribirse y determinar si el permiso es obligatorio y si se aplica la autorización de etiquetas, consulte el Plazos de la autorización de etiquetado en la Guía para desarrolladores de Amazon Elastic Container Service.

    También debe añadir los permisos iam:PassRole para utilizar los rones de IAM en las tareas. Para obtener más información, consulte Rol de ejecución de tareas de Amazon ECS y Roles de IAM para tareas. Utilice la siguiente política:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }
  7. Para la CodeDeployToECS acción (despliegues azul/verde), los siguientes son los permisos mínimos necesarios para crear canalizaciones con una acción de despliegue azul/verde dirigida a CodeDeploy Amazon ECS.

    { "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetDeployment", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:GetDeploymentConfig", "ecs:RegisterTaskDefinition", "ecs:TagResource" ], "Resource": "resource_ARN" },

    Puede optar por utilizar la autorización de etiquetado en Amazon ECS. Al suscribirse, debe otorgar los siguientes permisos: ecs:TagResource. Para obtener más información sobre cómo suscribirse y determinar si el permiso es obligatorio y si se aplica la autorización de etiquetas, consulte el Plazos de la autorización de etiquetado en la Guía para desarrolladores de Amazon Elastic Container Service.

    También debe añadir los permisos iam:PassRole para utilizar los rones de IAM en las tareas. Para obtener más información, consulte Rol de ejecución de tareas de Amazon ECS y Roles de IAM para tareas. Utilice la siguiente política:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }

    También puede añadir ecs-tasks.amazonaws.com a la lista de servicios con la condición iam:PassedToService, como se muestra en este ejemplo.

    { "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "resource_ARN", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "cloudformation.amazonaws.com", "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } },
  8. En el caso de AWS CodeStar las conexiones, se requiere el siguiente permiso para crear canalizaciones con una fuente que utilice una conexión, como Bitbucket Cloud.

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "resource_ARN" },

    Para obtener más información sobre los permisos de IAM para las conexiones, consulte Referencia de permisos de conexiones.

  9. A continuación se indican los permisos mínimos que se necesitan en StepFunctions para crear canalizaciones con una acción de invocación de Step Functions.

    { "Effect": "Allow", "Action": [ "states:DescribeStateMachine", "states:DescribeExecution", "states:StartExecution" ], "Resource": "resource_ARN" },
  10. Para la AppConfig acción, los siguientes son los permisos mínimos necesarios para crear canalizaciones con una AWS AppConfig acción de invocación.

    { "Effect": "Allow", "Action": [ "appconfig:StartDeployment", "appconfig:GetDeployment", "appconfig:StopDeployment" ], "Resource": "resource_ARN" },
  11. Para CodeBuild admitir las compilaciones por lotes, añade lo siguiente a tu declaración de política:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuildBatches", "codebuild:StartBuildBatch" ], "Resource": "resource_ARN" },
  12. Para AWS CloudFormation StackSets las acciones, se requieren los siguientes permisos mínimos.

    • Para la acción CloudFormationStackSet, añada lo siguiente a su instrucción de política:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "resource_ARN" },
    • Para la acción CloudFormationStackInstances, añada lo siguiente a su instrucción de política:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "resource_ARN" },
  13. Para CodeCommit admitir la opción de clonación completa, añada lo siguiente a su declaración de política:

    { "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": "resource_ARN" },
    nota

    Para asegurarte de que tu CodeBuild acción puede utilizar la opción de clonación completa con una CodeCommit fuente, también debes añadir el codecommit:GitPull permiso a la declaración de política para la función de CodeBuild servicio de tu proyecto.

  14. A continuación se indican los permisos mínimos necesarios en para crear canalizaciones con una acción de implementación de ElasticBeanstalk.

    { "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "resource_ARN" },
    nota

    Debe sustituir los caracteres comodín de la política de recursos por los recursos de la cuenta a la que desee limitar el acceso. Para obtener más información acerca de la creación de un política que concede acceso con privilegios mínimos, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.

  15. Para una canalización que quieras configurar para CloudWatch Logs, los siguientes son los permisos mínimos que debes añadir a la función de CodePipeline servicio.

    { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "resource_ARN" },
    nota

    Debe sustituir los caracteres comodín de la política de recursos por los recursos de la cuenta a la que desee limitar el acceso. Para obtener más información acerca de la creación de un política que concede acceso con privilegios mínimos, consulte https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege.

  16. Elija Revisar política para asegurarse de que la política no contiene errores. Cuando la política no tenga errores, elija Aplicar política.