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 utilizar IAM para gestionar el acceso CodePipeline, debe comprender las funciones de IAM disponibles para su uso. CodePipeline Para obtener una visión general de cómo CodePipeline y otras Servicios de AWS formas de trabajar con IAM, consulte Servicios de AWS Cómo funcionan con IAM en la Guía del usuario de IAM.
Temas
Políticas de CodePipeline basadas en identidades
Con las políticas basadas en identidad de IAM, puede especificar las acciones permitidas o denegadas y los recursos, además de las condiciones en las que se permiten o deniegan las acciones. CodePipeline admite acciones, recursos y claves de condiciones específicos. Para obtener información sobre todos los elementos que utiliza en una política JSON, consulte Referencia de los elementos de las políticas JSON de IAM en la Guía del usuario de IAM.
Acciones
Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué entidad principal puedes realizar acciones en qué recursos y en qué condiciones.
El elemento Action
de una política JSON describe las acciones que puedes utilizar para conceder o denegar el acceso en una política. Las acciones políticas suelen tener el mismo nombre que la operación de AWS API asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. 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 usuario de IAM.
Recursos
Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué entidad principal puedes realizar acciones en qué recursos y en qué condiciones.
El elemento Resource
de la política JSON especifica el objeto u 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 utilizando el Nombre de recurso de Amazon (ARN). Puedes 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, utiliza 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 usar 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 al respecto ARNs, consulte Nombres de recursos de Amazon (ARN) y espacios de Servicio de AWS nombres en. Referencia general de Amazon Web Services Para obtener el ARN de canalización asociado a tu canalización, puedes encontrar el ARN de la canalización en Configuración de la consola. Para obtener más información, consulte Ver el ARN de la canalización y el ARN del rol de servicio (consola).
Tipo de recurso | Formato de ARN |
---|---|
Canalización |
arn:aws:codepipeline::: |
Escenario |
arn:aws:codepipeline:::/ |
Acción |
arn:aws:codepipeline:::/ |
Acción personalizada | arn:aws:codepipeline: ::tipo de acción:///region account owner category provider version |
Todos los CodePipeline recursos |
arn:aws:codepipeline:* |
Todos CodePipeline los recursos que pertenecen a la cuenta especificada en la región especificada |
arn:aws:codepipeline::: * |
nota
La mayoría de los servicios de 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. Se deben usar los caracteres de ARN correctos al crear patrones de eventos para que coincidan con la sintaxis de ARN de la canalización que desee usar.
En CodePipeline, hay llamadas a la API que admiten permisos a nivel de recursos. Los permisos de nivel de recursos indican si una llamada a la API puede especificar un ARN de recurso, o si solo puede especificar todos los recursos mediante el carácter comodín. Consulta CodePipeline referencia de permisos para obtener una descripción detallada de los permisos a nivel de recursos y una lista de las llamadas a la CodePipeline API que admiten los permisos a nivel de recursos.
Por ejemplo, puede indicar una canalización específica (myPipeline
) en su declaración utilizando su ARN de la siguiente manera:
"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 acción específica de la API no es compatible ARNs, utiliza el carácter comodín (*) del Resource
elemento de la siguiente manera:
"Resource": "
*
"
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. Si una llamada a la API es compatible ARNs, entonces admite permisos a nivel de recurso y no es necesario utilizar el carácter comodín (*).
Algunas llamadas a la CodePipeline API 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 las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué entidad principal puedes 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. Puedes crear expresiones condicionales que utilizan 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 puedes utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puedes conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario de IAM. Para obtener más información, consulte Elementos de la política de IAM: variables y etiquetas en la Guía del usuario de IAM.
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 usuario de IAM.
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 usuario de IAM.
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 usuario de IAM. Para saber con qué acciones y recursos puede utilizar una clave de condición, 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/
o key-name
aws:TagKeys
. Para obtener más información acerca del etiquetado de recursos de CodePipeline , consulte Etiquetado 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 los recursos de CodePipeline.
CodePipeline Funciones de IAM
Un rol de IAM es una entidad de tu AWS cuenta que tiene permisos específicos.
Usar credenciales temporales con CodePipeline
Puede utilizar credenciales temporales para iniciar sesión con federación, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Las credenciales de seguridad temporales se obtienen llamando a operaciones de AWS STS API 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 cuenta de IAM y son propiedad de la cuenta. Esto significa que un administrador de IAM puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la funcionalidad del servicio.
CodePipeline apoya las funciones de servicio.