AWS Key Management Service y cifrado de repositorios de AWS CodeCommit - AWS CodeCommit

AWS CodeCommit ya no está disponible para nuevos clientes. Los clientes existentes de AWS CodeCommit pueden seguir utilizando el servicio con normalidad. Más información

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 de repositorios de AWS CodeCommit

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 llamadagit 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 llamadagit pull), CodeCommit los descifra y, a continuación, los envía a la persona que llama. Se presupone que el usuario de IAM asociado a la solicitud de inserción o extracción se ha autenticado en 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 administrada 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. 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 usa un Clave administrada de AWS, no necesita permisos explícitos para estas acciones, pero el usuario no debe contar con ninguna política adjunta que deniegue estas acciones para la clave de aws/codecommit. Si utiliza una clave gestionada por el cliente que tiene un Cuenta de AWS identificador establecido como política principal para esa clave, estos permisos deben estar configurados de forma explícita en. allow En concreto, cuando cree su primer repositorio y si actualiza las claves de su repositorio, no debe tener ninguno de los siguientes permisos establecidos en deny si utiliza una clave administrada por el cliente con un principio de política Clave administrada de AWS, y debe establecerse en allow si utiliza una clave administrada por el cliente:

  • "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 y Creación de claves.

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

  1. Inicie sesión en la AWS Management Console y abra la consola de AWS Key Management Service (AWS KMS) en https://console.aws.amazon.com/kms.

  2. Para cambiar la Región de AWS, utilice el Selector de regiones ubicado en la esquina superior derecha de la página.

  3. En el panel de navegación de servicio, seleccione Claves administradas por AWS. Asegúrese de que ha iniciado sesión en Región de AWS en la que desea revisar las claves.

  4. En la lista de claves de cifrado, seleccione la Clave administrada de AWS con el alias aws/codecommit. Se mostrará información básica acerca de la Clave propiedad de AWS.

No puede cambiar ni eliminar esta Clave administrada de AWS.

Cómo se utilizan los algoritmos de cifrado para cifrar los datos del repositorio

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

Cada servicio integrado con AWS KMS especifica un contexto de cifrado tanto para el cifrado como para el descifrado de operaciones. 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 sobre AWS KMS, consulte la Guía para desarrolladores de AWS Key Management Service.