

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.

# AWS Key Management Service y cifrado para AWS CodeCommit repositorios
<a name="encryption"></a>

Los datos de los CodeCommit repositorios se cifran en tránsito y en reposo. Cuando los datos se introducen en un CodeCommit repositorio (por ejemplo, mediante una llamada**git push**), CodeCommit cifra los datos recibidos tal como se almacenan en el repositorio. Cuando se extraen datos de un CodeCommit repositorio (por ejemplo, mediante una llamada**git pull**), CodeCommit los descifra y, a continuación, los envía a la persona que llama. Esto supone que el usuario de IAM asociado a la solicitud de inserción o extracción ha sido autenticado por. AWS Los datos enviados o recibidos se transmiten mediante los protocolos de red cifrada HTTPS o SSH.

Puede utilizar una clave gestionada por el cliente Clave administrada de AWS o una clave gestionada por el cliente para cifrar y descifrar los datos de su repositorio. Para obtener más información sobre las diferencias entre las claves administradas por el cliente y Claves administradas por AWS, consulte [Claves administradas por el cliente y Claves administradas por AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt). Si no especificas una clave gestionada por el cliente, CodeCommit utilizará una Clave administrada de AWS para cifrar y descifrar los datos de tu repositorio. Este Clave administrada de AWS se crea automáticamente para usted en su Cuenta de AWS. La primera vez que crees un CodeCommit repositorio en una nueva Región de AWS cuenta de Amazon Web Services, si no especificas una clave gestionada por el cliente, CodeCommit crea una Clave administrada de AWS (la `aws/codecommit` clave) en esa misma cuenta Región de AWS en AWS Key Management Service (AWS KMS). Esta `aws/codecommit` clave solo la utilizan CodeCommit. Se almacena en su cuenta de Amazon Web Services. Según lo que especifique, utilizará CodeCommit la clave gestionada por el cliente o la Clave administrada de AWS para cifrar y descifrar los datos del repositorio. 

**importante**  
 CodeCommit realiza las siguientes AWS KMS acciones con la AWS KMS clave utilizada para cifrar y descifrar los datos de un repositorio. Si utilizas una Clave administrada de AWS, el usuario no necesita permisos explícitos para realizar estas acciones, pero no debe tener ninguna política adjunta que deniegue estas acciones para la `aws/codecommit` clave. Si utilizas una clave gestionada por el cliente que tiene un Cuenta de AWS identificador establecido como principal de política para esa clave, estos permisos deben estar configurados de forma explícita en`allow`. En concreto, cuando crees tu primer repositorio y si actualizas las claves de tu repositorio, no debes tener ninguno de los siguientes permisos establecidos `deny` si utilizas una Clave administrada de AWS, y debes configurarlos `allow` si utilizas una clave gestionada por el cliente con un principio de política:  
`"kms:Encrypt"`
`"kms:Decrypt"`
`"kms:ReEncrypt"` (según el contexto, esto podría requerir `kms:ReEncryptFrom`,   
`kms:ReEncryptTo`, o `kms:ReEncrypt*` no configurado en denegación)
`"kms:GenerateDataKey"`
`"kms:GenerateDataKeyWithoutPlaintext"`
`"kms:DescribeKey"`

Si desea utilizar su propia clave gestionada por el cliente, la clave debe estar disponible en el Región de AWS lugar donde se encuentra el repositorio. CodeCommit admite el uso de claves administradas por clientes de una o varias regiones. Si bien se admiten todos los tipos de origen de materiales clave, recomendamos utilizar la opción **KMS** predeterminada. Los clientes que utilizan la opción de **Almacén de claves externo** pueden sufrir retrasos por parte del proveedor de la tienda. Además. CodeCommit tiene los siguientes requisitos para las claves gestionadas por el cliente:
+ CodeCommit solo admite el uso de claves simétricas.
+ El tipo de uso de la clave debe estar establecido en **Cifrar y descifrar**.

Para obtener más información sobre la creación de claves administradas por el cliente, consulte [Conceptos](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt) y [Creación de claves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).

Para ver información sobre lo Clave administrada de AWS generado por CodeCommit, haga lo siguiente:

1. Inicie sesión en la consola AWS Key Management Service (AWS KMS) Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/kms.](https://console.aws.amazon.com/kms)

1. Para cambiarla Región de AWS, usa el selector de regiones en la esquina superior derecha de la página.

1. En el panel de navegación de servicio, seleccione **Claves administradas por AWS**. Asegúrese de haber iniciado sesión en el Región de AWS lugar donde desea revisar las claves. 

1. En la lista de claves de cifrado, elija la Clave administrada de AWS con el alias **aws/codecommit**. Se muestra información básica sobre el Clave propiedad de AWS .

No puede cambiarlo ni eliminarlo Clave administrada de AWS. 

## Cómo se utilizan los algoritmos de cifrado para cifrar los datos del repositorio
<a name="encryption-algorithms"></a>

CodeCommit utiliza dos enfoques diferentes para cifrar los datos. Los objetos de Git individuales de menos de 6 MB se cifran utilizando AES-GCM-256, que proporciona validación de integridad de los datos. Los objetos de entre 6 MB y un máximo de 2 GB para un único blob se cifran mediante AES-CBC-256. CodeCommit siempre valida el contexto de cifrado.

## Contexto de cifrado
<a name="encryption-context"></a>

Cada servicio integrado AWS KMS especifica un contexto de cifrado para las operaciones de cifrado y descifrado. El contexto de cifrado consta de información autenticada adicional que usa AWS KMS para comprobar la integridad de los datos. Si se ha especificado para la operación de cifrado, también debe especificarse en la operación de descifrado. De lo contrario, se produce un error en el descifrado. CodeCommit utiliza el identificador del CodeCommit repositorio para el contexto de cifrado. Puede usar el **get-repository** comando o la CodeCommit consola para buscar el ID del repositorio. Busque el ID del CodeCommit repositorio en AWS CloudTrail los registros para saber qué operaciones de cifrado se realizaron y qué clave se AWS KMS utilizó para cifrar o descifrar los datos del CodeCommit repositorio.

Para obtener más información al respecto AWS KMS, consulte la Guía para [AWS Key Management Service desarrolladores](https://docs.aws.amazon.com/kms/latest/developerguide/).