

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
<a name="security_iam_service-with-iam"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

**Topics**
+ [CodePipeline políticas basadas en la identidad](#security_iam_service-with-iam-id-based-policies)
+ [CodePipeline políticas basadas en recursos](#security_iam_service-with-iam-resource-based-policies)
+ [Autorización basada en etiquetas CodePipeline](#security_iam_service-with-iam-tags)
+ [CodePipeline Funciones de IAM](#security_iam_service-with-iam-roles)

## CodePipeline políticas basadas en la identidad
<a name="security_iam_service-with-iam-id-based-policies"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

### Acciones
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

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**.

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. 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 (\$1). 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions) en la *Guía del usuario de IAM*.

### Recursos
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

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**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```



#### recursos y operaciones
<a name="ACP_ARN_Format"></a>

En , el recurso principal es una canalización. En una política, se usa un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. es compatible con 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](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 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)](pipelines-settings-console.md).


| Tipo de recurso | Formato de ARN | 
| --- | --- | 
|  Canalización  |  arn:aws:codepipeline::: *region* *account* *pipeline-name*  | 
| Etapa |  arn:aws:codepipeline:::/*region**account**pipeline-name**stage-name*  | 
| Action |  arn:aws:codepipeline:::/*region**account**pipeline-name**stage-name**action-name*  | 
| Acción personalizada | arn:aws:codepipeline: ::tipo de acción:///regionaccountownercategoryproviderversion | 
|  Todos los recursos  |  arn:aws:codepipeline:\$1  | 
|  Todos los recursos de que pertenecen a la cuenta especificada en la región indicada  |  arn:aws:codepipeline*region*::*account*: \$1  | 

**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, utiliza una coincidencia exacta en los patrones de eventos y reglas. 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 , existen las llamadas a la API que admiten permisos de 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. Consulte [referencia de permisos](permissions-reference.md) 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 (\$1) 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 (\$1) 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 (\$1).

Algunas llamadas a la 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"]
```

 proporciona un conjunto de operaciones para trabajar con los recursos. Para ver la lista de las operaciones disponibles, consulte [referencia de permisos](permissions-reference.md).

### Claves de condición
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.



 Todas las acciones de Amazon EC2 admiten las claves de condición `aws:RequestedRegion` y `ec2:Region`. Para obtener más información, consulte [Ejemplo: restricción del acceso a una región específica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region). 

Para ver una lista de claves de CodePipeline condición, consulte las claves de [condición AWS CodePipeline en la](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-policy-keys) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions).

### Ejemplos
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver ejemplos de políticas CodePipeline basadas en la identidad, consulte. [AWS CodePipeline ejemplos de políticas basadas en la identidad](security_iam_id-based-policy-examples.md)

## CodePipeline políticas basadas en recursos
<a name="security_iam_service-with-iam-resource-based-policies"></a>

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
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Para ver ejemplos de políticas CodePipeline basadas en recursos, consulte, [AWS CodePipeline ejemplos de políticas basadas en recursos](security_iam_resource-based-policy-examples.md)

## Autorización basada en etiquetas CodePipeline
<a name="security_iam_service-with-iam-tags"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 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 acerca del etiquetado de recursos de CodePipeline , consulte [Etiquetado de recursos](tag-resources.md).

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 CodePipeline](tag-based-access-control.md).

## CodePipeline Funciones de IAM
<a name="security_iam_service-with-iam-roles"></a>

Un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) es una entidad de tu AWS cuenta que tiene permisos específicos.

### Usar credenciales temporales con CodePipeline
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

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 [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)o [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

CodePipeline admite el uso de credenciales temporales. 

### Roles de servicio
<a name="security_iam_service-with-iam-roles-service"></a>

CodePipeline permite que un servicio asuma una [función de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) 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. 