

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.

# Uso de políticas basadas en la identidad (políticas de IAM) para CodeCommit
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

Los siguientes ejemplos de políticas basadas en la identidad demuestran cómo un administrador de cuentas puede adjuntar políticas de permisos a las identidades de IAM (usuarios, grupos y funciones) a fin de conceder permisos para realizar operaciones en los recursos. CodeCommit 

**importante**  
Le recomendamos que consulte primero los temas introductorios en los que se explican los conceptos básicos y las opciones disponibles para administrar el acceso a sus recursos. CodeCommit Para obtener más información, consulte [Descripción general de la administración de los permisos de acceso a sus CodeCommit recursos](auth-and-access-control.md#auth-and-access-control-iam-access-control-identity-based).

**Topics**
+ [Permisos necesarios para usar la consola CodeCommit](#console-permissions)
+ [Visualización de recursos en la consola](#console-resources)
+ [AWS políticas gestionadas para CodeCommit](security-iam-awsmanpol.md)
+ [Ejemplos de políticas administradas por el cliente](customer-managed-policies.md)

A continuación, se muestra un ejemplo de una política de permisos basada en identidad: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codecommit:BatchGetRepositories"
      ],
      "Resource" : [
        "arn:aws:codecommit:us-east-2:111122223333:MyDemoRepo",
        "arn:aws:codecommit:us-east-2:111122223333:MyDemo*"
      ]
    }
  ]
}
```

------

Esta política tiene una declaración que permite al usuario obtener información sobre el CodeCommit repositorio nombrado `MyDestinationRepo` y todos los CodeCommit repositorios que comienzan con ese nombre `MyDemo` en la **us-east-2** región. 

## Permisos necesarios para usar la consola CodeCommit
<a name="console-permissions"></a>

Para ver los permisos necesarios para cada operación de la CodeCommit API y obtener más información sobre CodeCommit las operaciones, consulte[CodeCommit referencia de permisos](auth-and-access-control-permissions-reference.md).

Para permitir que los usuarios usen la CodeCommit consola, el administrador debe concederles permisos para CodeCommit realizar acciones. Por ejemplo, puede adjuntar la política [AWSCodeCommitPowerUser](security-iam-awsmanpol.md#managed-policies-poweruser)administrada o su equivalente a un usuario o grupo.

Además de los permisos que otorgan a los usuarios las políticas basadas en la identidad, CodeCommit requiere permisos para las acciones de AWS Key Management Service (AWS KMS). Un usuario de IAM no necesita permisos explícitos de `Allow` para estas acciones, pero el usuario no debe tener políticas asociadas que definan los siguientes permisos como `Deny`:

```
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:DescribeKey"
```

Para obtener más información sobre el cifrado CodeCommit, consulte. [AWS KMS y cifrado](encryption.md)

## Visualización de recursos en la consola
<a name="console-resources"></a>

La CodeCommit consola necesita el `ListRepositories` permiso para mostrar una lista de los repositorios de su cuenta de Amazon Web Services en la Región de AWS que ha iniciado sesión. La consola también incluye una función **Go to resource (Ir al recurso)** para realizar una búsqueda rápida de recursos sin distinción entre mayúsculas y minúsculas. Esta búsqueda se realiza en su cuenta de Amazon Web Services en la Región de AWS que ha iniciado sesión. Los siguientes recursos se muestran en los siguientes servicios:
+ AWS CodeBuild: proyectos de compilación
+ AWS CodeCommit: repositorios
+ AWS CodeDeploy: aplicaciones
+ AWS CodePipeline: canalizaciones

Para realizar esta búsqueda en los recursos de todos los servicios, debe contar con los siguientes permisos:
+ CodeBuild: `ListProjects`
+ CodeCommit: `ListRepositories`
+ CodeDeploy: `ListApplications`
+ CodePipeline: `ListPipelines`

Los resultados de los recursos de un servicio no se devuelven si no tiene permisos para ese servicio. Aunque tenga permisos para ver los recursos, no se devolverán recursos específicos si hay un permiso `Deny` explícito para ver esos recursos.