Uso de IAM con CodeCommit: credenciales de Git, claves SSH y claves de acceso de AWS - AWS Identity and Access Management

Uso de IAM con CodeCommit: credenciales de Git, claves SSH y claves de acceso de AWS

CodeCommit es un servicio de control de versiones administrado que aloja repositorios privados Git en la nube de AWS. Para utilizar CodeCommit, debe configurar su cliente de Git para comunicarse con los repositorios de CodeCommit. Como parte de esta configuración, debe proporcionar credenciales de IAM que CodeCommit puede utilizar para autenticarle. IAM admite CodeCommit con tres tipos de credenciales:

  • Credenciales de Git, un nombre de usuario y contraseña generados por IAM que puede utilizar para comunicarse con los repositorios de CodeCommit a través de HTTPS.

  • Claves SSH, un par de claves pública y privada generadas a nivel local que puede asociar a su usuario de IAM para comunicarse con los repositorios de CodeCommit a través de SSH.

  • Claves de acceso de AWS, que puede utilizar con el auxiliar de credenciales incluido con AWS CLI para comunicarse con los repositorios de CodeCommit a través de HTTPS.

nota

No puede utilizar las claves SSH ni las credenciales de Git para obtener acceso a los repositorios de otra cuenta de AWS. Para obtener más información sobre cómo configurar el acceso a los repositorios de CodeCommit para los usuarios y grupos de IAM en otra cuenta de AWS, consulte Configurar el acceso entre cuentas a un AWS CodeCommit repositorio utilizando roles en la Guía del usuario de AWS CodeCommit.

Consulte las siguientes secciones para obtener más información sobre cada opción.

Uso de las credenciales de Git y HTTPS con CodeCommit (recomendado)

Con las credenciales de Git, puede generar un nombre de usuario y contraseña estáticos para su usuario de IAM y, a continuación, utilizar dichas credenciales para conexiones HTTPS. También puede utilizar estas credenciales con cualquier herramienta de terceros o entorno de desarrollo integrado (IDE) que admita credenciales de Git estáticas.

Dado que estas credenciales son universales para todos los sistemas operativos admitidos y compatibles con la mayoría de los sistemas de administración de credenciales, entornos de desarrollo y otras herramientas de desarrollo de software, este es el método recomendado. Puede restablecer la contraseña para las credenciales de Git en cualquier momento. También puede desactivarlas o eliminarlas si ya no las necesita.

nota

No puede elegir su propio nombre de usuario o contraseña para las credenciales de Git. IAM genera estas credenciales para que pueda asegurarse de que cumplen los estándares de seguridad de AWS y protegen los repositorios de CodeCommit. Puede descargar las credenciales solo una vez, en el momento en que se generan. Asegúrese de guardarlas en un lugar seguro. Si es necesario, puede restablecer la contraseña en cualquier momento, pero si lo hace, anulará las conexiones configuradas con la antigua contraseña. Debe volver a configurar las conexiones para utilizar la nueva contraseña antes de poder conectarse.

Consulte los siguientes temas para obtener más información:

nota

Cambiar el nombre de un usuario de IAM después de generar las credenciales de Git no cambia el nombre de usuario de las credenciales de Git. El nombre de usuario y la contraseña siguen siendo los mismos y siguen siendo válidos.

Para cambiar credenciales específicas de servicios
  1. Cree un segundo conjunto de credenciales específicas de servicios, además del conjunto que se utiliza actualmente.

  2. Actualice todas sus aplicaciones para utilizar el nuevo conjunto de credenciales y compruebe que las aplicaciones están funcionando.

  3. Cambie el estado de las credenciales originales a "Inactive".

  4. Asegúrese de que todas las aplicaciones siguen funcionando.

  5. Elimine las credenciales específicas de servicios que no estén activas.

Uso de las claves SSH y SSH con CodeCommit

Con conexiones SSH, debe crear archivos de claves públicas y privadas en su equipo local que Git y CodeCommit utilizarán para la autenticación SSH. Puede asociar la clave pública con el usuario de IAM y almacenar la clave privada en el equipo local. Consulte los siguientes temas para obtener más información:

nota

La clave pública debe estar codificada en formato ssh-rsa o PEM. La longitud mínima de bits de la clave pública es de 2 048 bits, y la longitud máxima es de 16 384 bits. Este valor es independiente del tamaño del archivo que se cargue. Por ejemplo, puede generar una clave de 2 048 bits y el archivo PEM resultante tiene una longitud de 1 679 bytes. Si proporciona la clave pública en otro formato o tamaño, aparecerá un mensaje de error que indica que el formato de clave no es válido.

Uso de HTTPS con el auxiliar de credenciales de AWS CLI y CodeCommit

Además de las conexiones HTTPS con las credenciales de Git, puede permitir a Git utilizar una versión con firma criptográfica de sus credenciales de usuario de IAM o del rol de la instancia de Amazon EC2 cada vez que Git requiera autenticación en AWS para interactuar con los repositorios de CodeCommit. Este es el único método de conexión para repositorios de CodeCommit que no exige un usuario de IAM. Este también es el único método que funciona con acceso federado y credenciales temporales. A menos que sus necesidades empresariales necesiten acceso federado o el uso de credenciales temporales, se recomienda encarecidamente la creación y el uso de usuarios de IAM para el acceso. Consulte los siguientes temas para obtener más información:

El auxiliar de credenciales de AWS CLI no es compatible con otros sistemas auxiliares de credenciales, como Keychain Access o Windows Credential Management. Existen otras consideraciones de configuración cuando establece conexiones HTTPS con el auxiliar de credenciales. Para más información, consulte Para conexiones HTTPS en Linux, macOS o Unix con el Ayudante de credenciales de AWS CLI o Conexiones HTTPS en Windows con el Ayudante de credenciales de AWS CLI en la Guía del usuario de AWS CodeCommit.