Conexión a AWS CodeCommit repositorios con credenciales rotativas - 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.

Conexión a AWS CodeCommit repositorios con credenciales rotativas

Puede conceder a los usuarios acceso a sus AWS CodeCommit repositorios sin necesidad de IAM configurarlos para ellos ni utilizar una clave de acceso y una clave secreta. Para asignar permisos a identidades federadas, debe crear un rol y definir permisos para este. Cuando se autentica una identidad federada, se asocia la identidad al rol y se le conceden los permisos define el rol. Para obtener información sobre las funciones de la federación, consulte Crear una función para un proveedor de identidades externo (federación) en la Guía del IAM usuario. Si usa IAM Identity Center, configura un conjunto de permisos. Para controlar a qué pueden acceder sus identidades después de autenticarse, IAM Identity Center correlaciona el conjunto de permisos con un rol en. IAM Para obtener información acerca de los conjuntos de permisos, consulta Conjuntos de permisos en la Guía del usuario de AWS IAM Identity Center . También puede configurar el acceso basado en roles para que IAM los usuarios accedan a los CodeCommit repositorios en cuentas independientes de Amazon Web Services (una técnica conocida como acceso entre cuentas). Para obtener un tutorial de configuración del acceso entre cuentas en un repositorio, consulte Configurar el acceso multicuenta a un AWS CodeCommit repositorio mediante roles.

También puede configurar el acceso para los usuarios que desean o deben autenticarse a través de métodos como:

  • Lenguaje de marcado de afirmaciones de seguridad () SAML

  • Autenticación multifactorial () MFA

  • Federación

  • Login with Amazon

  • Amazon Cognito

  • Facebook

  • Google

  • Proveedor de identidad compatible con OpenID Connect (OIDC)

nota

La siguiente información se aplica únicamente al uso git-remote-codecommit o al asistente de AWS CLI credenciales para conectarse a los repositorios. CodeCommit Dado que el enfoque recomendado para el acceso temporal o federado CodeCommit es la configuracióngit-remote-codecommit, en este tema se proporcionan ejemplos del uso de esa utilidad. Para obtener más información, consulte Pasos de configuración para HTTPS las conexiones a AWS CodeCommit con git-remote-codecommit.

No puedes usar SSH credenciales de Git y conectarte HTTPS a CodeCommit repositorios con credenciales de acceso rotativas o temporales.

No es necesario que realice estos pasos si se cumplen todos los requisitos siguientes:

EC2Las instancias de Amazon que cumplen los requisitos anteriores ya están configuradas para comunicarle las credenciales de acceso temporal CodeCommit en su nombre.

nota

Puede configurarlo y usarlo git-remote-codecommit en EC2 instancias de Amazon.

Para dar a los usuarios acceso temporal a tus CodeCommit repositorios, sigue estos pasos.

Paso 1: completar los requisitos previos

Complete los pasos de configuración para proporcionar a un usuario acceso a sus CodeCommit repositorios mediante credenciales rotativas:

Utilice la información Autenticación y control de acceso de AWS CodeCommit para especificar los CodeCommit permisos que quiere conceder al usuario.

Paso 2: Obtener el nombre de rol o las credenciales de acceso

Si quieres que tus usuarios accedan a los repositorios asumiendo un rol, proporciona a tus usuarios el nombre de recurso de Amazon (ARN) de ese rol. De lo contrario, dependiendo de la forma en que configure el acceso, el usuario puede obtener credenciales rotativas de una de las siguientes maneras:

Paso 3: Instale git-remote-codecommit y configure el AWS CLI

Debe configurar el equipo local para que utilice las credenciales de acceso instalando git-remote-codecommit y configurando un perfil en la AWS CLI.

  1. Siga las instrucciones que se detallan en Configuración para configurar la AWS CLI. Utilice el comando aws configure para configurar uno o varios perfiles. Considere la posibilidad de crear un perfil con nombre para usarlo cuando se conecte a CodeCommit los repositorios mediante credenciales rotativas.

  2. Puede asociar las credenciales al perfil AWS CLI nombrado del usuario de una de las siguientes maneras.

    • Si está asumiendo un rol al que acceder CodeCommit, configure un perfil con nombre con la información necesaria para asumir ese rol. Por ejemplo, si quiere asumir un rol llamado CodeCommitAccess en la cuenta 1111 de Amazon Web Services, puede configurar un perfil predeterminado para usarlo cuando trabaje con otros AWS recursos y un perfil con nombre para usarlo cuando asuma esa función. Los siguientes comandos crean un perfil con nombre CodeAccess que asume un rol llamado CodeCommitAccessEl nombre de usuario. Maria_Garcia está asociado a la sesión y el perfil predeterminado se establece como la fuente de sus AWS credenciales:

      aws configure set role_arn arn:aws:iam::111111111111:role/CodeCommitAccess --profile CodeAccess aws configure set source_profile default --profile CodeAccess aws configure set role_session_name "Maria_Garcia" --profile CodeAccess

      Si desea verificar los cambios, consulte o edite manualmente el archivo ~/.aws/config (para Linux) o el archivo %UserProfile%.aws\config (para Windows) y revise la información bajo el perfil con nombre. Por ejemplo, el archivo podría tener un aspecto similar al siguiente:

      [default] region = us-east-1 output = json [profile CodeAccess] source_profile = default role_session_name = Maria_Garcia role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess

      Una vez que haya configurado el perfil designado, podrá clonar CodeCommit los repositorios con la git-remote-codecommit utilidad utilizando el perfil nombrado. Por ejemplo, para clonar un repositorio llamado MyDemoRepo:

      git clone codecommit://CodeAccess@MyDemoRepo
    • Si utiliza la federación de identidades web y OpenID Connect (OIDC), configure un perfil con nombre que haga la AssumeRoleWithWebIdentity API llamada AWS Security Token Service (AWS STS) en su nombre para actualizar las credenciales temporales. Utilice el aws configure set comando o edite manualmente el ~/.aws/credentials archivo (para Linux) o el %UserProfile%.aws\credentials archivo (para Windows) para añadir un perfil con AWS CLI nombre y los valores de configuración necesarios. Por ejemplo, para crear un perfil que asuma la CodeCommitAccess rol y usa un archivo de token de identidad web ~/my-credentials/my-token-file:

      [CodeCommitWebIdentity] role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess web_identity_token_file=~/my-credentials/my-token-file role_session_name = Maria_Garcia

    Para obtener más información, consulte Configuración AWS Command Line Interface y uso de un IAM rol AWS CLI en la Guía del AWS Command Line Interface usuario.

Paso 4: Acceder a los CodeCommit repositorios

Suponiendo que el usuario haya seguido las instrucciones para conectarse Conectarse a un repositorio a CodeCommit los repositorios, utilizará la funcionalidad ampliada proporcionada por git-remote-codecommit Git para llamar git clone y git pull clonar, enviar y extraer datos de los CodeCommit repositorios a los que tiene acceso. git push Por ejemplo, para clonar un repositorio:

git clone codecommit://CodeAccess@MyDemoRepo

Los comandos commit, push y pull de Git usan la sintaxis normal de Git.

Cuando el usuario usa AWS CLI y especifica el AWS CLI nombre del perfil asociado a las credenciales de acceso rotativas, se muestran los resultados relacionados con ese perfil.