View a markdown version of this page

Cross-account acceso al repositorio: acciones para el usuario del repositorio en la cuentaB - AWS CodeCommit

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.

Cross-account acceso al repositorio: acciones para el usuario del repositorio en la cuentaB

Para obtener acceso al repositorio en CuentaA, los usuarios del grupo de Cuenta B deben configurar sus equipos locales para obtener acceso al repositorio. En las siguientes secciones se proporcionan pasos y ejemplos.

Paso 1: configurar el AWS CLI y Git para que un usuario de AccountB acceda al repositorio en AccountA

No puede utilizar las claves SSH ni las credenciales de Git para obtener acceso a los repositorios de otra cuenta de Amazon Web Services. Los usuarios de AccountB deben configurar sus ordenadores para que usen git-remote-codecommit (recomendado) o el asistente de credenciales para acceder al repositorio compartido en AccountA. CodeCommit Sin embargo, puede continuar usando las claves SSH o las credenciales de Git al obtener acceso a los repositorios en CuentaB.

Siga estos pasos para configurar el acceso mediante git-remote-codecommit. Si aún no ha instalado git-remote-codecommit, descárguelo desde git-remote-codecommit en el sitio web de Python Package Index.

Para configurar el AWS CLI y Git para el acceso multicuenta
  1. Instálalo AWS CLI en el ordenador local. Consulte las instrucciones del sistema operativo en Instalación de la AWS CLI.

  2. Instale Git en el equipo local. Para instalar Git, le recomendamos sitios web como Git Downloads o Git for Windows.

    nota

    CodeCommit es compatible con las versiones 1.7.9 y posteriores de Git. La versión 2.28 de Git admite la configuración del nombre de la ramificación para las confirmaciones iniciales. Recomendamos usar una versión reciente de Git. Git es una plataforma en evolución que se actualiza periódicamente. En ocasiones, un cambio en una función puede afectar a la forma en que funciona. CodeCommit Si tienes problemas con una versión específica de Git CodeCommit, revisa la información enSolución de problemas.

  3. En el terminal o la línea de comandos, en la ubicación del directorio donde desea clonar el repositorio, ejecute los comandos git config --local user.name y git config --local user.emailpara establecer el nombre de usuario y el correo electrónico de las confirmaciones que va a realizar en el repositorio. Por ejemplo:

    git config --local user.name "Saanvi Sarkar" git config --local user.email saanvi_sarkar@example.com

    Estos comandos no devuelven nada, pero el correo electrónico y el nombre de usuario que especifique se asocian a las confirmaciones que realice en el repositorio en CuentaA.

  4. Ejecute el comando aws configure --profile para configurar un perfil predeterminado que se utiliza para conectar a los recursos en CuentaB. Cuando se le pida, proporcione la clave de acceso y la clave secreta para su usuario de IAM.

    nota

    Si ya has instalado AWS CLI y configurado un perfil, puedes saltarte este paso.

    Por ejemplo, ejecuta el siguiente comando para crear un AWS CLI perfil predeterminado que puedas usar para acceder a AWS los recursos de AccountB en EE. UU. Este (Ohio) (us-east-2):

    aws configure

    Cuando se le pida, proporcione la siguiente información:

    AWS Access Key ID [None]: Your-IAM-User-Access-Key AWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-Key Default region name ID [None]: us-east-2 Default output format [None]: json
  5. Vuelva a ejecutar el comando aws configure --profile para configurar un perfil con nombre que utilizar al conectarse al repositorio en CuentaA. Cuando se le pida, proporcione la clave de acceso y la clave secreta para su usuario de IAM. Por ejemplo, ejecuta el siguiente comando para crear un AWS CLI perfil con el nombre MyCrossAccountAccessProfile que utilizarás para acceder a un repositorio en la cuenta A en el este de EE. UU. (Ohio) (us-east-2):

    aws configure --profile MyCrossAccountAccessProfile

    Cuando se le pida, proporcione la siguiente información:

    AWS Access Key ID [None]: Your-IAM-User-Access-Key AWS Secret Access Key ID [None]: Your-IAM-User-Secret-Access-Key Default region name ID [None]: us-east-2 Default output format [None]: json
  6. En un editor de texto sin formato, abra el archivo config, también conocido como el archivo de configuración de AWS CLI . Según tu sistema operativo, este archivo puede estar ubicado ~/.aws/config en Linux, macOS o Unix, o endrive:\ Users\\ .awsUSERNAME\ config en Windows.

  7. En el archivo, busque la entrada que corresponda al perfil predeterminado configurado para acceder a repositorios de la cuenta B. Debería parecerse a lo que sigue:

    [default] region = us-east-2 output = json

    Agregue account a la configuración del perfil. Proporcione el ID de cuenta de AWS de la cuenta B. Por ejemplo:

    [default] account = 888888888888 region = us-east-2 output = json
  8. En el archivo, busca la entrada que corresponde al MyCrossAccountAccessProfile perfil que acabas de crear. Debería parecerse a lo que sigue:

    [profile MyCrossAccountAccessProfile] region = us-east-2 output = json

    Agregue account, role_arn y source_profile a la configuración del perfil. Proporcione el ID de la cuenta de Amazon Web Services de la cuenta A, el ARN del rol de la cuenta A que asume para obtener acceso al repositorio en la otra cuenta, así como el nombre de su perfil predeterminado de la AWS CLI en la cuenta B. Por ejemplo:

    [profile MyCrossAccountAccessProfile] region = us-east-2 account = 111122223333 role_arn = arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole source_profile = default output = json

    Guarde sus cambios y cierre el editor de texto sin formato.

