View a markdown version of this page

Cross-account acceso al repositorio: acciones para el administrador en la cuenta A - 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 administrador en la cuenta A

Para permitir a los usuarios o grupos de Cuenta B obtener acceso a un repositorio en CuentaA, un administrador de CuentaA debe:

  • Crear una política en CuentaA que conceda acceso al repositorio.

  • Crear una función en CuentaA que puedan desempeñar los usuarios de IAM y grupos en Cuenta B.

  • Asocie la política de al rol.

En las siguientes secciones se proporcionan pasos y ejemplos.

Paso 1: Crear una política de acceso al repositorio en CuentaA

Puede crear una política en CuentaA que conceda acceso al repositorio de Cuenta A a los usuarios de CuentaB. Según el nivel de acceso que desee permitir, realice una de las siguientes acciones:

  • Configure la política para permitir a los usuarios de Cuenta B obtener acceso a un repositorio específico, pero no les deje ver una lista de todos los repositorios en CuentaA.

  • Configure acceso adicional para permitir a los usuarios de Cuenta B elegir el repositorio de una lista de todos los repositorios en CuentaA.

Para crear una política de acceso al repositorio
  1. Inicie sesión en la consola AWS de gestión como usuario de IAM con permisos para crear políticas en la cuenta A.

  2. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  3. En el panel de navegación, seleccione Políticas.

  4. Elija Crear política.

  5. Seleccione la pestaña JSON y pegue el siguiente documento de política JSON en el cuadro de texto JSON. us-east-2 Región de AWS Sustitúyalo por el del repositorio, 111122223333 por el identificador de cuenta de la Cuenta A y MySharedDemoRepo por el nombre del CodeCommit repositorio de la Cuenta A:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] } ] }

    Si quieres que los usuarios que asuman esta función puedan ver una lista de repositorios en la página de inicio de la CodeCommit consola, agrega una declaración adicional a la política, de la siguiente manera:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:BatchGet*", "codecommit:Create*", "codecommit:DeleteBranch", "codecommit:Get*", "codecommit:List*", "codecommit:Describe*", "codecommit:Put*", "codecommit:Post*", "codecommit:Merge*", "codecommit:Test*", "codecommit:Update*", "codecommit:GitPull", "codecommit:GitPush" ], "Resource": [ "arn:aws:codecommit:us-east-2:111122223333:MySharedDemoRepo" ] }, { "Effect": "Allow", "Action": "codecommit:ListRepositories", "Resource": "*" } ] }

    Este acceso facilita a los usuarios que desempeñan esta función con esta política la localización del repositorio al que tienen acceso. Pueden elegir el nombre del repositorio de la lista y se les puede redirigir a la página de inicio del repositorio compartido (Code). Los usuarios no pueden obtener acceso a ninguno de los otros repositorios que ven en la lista, pero pueden ver los repositorios de CuentaA en la página Dashboard (Panel).

    Si no quieres permitir que los usuarios que asuman el rol puedan ver una lista de todos los repositorios de la Cuenta A, usa el primer ejemplo de política, pero asegúrate de enviar a esos usuarios un enlace directo a la página de inicio del repositorio compartido en la consola. CodeCommit

  6. Elija Revisar política. El validador de políticas notifica los errores de sintaxis (por ejemplo, si olvida reemplazar el nombre del repositorio y el ID de cuenta de Amazon Web Services de ejemplo por el nombre del repositorio y el ID de su cuenta de Amazon Web Services).

  7. En la página Revisar la política, escribe un nombre para la política (por ejemplo,CrossAccountAccessForMySharedDemoRepo). También puede proporcionar una descripción opcional para esta política. Elija Crear política.

Paso 2: Crear una función para el acceso al repositorio en CuentaA

Una vez que haya configurado una política, cree una función que puedan desempeñar los usuarios y grupos de IAM de CuentaB y asocie la política a esa función.

A fin de crear una función para obtener acceso al repositorio
  1. En la consola de IAM, seleccione Roles.

  2. Elija Crear rol.

  3. Seleccione Otra cuenta de Amazon Web Services.

  4. En ID de cuenta, introduce el ID de cuenta de Amazon Web Services para AccountB (por ejemplo,888888888888). Elija Siguiente: permisos.

  5. En Adjuntar políticas de permisos, selecciona la política que creaste en el procedimiento anterior (CrossAccountAccessForMySharedDemoRepo). Elija Siguiente: Revisar.

  6. En Nombre del rol, introduzca un nombre para el rol (por ejemplo,MyCrossAccountRepositoryContributorRole). También puede introducir una descripción opcional para ayudar a otras personas a conocer el objetivo del rol.

  7. Elija Crear rol.

  8. Abra la función que acaba de crear y copie el ARN de la función (por ejemplo, arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Debe proporcionar este ARN al administrador de CuentaB.