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.
Conectarse a AWS CodeCommit repositorios con credenciales rotativas
Puedes conceder a los usuarios acceso a tus AWS CodeCommit repositorios sin configurar los usuarios de IAM para ellos ni usar 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 acerca de roles de federación, consulte Crear un rol para un proveedor de identidad de terceros (federación) en la Guía de usuario de IAM. Si utiliza el IAM Identity Center, debe configurar un conjunto de permisos. IAM Identity Center correlaciona el conjunto de permisos con un rol en IAM para controlar a qué pueden acceder las identidades después de autenticarse. 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 puedes configurar el acceso basado en roles para que los usuarios de IAM accedan a los CodeCommit repositorios en cuentas de Amazon Web Services independientes (una técnica conocida como acceso multicuenta). Para obtener un tutorial de configuración del acceso entre cuentas en un repositorio, consulte Configura 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 para confirmaciones de seguridad (SAML)
-
Multi-factor autenticación (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 las conexiones HTTPS a AWS CodeCommit con git-remote-codecommit.
No puedes usar credenciales SSH o Git ni HTTPS para conectarte a CodeCommit repositorios con credenciales de acceso rotativas o temporales.
No es necesario que realice estos pasos si se cumplen todos los requisitos siguientes:
-
Ha iniciado sesión en una instancia de Amazon EC2.
-
Utiliza Git y HTTPS con el ayudante de AWS CLI credenciales para conectarse desde la instancia de Amazon EC2 a los repositorios. CodeCommit
-
La instancia de EC2 tiene asociado un perfil de instancia de IAM que contiene los permisos de acceso definidos en Para conexiones HTTPS en Linux, macOS o Unix con el ayudante de credenciales AWS CLI o Para las conexiones HTTPS en Windows con el AWS CLI ayudante de credenciales.
-
Ha instalado y configurado la aplicación de ayudante de credenciales de Git en la instancia de EC2 tal como se describe en Para conexiones HTTPS en Linux, macOS o Unix con el ayudante de credenciales AWS CLI o Para las conexiones HTTPS en Windows con el AWS CLI ayudante de credenciales.
Las instancias de Amazon EC2 que cumplen los requisitos anteriores ya están configuradas para comunicar las credenciales de acceso temporales en su nombre. CodeCommit
nota
Puede configurar y utilizar git-remote-codecommit en instancias de EC2.
Para conceder a los usuarios acceso temporal a sus CodeCommit repositorios, complete los pasos que se indican a continuación.
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:
-
Para obtener más información sobre el acceso entre cuentas, consulte Tutorial: Delegación del acceso entre cuentas de Amazon Web Services mediante roles de IAM y Configura el acceso multicuenta a un AWS CodeCommit repositorio mediante roles.
-
Para obtener información sobre SAML y la federación, consulta Cómo usar el sistema de autenticación de tu organización para conceder acceso a AWS los recursos y Acerca de la federación basada en AWS STS SAML 2.0.
-
Para la MFA, consulte Uso de dispositivos de Multi-Factor autenticación (MFA) con credenciales de seguridad temporales AWS y creación de credenciales de seguridad temporales para permitir el acceso de los usuarios de IAM.
-
Para iniciar sesión con Amazon, Amazon Cognito, Facebook, Google o cualquier proveedor de OIDC-compatible identidad, consulte Acerca AWS STS de la federación de identidades web.
Utilice la información incluida Autenticación y control de acceso para AWS CodeCommit para especificar los CodeCommit permisos que desea conceder al usuario.
Paso 2: Obtener el nombre de rol o las credenciales de acceso
Si desea que los usuarios accedan a los repositorios asumiendo un rol, proporcione a los 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:
-
Para el acceso entre cuentas, ejecuta el comando AWS CLI assume-role o llama a la API. AWS STS AssumeRole
-
Para SAML, llama al comando AWS CLI https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role-with-saml.html assume-role-with-saml o a la API. AWS STS AssumeRoleWithSAML
-
En el caso de la federación, llame a los comandos AWS CLI assume-role o get-federation-token o a las API or. https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html AWS STS AssumeRole GetFederationToken
-
En el caso de la MFA, llame al comando get-session-token o a la API. AWS CLI https://docs.aws.amazon.com/cli/latest/reference/sts/get-session-token.html AWS STS GetSessionToken
-
Para iniciar sesión con Amazon, Amazon Cognito, Facebook, Google o cualquier otro proveedor de OIDC-compatible identidad, ejecute el comando assume-role-with-web-identity o la AWS CLI API. AWS STS AssumeRoleWithWebIdentity
Paso 3: Instala git-remote-codecommit y configura AWS CLI
Debe configurar el equipo local para que utilice las credenciales de acceso instalando git-remote-codecommit
-
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. Considera la posibilidad de crear un perfil con nombre para usarlo cuando te conectes a repositorios mediante credenciales rotativas CodeCommit .
-
Puedes asociar las credenciales al perfil con AWS CLI nombre del usuario de una de las siguientes maneras.
-
Si está asumiendo un rol para acceder CodeCommit, configure un perfil con nombre con la información necesaria para asumir ese rol. Por ejemplo, si desea asumir un rol con el nombre que
CodeCommitAccessaparece en la cuenta 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 ese rol. Los siguientes comandos crean un perfil con nombre asignadoCodeAccessque asume un rol denominadoCodeCommitAccess. El nombre de usuarioMaria_Garciaestá 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--profileCodeAccessaws configure set source_profile default --profileCodeAccessaws configure set role_session_name "Maria_Garcia" --profileCodeAccessSi 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/CodeCommitAccessDespués de configurar el perfil con nombre, puede clonar repositorios de CodeCommit con la utilidad git-remote-codecommit utilizando el perfil con nombre. Por ejemplo, para clonar un repositorio denominado
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 una llamada a la
AssumeRoleWithWebIdentityAPI AWS Security Token Service (AWS STS) en su nombre para actualizar las credenciales temporales. Use el aws configure set comando o edite manualmente el~/.aws/credentialsarchivo (para Linux) o el%UserProfile%.aws\credentialsarchivo (para Windows) para agregar un perfil con AWS CLI nombre asignado con los valores de configuración requeridos. Por ejemplo, para crear un perfil que asuma laCodeCommitAccessfunción y utilice un archivo de token de identidad web ~/:my-credentials/my-token-file[CodeCommitWebIdentity] role_arn = arn:aws:iam::111111111111:role/CodeCommitAccessweb_identity_token_file=~/role_session_name = Maria_Garciamy-credentials/my-token-file
Para obtener más información, consulte Configuración de AWS Command Line Interface y Uso de un rol de IAM en la AWS CLI en la Guía del usuario de AWS Command Line Interface .
-
Paso 4: Acceder a los repositorios CodeCommit
Suponiendo que el usuario haya seguido las instrucciones para conectarse Conectarse a un repositorio a los CodeCommit repositorios, utilizará la funcionalidad ampliada que ofrece Git para llamar git clone a los CodeCommit repositorios git pull a los que tiene acceso, clonar, enviar y extraer datos desde ellos. git-remote-codecommit 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 utiliza AWS CLI y especifica el perfil con AWS CLI nombre asociado a las credenciales de acceso rotativas, se muestran los resultados correspondientes a ese perfil.