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:
-
Has iniciado sesión en una EC2 instancia de Amazon.
-
Estás usando Git y el asistente HTTPS 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 IAM instancia adjunto que contiene los permisos de acceso descritos en Para conexiones HTTPS en Linux, macOS o Unix con la aplicación de ayudante de credenciales de AWS CLI oPara conexiones HTTPS en Windows con el ayudante de credenciales de la 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 la aplicación de ayudante de credenciales de AWS CLI o. Para conexiones HTTPS en Windows con el ayudante de credenciales de la AWS CLI
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:
-
Para obtener acceso entre cuentas, consulte Tutorial: Delegación del acceso a las cuentas de Amazon Web Services mediante IAM roles y. Configurar el acceso multicuenta a un AWS CodeCommit repositorio mediante roles
-
Para obtener SAML información sobre la federación, consulte Uso del sistema de autenticación de su organización para conceder acceso a los AWS recursos y Acerca AWS STS SAML de la federación basada en 2.0.
-
Para elloMFA, consulte Uso de dispositivos de autenticación multifactor (MFA) AWS y Creación de credenciales de seguridad temporales para permitir el acceso de los usuarios. IAM
-
Para iniciar sesión con Amazon, Amazon Cognito, Facebook, Google o cualquier proveedor de identidad OIDC compatible, consulte Acerca de AWS STS Web Identity Federation.
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:
-
Para acceder a varias cuentas, ejecuta el comando AWS CLI assume-role o llama al. AWS STS AssumeRoleAPI
-
ParaSAML, llame al AWS CLI assume-role-with-samlcomando o al. AWS STS AssumeRoleWithSAMLAPI
-
Para la federación, llame a AWS CLI assume-role o get-federation-tokencomandos o o. AWS STS AssumeRoleGetFederationTokenAPIs
-
ParaMFA, llame al AWS CLI get-session-tokencomando o al. AWS STS GetSessionTokenAPI
-
Para Login with Amazon, Amazon Cognito, Facebook, Google o cualquier proveedor de identidad OIDC compatible, llama al comando AWS CLI assume-role-with-web-identity o al. AWS STS AssumeRoleWithWebIdentityAPI
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
-
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 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 nombreCodeAccess
que asume un rol llamadoCodeCommitAccess
El 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
--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
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 laCodeCommitAccess
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=~/
role_session_name = Maria_Garciamy-credentials
/my-token-file
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.