¿Cómo AWS CodePipeline funciona con 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.

¿Cómo AWS CodePipeline funciona con IAM

Antes de administrar el acceso a CodePipeline, debe comprender qué IAM funciones están disponibles para su uso CodePipeline. IAM Para obtener una visión general de cómo funciona CodePipeline y otras Servicios de AWS funcionesIAM, consulte Servicios de AWS la Guía del IAM usuario sobre cómo trabajar con IAM ellas.

Políticas basadas en identidades de CodePipeline

Con las políticas IAM basadas en la identidad, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. CodePipeline admite acciones, recursos y claves de condición específicos. Para obtener información sobre todos los elementos que se utilizan en una JSON política, consulte la Referencia sobre los elementos de la IAM JSON política en la Guía del IAM usuario.

Acciones

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

El Action elemento de una JSON política describe las acciones que puede utilizar para permitir o denegar el acceso en una política. Las acciones de política suelen tener el mismo nombre que la AWS API operación asociada. Hay algunas excepciones, como las acciones que solo permiten permisos y que no tienen una operación coincidente. API También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.

Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Las acciones políticas CodePipeline utilizan el siguiente prefijo antes de la acción:. codepipeline:

Por ejemplo, para conceder a alguien permiso para ver las canalizaciones existentes en la cuenta, debe incluir la acción codepipeline:GetPipeline en su política. Las declaraciones de política deben incluir un NotAction elemento Action o. CodePipeline define su propio conjunto de acciones que describen las tareas que puede realizar con este servicio.

Para especificar varias acciones en una única instrucción, sepárelas con comas del siguiente modo:

"Action": [ "codepipeline:action1", "codepipeline:action2"

Puede utilizar caracteres comodín para especificar varias acciones (*). Por ejemplo, para especificar todas las acciones que comiencen con la palabra Get, incluya la siguiente acción:

"Action": "codepipeline:Get*"

Para obtener una lista de CodePipeline acciones, consulte las acciones definidas por AWS CodePipeline en la Guía del IAM usuario.

Recursos

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

El elemento Resource JSON de política especifica el objeto o los objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource o NotResource. Como práctica recomendada, especifique un recurso mediante su nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.

Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.

"Resource": "*"

CodePipeline recursos y operaciones

En CodePipeline, el recurso principal es una canalización. En una política, se utiliza un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. CodePipeline admite otros recursos que se pueden utilizar con el recurso principal, como etapas, acciones y acciones personalizadas. Estos elementos se denominan subrecursos. Estos recursos y subrecursos tienen nombres de recursos de Amazon (ARNs) exclusivos asociados a ellos. Para obtener más información sobreARNs, consulte Amazon Resource Names (ARN) y Servicio de AWS namespaces en. Referencia general de Amazon Web Services Para ARN asociar la canalización a tu canalización, puedes encontrarla en la sección ARN Configuración de la consola. Para obtener más información, consulte Vea la canalización ARN y la función de servicio ARN (consola).

Tipo de recurso ARNFormato

Canalización

arn:aws:codepipeline:region:account:pipeline-name

Escenario

arn:aws:codepipeline:region:account:pipeline-name/stage-name

Acción

arn:aws:codepipeline:region:account:pipeline-name/stage-name/action-name

Acción personalizada arn:aws:codepipeline:region:account: tipo de acción:owner/category/provider/version

Todos los recursos CodePipeline

arn:aws:codepipeline:*

Todos CodePipeline los recursos que pertenecen a la cuenta especificada en la región especificada

arn:aws:codepipeline:region:account:*

nota

La mayoría de los servicios AWS utilizan dos puntos (:)) o una barra diagonal (/) como el mismo carácter en. ARNs Sin embargo, CodePipeline utiliza una coincidencia exacta en los patrones y reglas de los eventos. Asegúrese de utilizar los ARN caracteres correctos al crear los patrones de eventos para que coincidan con la ARN sintaxis de la canalización que desee hacer coincidir.

En CodePipeline, hay API llamadas que admiten permisos a nivel de recurso. Los permisos a nivel de recursos indican si una API llamada puede especificar un recurso ARN o si la API llamada solo puede especificar todos los recursos mediante el comodín. Consulte CodePipeline referencia de permisos para obtener una descripción detallada de los permisos a nivel de recursos y una lista de las CodePipeline API llamadas que admiten permisos a nivel de recursos.