Paso 2: Clonar y acceder al CodeCommit repositorio en AccountA

Ejecute git clone, git push y git pull para clonar el repositorio de CodeCommit entre cuentas y utilizarlo para insertar o extraer contenido. También puedes iniciar sesión en la consola AWS de administración, cambiar de rol y usar la CodeCommit consola para interactuar con el repositorio de la otra cuenta.

nota

Según cómo se haya configurado el rol de IAM, es posible que puedas ver los repositorios en la página predeterminada de. CodeCommit Si no puedes ver los repositorios, pide al administrador del repositorio que te envíe por correo electrónico un enlace URL a la página de códigos del repositorio compartido en la consola. CodeCommit La URL es similar a la siguiente:

https://console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MySharedDemoRepo/browse/HEAD/--/
Para clonar el repositorio entre cuentas en su equipo local
  1. En el terminal o la línea de comandos, en el directorio donde desea clonar el repositorio, ejecute el comando git clone con la URL de clonación HTTPS (GRC). Por ejemplo:

    git clone codecommit://MyCrossAccountAccessProfile@MySharedDemoRepo

    A menos que especifique lo contrario, el repositorio se clona en un subdirectorio con el mismo nombre que el repositorio.

  2. Cambie los directorios al repositorio clonado y añada o realice un cambio en un archivo. Por ejemplo, puedes añadir un archivo con el nombreNewFile.txt.

  3. Agregue el archivo a los cambios registrados para el repositorio local, confirme el cambio e inserte el archivo en el CodeCommit repositorio. Por ejemplo:

    git add NewFile.txt git commit -m "Added a file to test cross-account access to this repository" git push

    Para obtener más información, consulte Empezar a usar Git y AWS CodeCommit.

Ahora que has añadido un archivo, ve a la CodeCommit consola para ver tu confirmación, revisar los cambios de otros usuarios en el repositorio, participar en las solicitudes de cambios y mucho más.

Para acceder al repositorio multicuenta de la consola CodeCommit
  1. Inicia sesión Consola de administración de AWS en la cuenta B (888888888888) como el usuario de IAM al que se le ha concedido acceso multicuenta al repositorio de la cuenta A.

  2. Elija su nombre de usuario en la barra de navegación y, en la lista desplegable, elija Switch Role (Cambiar función).

    nota

    Si esta es la primera vez que ha seleccionado esta opción, revise la información de la página y, a continuación, vuelva a elegir Switch Role (Cambiar función).

  3. En la página Switch Role (Cambiar función), haga lo siguiente:

    • En Account (Cuenta), introduzca el ID de cuenta para CuentaA (por ejemplo, 111122223333).

    • En Rol, introduce el nombre del rol que quieres asumir para acceder al repositorio en la cuenta A (por ejemplo,). MyCrossAccountRepositoryContributorRole

    • En Display Name (Nombre que mostrar), introduzca un nombre fácil de recordar para este rol. Este nombre aparecerá en la consola al desempeñar esta función. También aparecerá en la lista de funciones desempeñadas la próxima vez que desee cambiar funciones en la consola.

    • (Opcional) En Color (Color), elija una etiqueta de color para el nombre de visualización.

    • Elija Switch Role.

    Para obtener más información, consulte Cambiar de función (Consola de administración de AWS).

  4. Abre la CodeCommit consola en. https://console.aws.amazon.com/codesuite/codecommit/home

    Si la función desempeñada tiene permiso para ver los nombres de los repositorios en CuentaA, verá una lista de repositorios y un mensaje de error informándole de que no tiene permisos para ver su estado. Este es el comportamiento esperado. Elija el nombre del repositorio compartido de la lista.

    Si la función desempeñada no tiene permiso para ver los nombres de los repositorios en CuentaA, verá un mensaje de error y una lista en blanco sin repositorios. Pegue el enlace de URL en el repositorio o modifique el enlace de la consola y cambie /list por el nombre del repositorio compartido (por ejemplo, /MySharedDemoRepo).

  5. En Code (Código), busque el nombre del archivo que añadió desde su equipo local. Elíjalo para examinar el código en el archivo y, a continuación, examine el resto del repositorio y comience a usar sus características.

    Para obtener más información, consulte Introducción al AWS CodeCommit.