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.
Puede conceder a los usuarios acceso a sus AWS CodeCommit repositorios sin necesidad de configurar los usuarios de IAM 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 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é puedes 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 puede configurar el acceso basado en roles para que los usuarios de IAM 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 Configura el acceso multicuenta a un repositorio mediante roles AWS CodeCommit.
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)
-
Autenticación multifactor (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:
-
Has iniciado sesión en una EC2 instancia de Amazon.
-
Estás usando Git y HTTPS con el asistente de AWS CLI credenciales para conectarte desde la EC2 instancia de Amazon a los repositorios. CodeCommit
-
La EC2 instancia de Amazon tiene un perfil de instancia de IAM adjunto que contiene los permisos de acceso descritos en Para conexiones HTTPS en Linux, macOS o Unix con el asistente de AWS CLI credenciales oPara las conexiones HTTPS en Windows con el ayudante de credenciales AWS CLI .
-
Has instalado y configurado el asistente de credenciales de Git en la EC2 instancia de Amazon, tal y como se describe en Para conexiones HTTPS en Linux, macOS o Unix con el asistente de AWS CLI credenciales o. Para las conexiones HTTPS en Windows con el ayudante de credenciales AWS CLI
EC2 Las 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:
-
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 repositorio mediante roles AWS CodeCommit.
-
Para conocer el 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 obtener más información sobre MFA, consulte Uso de dispositivos con autenticación multifactor (MFA) con AWS y Creación de credenciales de seguridad temporales para permitir el acceso a los usuarios de IAM.
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 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 acceder a varias cuentas, ejecuta el comando AWS CLI assume-role o llama a la API. AWS STS AssumeRole
-
En el caso de SAML, llama al AWS CLIassume-role-with-samlcomando o a la API de SAML. AWS STS AssumeRoleWith
-
Para la federación, llama a AWS CLI assume-role o get-federation-tokencomandos o a o. AWS STS AssumeRoleGetFederationToken APIs
-
Para MFA, llame al AWS CLI get-session-tokencomando o a la API. AWS STS GetSessionToken
-
Para Login with Amazon, Amazon Cognito, Facebook, Google o cualquier proveedor de identidad compatible con OIDC, llama al comando AWS CLI assume-role-with-web-identity o a la API. AWS STS AssumeRoleWithWebIdentity
Paso 3: Instale y configure la git-remote-codecommit 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. Considere la posibilidad de crear un perfil con nombre para usarlo cuando se conecte a CodeCommit los repositorios mediante credenciales rotativas.
-
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 desea asumir una función nombrada
CodeCommitAccess
en la cuenta de Amazon Web Services 1111, 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 nombre de perfil con nombre asignadoCodeAccess
que asume un rol denominadoCodeCommitAccess
. El nombre de usuarioMaria_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
--profileCodeAccess
aws configure set source_profile default --profileCodeAccess
aws configure set role_session_name "Maria_Garcia
" --profileCodeAccess
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
Despué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 la llamada a la
AssumeRoleWithWebIdentity
API 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 laCodeCommitAccess
función y utilice 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=~/
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 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.