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 en los repositorios de CodeCommit están cifrados tanto en tránsito como en reposo. Cuando los datos se insertan en un repositorio de CodeCommit (por ejemplo, llamando al git push), CodeCommit cifra los datos recibidos cuando se almacenan en el repositorio. Cuando los datos se extraen desde un repositorio de CodeCommit (por ejemplo, llamando al git pull), CodeCommit descifra los datos y se los envía al autor de la llamada. 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 especifica una clave administrada por el cliente, CodeCommit utilizará una Clave administrada de AWS para cifrar y descifrar los datos de su repositorio. Este Clave administrada de AWS se crea automáticamente para usted en su Cuenta de AWS. La primera vez que cree un repositorio de CodeCommit en una nueva Región de AWS de su cuenta de Amazon Web Services, si no especifica una clave administrada por el cliente. CodeCommit crea una Clave administrada de AWS (la clave de aws/codecommit) en esa misma cuenta de Región de AWS en AWS Key Management Service (AWS KMS). Esta clave aws/codecommit solamente la utiliza CodeCommit. Se almacena en su cuenta de Amazon Web Services. Según lo que especifique, CodeCommit utiliza la clave administrada por el cliente o la Clave administrada de AWS para cifrar y descifrar los datos del repositorio.
importante
CodeCommit realiza las siguientes acciones AWS KMS con la clave AWS KMS 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 administrada por el cliente que tiene un identificador de Cuenta de AWS establecida 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 requerirkms:ReEncryptFrom,kms:ReEncryptTo, okms: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 la Región de AWS donde se encuentra el repositorio. CodeCommit admite el uso de claves administradas por el cliente 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 claves administradas 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 la información relacionada con la Clave administrada de AWS generada por CodeCommit, haga lo siguiente:
-
Inicie sesión en la Consola de administración de AWS y abra la consola AWS Key Management Service (AWS KMS) en https://console.aws.amazon.com/kms
. -
Para cambiar la Región de AWS, utilice el Selector de regiones ubicado en la esquina superior derecha de la página.
-
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.
-
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 entre 6 MB y el 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, el descifrado produce un error. CodeCommit usa el ID del repositorio CodeCommit para el contexto de cifrado. Puede utilizar el comando get-repository o la consola de CodeCommit para encontrar el ID del repositorio. Busque el ID de repositorio de CodeCommit en los registros de AWS CloudTrail para saber qué operaciones de cifrado se realizaron y en qué clave de AWS KMS para cifrar o descifrar datos en el repositorio de CodeCommit.
Para obtener más información sobre AWS KMS, consulte la Guía para desarrolladores de AWS Key Management Service.