Acceso al repositorio entre cuentas: acciones del administrador de CuentaA - AWS CodeCommit

AWS CodeCommit ya no está disponible para nuevos clientes. Los clientes actuales 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.

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.

  • Cree un rol en AccountA que puedan asumir IAM los usuarios y grupos de AccountB.

  • 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

Puedes crear una política en AccountA que conceda acceso al repositorio de AccountA a los usuarios de AccountB. 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 IAM usuario 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 JSONpestaña y pegue el siguiente documento JSON de política en el cuadro de JSON texto. Reemplazar us-east-2 con el Región de AWS para el repositorio, 111122223333 con el ID de cuenta de AccountA, y MySharedDemoRepo con el nombre de tu CodeCommit repositorio en AccountA:

    { "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 puedes 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

Después de configurar una política, cree un rol que IAM puedan asumir los usuarios y grupos de AccountB y asocie la política a ese rol.

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, introduce el ID de cuenta de Amazon Web Services para AccountB (por ejemplo, 888888888888). Seleccione Siguiente: Permisos.

  5. En Adjuntar políticas de permisos, seleccione la política que creó en el procedimiento anterior (CrossAccountAccessForMySharedDemoRepo). Seleccione Siguiente: Revisar.

  6. En Nombre del rol, introduzca un nombre para el rol (por ejemplo, MyCrossAccountRepositoryContributorRole). También puedes introducir una descripción opcional para ayudar a los demás a entender el propósito del puesto.

  7. Elija Crear rol.

  8. Abra el rol que acaba de crear y cópielo ARN (por ejemplo,arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Debes proporcionárselo ARN al administrador de AccountB.