

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.

# Gestión de identidad y acceso para AWS CodeStar notificaciones y AWS CodeConnections
<a name="security-iam"></a>

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 AWS CodeStar las notificaciones y los recursos. AWS CodeConnections La IAM es una Servicio de AWS opción que puede utilizar sin coste adicional.

**nota**  
Están disponibles las acciones para los recursos que se crean con el nuevo prefijo `codeconnections` de servicio. La creación de un recurso con el nuevo prefijo de servicio se utilizará `codeconnections` en el ARN del recurso. Las acciones y los recursos del prefijo `codestar-connections` de servicio permanecen disponibles. Al especificar un recurso en la política de IAM, el prefijo del servicio debe coincidir con el del recurso.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticación con identidades](#security_iam_authentication)
+ [Administración del acceso con políticas](#security_iam_access-manage)
+ [Cómo funcionan las características de la consola de herramientas para desarrolladores con IAM](security_iam_service-with-iam.md)
+ [AWS CodeConnections referencia de permisos](#permissions-reference-connections)
+ [Ejemplos de políticas basadas en identidades](security_iam_id-based-policy-examples.md)
+ [Uso de etiquetas para controlar el acceso a los recursos AWS CodeConnections](connections-tag-based-access-control.md)
+ [Uso de notificaciones y conexiones en la consola](#security_iam_id-based-policy-examples-console)
+ [Permitir a los usuarios consultar sus propios permisos](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Solución de problemas: AWS CodeStar notificaciones, AWS CodeConnections identidad y acceso](security_iam_troubleshoot.md)
+ [Uso de funciones vinculadas a servicios para las notificaciones AWS CodeStar](using-service-linked-roles.md)
+ [Uso de roles vinculados a servicios para AWS CodeConnections](service-linked-role-connections.md)
+ [AWS políticas gestionadas para AWS CodeConnections](security-iam-awsmanpol.md)

## Público
<a name="security_iam_audience"></a>

La forma de usar AWS Identity and Access Management (IAM) varía según la función que desempeñes:
+ **Usuario del servicio:** solicite permisos al administrador si no puede acceder a las características (consulte [Solución de problemas: AWS CodeStar notificaciones, AWS CodeConnections identidad y acceso](security_iam_troubleshoot.md)).
+ **Administrador del servicio:** determine el acceso de los usuarios y envíe las solicitudes de permiso (consulte [Cómo funcionan las características de la consola de herramientas para desarrolladores con IAM](security_iam_service-with-iam.md)).
+ **Administrador de IAM**: escribe las políticas para administrar el acceso (consulte [Ejemplos de políticas basadas en identidades](security_iam_id-based-policy-examples.md)).

## Autenticación con identidades
<a name="security_iam_authentication"></a>

La autenticación es la forma en que inicias sesión AWS con tus credenciales de identidad. Debe autenticarse como usuario de Usuario raíz de la cuenta de AWS IAM o asumir una función de IAM.

Puede iniciar sesión como una identidad federada con las credenciales de una fuente de identidad, como AWS IAM Identity Center (IAM Identity Center), la autenticación de inicio de sesión único o las credenciales. Google/Facebook Para obtener más información sobre el inicio de sesión, consulte [Cómo iniciar sesión en la Cuenta de AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) en la *Guía del usuario de AWS Sign-In *.

Para el acceso programático, AWS proporciona un SDK y una CLI para firmar criptográficamente las solicitudes. Para obtener más información, consulte [AWS Signature Version 4 para solicitudes de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) en la *Guía del usuario de IAM*.

### Usuario raíz de la cuenta de AWS
<a name="security_iam_authentication-rootuser"></a>

 Al crear una Cuenta de AWS, se comienza con una identidad de inicio de sesión denominada *usuario Cuenta de AWS raíz*, que tiene acceso completo a todos los Servicios de AWS recursos. Se recomiendaencarecidamente que no utilice el usuario raíz para las tareas diarias. Para ver la lista completa de las tareas que requieren credenciales de usuario raíz, consulte [Tareas que requieren credenciales de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) en la *Guía del usuario de IAM*. 

### Usuarios y grupos de IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* es una identidad con permisos específicos para una sola persona o aplicación. Recomendamos el uso de credenciales temporales en lugar de usuarios de IAM con credenciales de larga duración. Para obtener más información, consulte [Exigir a los usuarios humanos que utilicen la federación con un proveedor de identidad para acceder AWS mediante credenciales temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) en la Guía del *usuario de IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica un conjunto de usuarios de IAM y facilita la administración de los permisos para grupos grandes de usuarios. Para obtener más información, consulte [Casos de uso para usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) en la *Guía del usuario de IAM*.

### Roles de IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[Rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* es una identidad con permisos específicos que proporciona credenciales temporales. Puede asumir un rol [cambiando de un rol de usuario a uno de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o llamando a una AWS CLI operación de AWS API. Para obtener más información, consulte [Métodos para asumir un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) en la *Guía del usuario de IAM*.

Los roles de IAM son útiles para el acceso de usuario federado, los permisos de usuario de IAM temporales, el acceso entre cuentas, el acceso entre servicios y las aplicaciones que se ejecutan en Amazon EC2. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Administración del acceso con políticas
<a name="security_iam_access-manage"></a>

 AWS Para controlar el acceso, puede crear políticas y adjuntarlas a AWS identidades o recursos. Una política define los permisos cuando están asociados a una identidad o un recurso. AWS evalúa estas políticas cuando un director hace una solicitud. La mayoría de las políticas se almacenan AWS como documentos JSON. Para obtener más información sobre los documentos de políticas de JSON, consulte [Información general de políticas de JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) en la *Guía del usuario de IAM*.

Mediante las políticas, los administradores especifican quién tiene acceso a qué, definiendo qué **entidad principal** puede realizar **acciones** sobre qué **recursos** y en qué **condiciones**.

De forma predeterminada, los usuarios y los roles no tienen permisos. Un administrador de IAM crea políticas de IAM y las agrega a roles, que los usuarios pueden asumir posteriormente. Las políticas de IAM definen permisos independientemente del método que se utilice para realizar la operación.

### Políticas basadas en identidades
<a name="security_iam_access-manage-id-based-policies"></a>

Las políticas basadas en identidad son documentos de política de permisos JSON que asocia a una identidad (usuario, grupo o rol). Estas políticas controlan qué acciones pueden realizar las identidades, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Las políticas basadas en identidad pueden ser *políticas insertadas* (incrustadas directamente en una sola identidad) o *políticas administradas* (políticas independientes asociadas a varias identidades). Para obtener información sobre cómo elegir entre políticas administradas e insertadas, consulte [Selección entre políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) en la *Guía del usuario de IAM*.

## AWS CodeConnections referencia de permisos
<a name="permissions-reference-connections"></a>

En las tablas siguientes se enumeran cada operación de la AWS CodeConnections API, las acciones correspondientes para las que puedes conceder permisos y el formato del ARN del recurso que se va a utilizar para conceder los permisos. AWS CodeConnections APIs Se agrupan en tablas según el alcance de las acciones permitidas por esa API. Consulte esta tabla cuando escriba políticas de permisos que pueda adjuntar a una identidad de IAM (políticas basadas en identidad). 

Al crear una política de permisos, debe especificar las acciones en el campo `Action`de la política. Debe especificar un valor del recurso en el campo `Resource` de la política como ARN, con o sin un carácter comodín (\$1). 

Para expresar condiciones en las políticas de conexiones, utilice las claves de condición descritas aquí y enumeradas en [Claves de condición](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). También puedes usar claves de condición que AWS abarquen todo el conjunto. Para obtener una lista completa de las claves AWS de ancho, consulte las [claves disponibles](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) en la Guía del usuario de *IAM*.

Para especificar una acción, use el prefijo `codeconnections` seguido del nombre de la operación API (por ejemplo, `codeconnections:ListConnections` o `codeconnections:CreateConnection`). 

**Uso de comodines **

Para especificar varias acciones o recursos, utilice el carácter de comodín (\$1) en el ARN. Por ejemplo, `codeconnections:*` especifica todas AWS CodeConnections las acciones y `codeconnections:Get*` especifica todas AWS CodeConnections las acciones que comienzan por la palabra. `Get` El siguiente ejemplo concede acceso a todos los recursos con nombres que comienzan con `MyConnection`. 

```
arn:aws:codeconnections:us-west-2:account-ID:connection/*
```

Solo puede utilizar caracteres comodín con los *connection* recursos que se muestran en la tabla siguiente. No puede usar caracteres comodín con nuestros recursos*region*. *account-id* Para obtener más información acerca de los comodines, consulte [identificadores de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) en la *Guía del usuario de IAM*. 

**Topics**
+ [Permisos para administrar conexiones](#permissions-reference-connections-managing)
+ [Permisos para administrar alojamientos](#permissions-reference-connections-hosts)
+ [Permisos para completar conexiones](#permissions-reference-connections-handshake)
+ [Permisos para configurar alojamientos](#connections-permissions-actions-host-registration)
+ [Pasar una conexión a un servicio](#permissions-reference-connections-passconnection)
+ [Uso de una conexión](#permissions-reference-connections-use)
+ [Tipos de acceso admitidos para `ProviderAction`](#permissions-reference-connections-access)
+ [Permisos compatibles con el etiquetado de recursos de conexión](#permissions-reference-connections-tagging)
+ [Pasar una conexión a un enlace de repositorio](#permissions-reference-connections-passrepository)
+ [Clave de condición compatible para los enlaces de repositorios](#permissions-reference-connections-branch)
+ [Permisos compatibles para compartir la conexión](#permissions-reference-connections-sharing)

### Permisos para administrar conexiones
<a name="permissions-reference-connections-managing"></a>

Un rol o usuario designado para usar el SDK AWS CLI o el SDK para ver, crear o eliminar conexiones debe tener los siguientes permisos limitados a lo siguiente.

**nota**  
No puede completar ni usar una conexión en la consola solo con los permisos siguientes. Debe agregar los permisos en [Permisos para completar conexiones](#permissions-reference-connections-handshake).

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
```

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections permisos necesarios para administrar las conexiones**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  CreateConnection  |  `codeconnections:CreateConnection` Se necesita para utilizar la CLI o la consola para crear una conexión.  |  arn:aws:codeconnections: ::connection/ *region* *account-id* *connection-id*  | 
|  DeleteConnection  |  `codeconnections:DeleteConnection` Se necesita para utilizar la CLI o la consola para eliminar una conexión.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  GetConnection  |  `codeconnections:GetConnection` Se necesita para utilizar la CLI o la consola para ver los detalles de una conexión.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  ListConnections  |  `codeconnections:ListConnections` Se necesita para utilizar la CLI o la consola para enumerar todas las conexiones de la cuenta.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 

Estas operaciones admiten las siguientes claves de condición:


| Action | Claves de condición | 
| --- | --- | 
|  `codeconnections:CreateConnection`  |  `codeconnections:ProviderType`  | 
|  codeconnections:DeleteConnection | N/A | 
| codeconnections:GetConnection | N/A | 
| codeconnections:ListConnections | codeconnections:ProviderTypeFilter | 

### Permisos para administrar alojamientos
<a name="permissions-reference-connections-hosts"></a>

Un rol o usuario designado para usar el SDK AWS CLI o el SDK para ver, crear o eliminar hosts debe tener permisos limitados a lo siguiente.

**nota**  
No puede completar ni utilizar una conexión en el alojamiento solo con los siguientes permisos. Debe agregar los permisos en [Permisos para configurar alojamientos](#connections-permissions-actions-host-registration).

```
codeconnections:CreateHost
codeconnections:DeleteHost
codeconnections:GetHost
codeconnections:ListHosts
```

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections permisos necesarios para administrar los hosts**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  CreateHost  |  `codeconnections:CreateHost` Se necesita para utilizar la CLI o la consola para crear un alojamiento.  |  arn:aws:codeconnections: ::host/ *region* *account-id* *host-id*  | 
|  DeleteHost  |  `codeconnections:DeleteHost` Se necesita para utilizar la CLI o la consola para eliminar un alojamiento.  |  conexiones de código: ::host/ *region* *account-id* *host-id*  | 
|  GetHost  |  `codeconnections:GetHost` Se necesita para utilizar la CLI o la consola para ver los detalles de un alojamiento.  |  *region*arn:aws:codeconnections: ::host/ *account-id* *host-id*  | 
|  ListHosts  |  `codeconnections:ListHosts` Se necesita para utilizar la CLI o la consola para enumerar todos los alojamientos de la cuenta.  |  arn:aws:codeconnections: *region* ::host/ *account-id* *host-id*  | 

Estas operaciones admiten las siguientes claves de condición:


| Action | Claves de condición | 
| --- | --- | 
|  `codeconnections:CreateHost`  |  `codeconnections:ProviderType` `codeconnections:VpcId`  | 
|  codeconnections:DeleteHost | N/A | 
| codeconnections:GetHost | N/A | 
| codeconnections:ListHosts | codeconnections:ProviderTypeFilter | 

Para ver un ejemplo de política que usa la clave de **VpcId**condición, consulte[Ejemplo: limitar los permisos de la VPC del host mediante la clave de contexto **VpcId**](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-vpc).

### Permisos para completar conexiones
<a name="permissions-reference-connections-handshake"></a>

Un rol o un usuario designado para administrar conexiones en la consola debe tener los permisos necesarios para completar una conexión en la consola y crear una instalación, lo que incluye autorizar el protocolo de enlace al proveedor y crear instalaciones para que se utilicen las conexiones. Utilice los siguientes permisos además de los anteriores.

La consola utiliza las siguientes operaciones de IAM al realizar el protocolo de conexión basado en navegador. `ListInstallationTargets`, `GetInstallationUrl`, `StartOAuthHandshake`, `UpdateConnectionInstallation` y `GetIndividualAccessToken` son permisos de política de IAM. No son acciones de API.

```
codeconnections:GetIndividualAccessToken
codeconnections:GetInstallationUrl
codeconnections:ListInstallationTargets
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
```

En función de esto, se necesitan los siguientes permisos para utilizar, crear, actualizar o eliminar una conexión en la consola. 

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
codeconnections:UseConnection
codeconnections:ListInstallationTargets
codeconnections:GetInstallationUrl
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
codeconnections:GetIndividualAccessToken
```

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections permisos necesarios para completar las conexiones**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `GetIndividualAccessToken`  |  `codeconnections:GetIndividualAccessToken` Se necesita para utilizar la consola para completar una conexión. Se trata únicamente de un permiso de política de IAM, no de una acción de API.  |  arn:aws:codeconnections: ::connection/ *region* *account-id* *connection-id*  | 
|  `GetInstallationUrl`  |  `codeconnections:GetInstallationUrl` Se necesita para utilizar la consola para completar una conexión. Se trata únicamente de un permiso de política de IAM, no de una acción de API.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `ListInstallationTargets`  |  `codeconnections:ListInstallationTargets` Se necesita para utilizar la consola para completar una conexión. Se trata únicamente de un permiso de política de IAM, no de una acción de API.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `StartOAuthHandshake`  |  `codeconnections:StartOAuthHandshake` Se necesita para utilizar la consola para completar una conexión. Se trata únicamente de un permiso de política de IAM, no de una acción de API.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `UpdateConnectionInstallation`  |  `codeconnections:UpdateConnectionInstallation` Se necesita para utilizar la consola para completar una conexión. Se trata únicamente de un permiso de política de IAM, no de una acción de API.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 

Estas operaciones admiten las siguientes claves de condición.


| Action | Claves de condición | 
| --- | --- | 
| codeconnections:GetIndividualAccessToken | codeconnections:ProviderType | 
|  codeconnections:GetInstallationUrl | codeconnections:ProviderType | 
|  `codeconnections:ListInstallationTargets`  |  N/A  | 
| codeconnections:StartOAuthHandshake | codeconnections:ProviderType | 
| codeconnections:UpdateConnectionInstallation | codeconnections:InstallationId | 

### Permisos para configurar alojamientos
<a name="connections-permissions-actions-host-registration"></a>

Un rol o un usuario designado para administrar conexiones en la consola debe tener los permisos necesarios para configurar un alojamiento en la consola, lo que incluye la autorización del protocolo de enlace al proveedor y la instalación de la aplicación del alojamiento. Utilice los siguientes permisos además de los permisos para alojamientos anteriores.

La consola utiliza las siguientes operaciones de IAM cuando realiza el registro de alojamiento basado en navegador. `RegisterAppCode` y `StartAppRegistrationHandshake` son permisos de política de IAM. No son acciones de API.

```
codeconnections:RegisterAppCode
codeconnections:StartAppRegistrationHandshake
```

En función de esto, se necesitan los siguientes permisos para utilizar, crear, actualizar o eliminar una conexión en la consola que requiere un alojamiento (como, por ejemplo, tipos de proveedor instalados). 

```
codeconnections:CreateConnection
codeconnections:DeleteConnection
codeconnections:GetConnection
codeconnections:ListConnections
codeconnections:UseConnection
codeconnections:ListInstallationTargets
codeconnections:GetInstallationUrl
codeconnections:StartOAuthHandshake
codeconnections:UpdateConnectionInstallation
codeconnections:GetIndividualAccessToken
codeconnections:RegisterAppCode
codeconnections:StartAppRegistrationHandshake
```

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections permisos necesarios para completar la configuración del host**  

| Acciones de conexiones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `RegisterAppCode`  |  `codeconnections:RegisterAppCode` Se necesita para utilizar la consola para completar la configuración del alojamiento. Se trata únicamente de un permiso de política de IAM, no de una acción de API.  |  arn:aws:codeconnections: ::host/ *region* *account-id* *host-id*  | 
|  `StartAppRegistrationHandshake`  |  `codeconnections:StartAppRegistrationHandshake` Se necesita para utilizar la consola para completar la configuración del alojamiento. Se trata únicamente de un permiso de política de IAM, no de una acción de API.  |  arn:aws:codeconnections: *region* ::host/ *account-id* *host-id*  | 

Estas operaciones admiten las siguientes claves de condición.

### Pasar una conexión a un servicio
<a name="permissions-reference-connections-passconnection"></a>

Cuando se pasa una conexión a un servicio (por ejemplo, cuando se proporciona un ARN de conexión en una definición de canalización para crear o actualizar una canalización), el usuario debe tener el permiso `codeconnections:PassConnection`.

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections permisos necesarios para transferir una conexión**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `PassConnection`  |  `codeconnections:PassConnection` Se necesita para pasar una conexión a un servicio.  |  arn:aws:codeconnections: ::connection/ *region* *account-id* *connection-id*  | 

Esta operación también admite la siguiente clave de condición:
+ `codeconnections:PassedToService`


**Valores admitidos para claves de condición**  

| Key | Proveedores válidos de la acción | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/dtconsole/latest/userguide/security-iam.html)  | 

### Uso de una conexión
<a name="permissions-reference-connections-use"></a>

Cuando un servicio como este CodePipeline usa una conexión, el rol del servicio debe tener el `codeconnections:UseConnection` permiso para una conexión determinada.

Para administrar las conexiones en la consola, la política de usuario debe tener el permiso `codeconnections:UseConnection`.

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections acción necesaria para utilizar las conexiones**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `UseConnection`  |  `codeconnections:UseConnection` Se necesita para utilizar una conexión.  |  arn:aws:codeconnections: ::connection/ *region* *account-id* *connection-id*  | 

Esta operación también admite las siguientes claves de condición:
+ `codeconnections:BranchName`
+ `codeconnections:FullRepositoryId`
+ `codeconnections:OwnerId`
+ `codeconnections:ProviderAction`
+ `codeconnections:ProviderPermissionsRequired`
+ `codeconnections:RepositoryName`


**Valores admitidos para claves de condición**  

| Key | Proveedores válidos de la acción | 
| --- | --- | 
|  `codeconnections:FullRepositoryId`  |  Nombre de usuario y nombre de repositorio de un repositorio, como `my-owner/my-repository`. Se admite solo cuando la conexión se utiliza para obtener acceso a un repositorio específico.  | 
|  `codeconnections:ProviderPermissionsRequired`  |  read\$1only o read\$1write  | 
|  `codeconnections:ProviderAction`  |  `GetBranch`, `ListRepositories`, `ListOwners`, `ListBranches`, `StartUploadArchiveToS3`, `GitPush`, `GitPull`, `GetUploadArchiveToS3Status`, `CreatePullRequestDiffComment`, `GetPullRequest`, `ListBranchCommits`, `ListCommitFiles`, `ListPullRequestComments`, `ListPullRequestCommits`. Para obtener información, consulte la siguiente sección.  | 

Las claves de condición necesarias para algunas funciones pueden cambiar con el tiempo. Es recomendable que utilice `codeconnections:UseConnection` para controlar el acceso a una conexión, a menos que sus requisitos de control de acceso requieran permisos diferentes.

### Tipos de acceso admitidos para `ProviderAction`
<a name="permissions-reference-connections-access"></a>

Cuando un AWS servicio utiliza una conexión, se realizan llamadas a la API a su proveedor de código fuente. Por ejemplo, un servicio puede mostrar los repositorios para una conexión de Bitbucket llamando a la API `https://api.bitbucket.org/2.0/repositories/username`.

La clave de `ProviderAction` condición te permite restringir APIs a qué proveedor se puede llamar. Como la ruta de la API se puede generar de forma dinámica y varía de un proveedor a otro, el valor `ProviderAction` se mapea a un nombre de acción abstracto en lugar de a la URL de la API. Esto le permite escribir políticas que tengan el mismo efecto independientemente del tipo de proveedor de la conexión.

A continuación, se encuentran los tipos de acceso que se conceden para cada uno de los valores `ProviderAction` admitidos. A continuación, se presentan permisos de política de IAM. No son acciones de API.

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections tipos de acceso compatibles para `ProviderAction`**  

| AWS CodeConnections permiso | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `GetBranch`  |  ` codeconnections:GetBranch` Se necesita para acceder a la información sobre una ramificación, como, por ejemplo, la última confirmación de esa ramificación.  |  arn:aws:codeconnections: ::connection/ *region* *account-id* *connection-id*  | 
|  `ListRepositories`  |  ` codeconnections:ListRepositories` Se necesita para acceder a una lista de repositorios públicos y privados, incluidos los detalles de esos repositorios, que pertenecen a un propietario.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `ListOwners`  |  `codeconnections:ListOwners` Se necesita para acceder a una lista de propietarios a los que la conexión tiene acceso.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `ListBranches`  |  ` codeconnections:ListBranches` Se necesita para acceder a la lista de ramificaciones que existen en un repositorio determinado.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `StartUploadArchiveToS3`  |  ` codeconnections:StartUploadArchiveToS3` Se necesita para leer el código fuente y cargarlo en Amazon S3.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `GitPush`  |  ` codeconnections:GitPush` Se necesita para escribir en un repositorio con Git.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `GitPull`  |  ` codeconnections:GitPull` Se necesita para leer desde un repositorio con Git.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
| GetUploadArchiveToS3Status |  ` codeconnections:GetUploadArchiveToS3Status` Se necesita para acceder al estado de una carga, incluidos los mensajes de error, iniciada por `StartUploadArchiveToS3`.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
| CreatePullRequestDiffComment |  ` codeconnections:CreatePullRequestDiffComment` Se necesita para acceder a los comentarios de una solicitud de extracción.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
| GetPullRequest |  ` codeconnections:GetPullRequest` Se necesita para ver las solicitudes de extracción de un repositorio.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `ListBranchCommits`  |  ` codeconnections:ListBranchCommits` Se necesita para ver una lista de confirmaciones de una ramificación de repositorio.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `ListCommitFiles`  |  ` codeconnections:ListCommitFiles` Se necesita para ver una lista de archivos de una confirmación.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `ListPullRequestComments`  |  ` codeconnections:ListPullRequestComments` Se necesita para ver una lista de comentarios de una solicitud de extracción.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 
|  `ListPullRequestCommits`  |  ` codeconnections:ListPullRequestCommits` Se necesita para ver una lista de confirmaciones de una solicitud de extracción.  |  arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*  | 

### Permisos compatibles con el etiquetado de recursos de conexión
<a name="permissions-reference-connections-tagging"></a>

Las siguientes operaciones de IAM se utilizan al etiquetar los recursos de conexión.

```
codeconnections:ListTagsForResource
codeconnections:TagResource
codeconnections:UntagResource
```

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections acciones necesarias para etiquetar los recursos de conexión**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `ListTagsForResource`  |  `codeconnections:ListTagsForResource` Se necesita para ver una lista de etiquetas asociadas al recurso de conexión.  | arn:aws:codeconnections: ::connection/ *region* *account-id* *connection-id*,arn:aws:codeconnections: *region* ::host/ *account-id* *host-id* | 
|  `TagResource`  |  `codeconnections:TagResource` Se necesita para etiquetar un recurso de conexión.  | arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*,arn:aws:codeconnections: *region* ::host/ *account-id* *host-id* | 
|  `UntagResource`  |  `codeconnections:UntagResource` Se necesita para eliminar etiquetas de un recurso de conexión.  | arn:aws:codeconnections: *region* ::connection/ *account-id* *connection-id*,arn:aws:codeconnections: *region* ::host/ *account-id* *host-id* | 

### Pasar una conexión a un enlace de repositorio
<a name="permissions-reference-connections-passrepository"></a>

Cuando se proporciona un enlace al repositorio en una configuración de sincronización, el usuario debe tener el permiso `codeconnections:PassRepository` para el ARN o recurso del enlace al repositorio.

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections permisos necesarios para transferir una conexión**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `PassRepository`  |  `codeconnections:PassRepository` Necesario para pasar un enlace de repositorio a una configuración de sincronización.  |  arn:aws:codeconnections: :repository-link/ *region* *account-id* *repository-link-id*  | 

Esta operación también admite la siguiente clave de condición:
+ `codeconnections:PassedToService`


**Valores admitidos para claves de condición**  

| Key | Proveedores válidos de la acción | 
| --- | --- | 
|  `codeconnections:PassedToService`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/dtconsole/latest/userguide/security-iam.html)  | 

### Clave de condición compatible para los enlaces de repositorios
<a name="permissions-reference-connections-branch"></a>

La siguiente clave de condición admite las operaciones de los enlaces de repositorio y los recursos de configuración de sincronización:
+ `codeconnections:Branch`

  Filtra el acceso por el nombre de ramificación que se incluye en la solicitud.


**Acciones compatibles con la clave de condición**  

| Key | Valores válidos | 
| --- | --- | 
|  `codeconnections:Branch`  | Esta clave de condición admite las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/dtconsole/latest/userguide/security-iam.html) | 

### Permisos compatibles para compartir la conexión
<a name="permissions-reference-connections-sharing"></a>

Las siguientes operaciones de IAM se utilizan al compartir conexiones.

```
codeconnections:GetResourcePolicy
```

Utilice las barras de desplazamiento para ver el resto de la tabla.


**AWS CodeConnections acciones necesarias para compartir conexiones**  

| AWS CodeConnections acciones | Permisos necesarios  | Recursos | 
| --- | --- | --- | 
|  `GetResourcePolicy`  |  `codeconnections:GetResourcePolicy` Necesario para acceder a la información sobre la política de recursos.  | arn:aws:codeconnections: ::connection/ *region* *account-id* *connection-id* | 

Para obtener más información sobre la conexión compartida, consulte[Comparta conexiones con Cuentas de AWS](connections-share.md).

## Uso de notificaciones y conexiones en la consola
<a name="security_iam_id-based-policy-examples-console"></a>

La experiencia de notificaciones está integrada en las CodePipeline consolas CodeBuild CodeCommit, CodeDeploy, y, además, en la consola Developer Tools, situada en la propia barra de navegación de **configuración**. Para tener acceso a las notificaciones de las consolas, debe tener aplicada una de las políticas administradas para esos servicios o tener un conjunto mínimo de permisos. Estos permisos deben permitirte enumerar y ver detalles sobre las AWS CodeStar notificaciones y AWS CodeConnections los recursos de tu AWS cuenta. Si crea una política basada en identidad que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles de IAM) que tengan esa política. Para obtener más información sobre la concesión de acceso a AWS CodeBuild AWS CodeCommit AWS CodeDeploy,, y AWS CodePipeline, incluido el acceso a esas consolas, consulta los siguientes temas:
+ CodeBuild: [Uso de políticas basadas en la identidad](https://docs.aws.amazon.com/codebuild/latest/userguide/security_iam_id-based-policy-examples.html#managed-policies) para CodeBuild
+ CodeCommit: [Utilizar políticas basadas en la identidad para CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html)
+ AWS CodeDeploy: Gestión [de identidad y acceso para AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/security-iam.html)
+ CodePipeline: [Control de acceso con políticas de IAM](https://docs.aws.amazon.com/codepipeline/latest/userguide/access-control.html)

AWS CodeStar Las notificaciones no tienen ninguna política AWS gestionada. Para proporcionar acceso a la funcionalidad de notificación, debe aplicar una de las políticas administradas para uno de los servicios enumerados anteriormente o debe crear políticas con el nivel de permiso que desea conceder a los usuarios o entidades y, luego, adjuntar esas políticas a los usuarios, los grupos o los roles que necesitan esos permisos. Para obtener más información y ejemplos, consulte lo siguiente:
+ [Ejemplo: una política a nivel de administrador para gestionar las notificaciones AWS CodeStar](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-full-access)
+ [Ejemplo: una política a nivel de colaborador para usar las notificaciones AWS CodeStar](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-contributor)
+ [Ejemplo: una read-only-level política para usar AWS CodeStar las notificaciones](security_iam_id-based-policy-examples-notifications.md#security_iam_id-based-policy-examples-notifications-read-only).



AWS CodeConnections no tiene ninguna política AWS gestionada. Utilice los permisos y las combinaciones de permisos de acceso, como los permisos detallados en [Permisos para completar conexiones](#permissions-reference-connections-handshake). 

Para obtener más información, consulte los siguientes temas:
+ [Ejemplo: una política de administración a nivel de administrador AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-fullaccess)
+ [Ejemplo: una política de uso a nivel de colaborador AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-contributor)
+ [Ejemplo: una read-only-level política de uso AWS CodeConnections](security_iam_id-based-policy-examples-connections.md#security_iam_id-based-policy-examples-connections-readonly)

No es necesario que concedas permisos de consola a los usuarios que solo realizan llamadas a la API AWS CLI o a la AWS API. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.

## Permitir a los usuarios consultar sus propios permisos
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la API AWS CLI o AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```