Acceso al repositorio entre cuentas: acciones del administrador de CuentaA - 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.

Acceso al repositorio entre cuentas: acciones del administrador de CuentaA

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 en Cuenta B. 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 administración como usuario de IAM con permisos para crear políticas en AccountA.

  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. Sustituya us-east-2 por Región de AWS el del repositorio, 111122223333 por el ID de cuenta de AccountA MySharedDemoRepoy por el nombre de su repositorio en AccountA: CodeCommit

    { "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, añade una declaración adicional a la política, de la siguiente manera:

    { "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 AccountA, usa el primer ejemplo de política, pero asegúrate de enviar a esos usuarios un enlace directo a la página principal del repositorio compartido en CodeCommit la consola.

  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 de revisión de la política, introduce 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 (Funciones).

  2. Elija Crear rol.

  3. Seleccione Otra cuenta de Amazon Web Services.

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

  5. En Adjuntar políticas de permisos, seleccione la política que creó 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.