Por ejemplo, puedes indicar una canalización específica (myPipeline) en su declaración utilizando ARN lo siguiente:

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"

También puede especificar todas las canalizaciones que pertenezcan a una cuenta específica mediante el carácter comodín (*) del modo siguiente:

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"

Para especificar todos los recursos, o si una API acción específica no es compatibleARNs, utilice el carácter comodín (*) del Resource elemento de la siguiente manera:

"Resource": "*"
nota

Al crear IAM políticas, siga el consejo de seguridad estándar de conceder el mínimo privilegio, es decir, conceder solo los permisos necesarios para realizar una tarea. Si una API llamada es compatibleARNs, entonces admite permisos a nivel de recurso y no es necesario utilizar el carácter comodín (*).

Algunas CodePipeline API llamadas aceptan varios recursos (por ejemplo,). GetPipeline Para especificar varios recursos en una sola sentencia, sepárelos ARNs con comas, de la siguiente manera:

"Resource": ["arn1", "arn2"]

CodePipeline proporciona un conjunto de operaciones para trabajar con los CodePipeline recursos. Para ver la lista de las operaciones disponibles, consulte CodePipeline referencia de permisos.

Claves de condición

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

El elemento Condition (o bloque de Condition) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.

Si especifica varios elementos de Condition en una instrucción o varias claves en un único elemento de Condition, AWS las evalúa mediante una operación AND lógica. Si especifica varios valores para una única clave de condición, AWS evalúa la condición mediante una OR operación lógica. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.

También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder a un IAM usuario permiso para acceder a un recurso solo si está etiquetado con su nombre de IAM usuario. Para obtener más información, consulte los elementos de IAM política: variables y etiquetas en la Guía del IAM usuario.

AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición AWS globales, consulte las claves de contexto de condición AWS globales en la Guía del IAMusuario.

CodePipeline define su propio conjunto de claves de condición y también admite el uso de algunas claves de condición globales. Para ver todas las claves de condición AWS globales, consulte las claves de contexto de condición AWS globales en la Guía del IAM usuario.

Todas las EC2 acciones de Amazon admiten las claves de ec2:Region condición aws:RequestedRegion y. Para obtener más información, consulte Ejemplo: restricción del acceso a una región específica.

Para ver una lista de claves de CodePipeline condición, consulta las claves de condición AWS CodePipeline en la Guía del IAM usuario. Para saber con qué acciones y recursos puede utilizar una clave condicionada, consulte Acciones definidas por AWS CodePipeline.

Ejemplos

Para ver ejemplos de políticas CodePipeline basadas en la identidad, consulte. AWS CodePipeline ejemplos de políticas basadas en identidad de

CodePipeline políticas basadas en recursos

CodePipeline no admite políticas basadas en recursos. Sin embargo, se proporciona un ejemplo de política basada en recursos para el servicio S3 relacionado con. CodePipeline

Ejemplos

Para ver ejemplos de políticas CodePipeline basadas en recursos, consulte, Ejemplos de políticas basadas en recursos de AWS CodePipeline

Autorización basada en etiquetas de CodePipeline

Puede adjuntar etiquetas a CodePipeline los recursos o pasarles etiquetas en una solicitud. CodePipeline Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición codepipeline:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Para obtener más información sobre el etiquetado de CodePipeline recursos, consulteEtiquetado de recursos.

Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte Uso de etiquetas para controlar el acceso a CodePipeline los recursos.

CodePipeline IAMfunciones

Un IAMrol es una entidad de tu AWS cuenta que tiene permisos específicos.

Usar credenciales temporales con CodePipeline

Puede usar credenciales temporales para iniciar sesión con la federación, asumir un IAM rol o asumir un rol multicuenta. Para obtener credenciales de seguridad temporales, puede llamar a AWS STS API operaciones como AssumeRoleo GetFederationToken.

CodePipeline admite el uso de credenciales temporales.

Roles de servicio

CodePipeline permite que un servicio asuma una función de servicio en su nombre. Este rol permite que el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles de servicio aparecen en su IAM cuenta y son propiedad de la cuenta. Esto significa que un IAM administrador puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la funcionalidad del servicio.

CodePipeline admite funciones de servicio.