Acesso ao repositório entre contas: ações para o administrador na AccountA - AWS CodeCommit

AWS CodeCommit não está mais disponível para novos clientes. Os clientes atuais do AWS CodeCommit podem continuar usando o serviço normalmente. Saiba mais

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Acesso ao repositório entre contas: ações para o administrador na AccountA

Para permitir que os usuários ou grupos na AccountB acessem um repositório na AccountA, o administrador da AccountA deve:

  • Criar uma política na AccountA que concede acesso ao repositório.

  • Crie uma função na AccountA que possa ser assumida por IAM usuários e grupos na AccountB.

  • Anexe a política ao perfil.

As seções a seguir apresentam etapas e exemplos.

Etapa 1: criar uma política para acesso ao repositório na AccountA

Você pode criar uma política na AccountA que conceda acesso ao repositório na AccountA aos usuários na AccountB. Dependendo do nível de acesso que deseja conceder, execute uma das seguintes ações:

  • Configure a política para permitir que os usuários da AccountB acessem a um repositório específico, mas não permita a visualização da lista de todos os repositórios na AccountA.

  • Configure o acesso adicional para permitir que os usuários da AccountB escolham o repositório em uma lista de todos os repositórios na AccountA.

Para criar uma política para acesso ao repositório
  1. Faça login no AWS Management Console como um IAM usuário com permissões para criar políticas no AccountA.

  2. Abra o IAM console em https://console.aws.amazon.com/iam/.

  3. No painel de navegação, escolha Policies.

  4. Escolha Criar política.

  5. Escolha a JSONguia e cole o seguinte documento JSON de política na caixa de JSON texto. Substituir us-east-2 com o Região da AWS para o repositório, 111122223333 com o ID da conta AccountA, e MySharedDemoRepo com o nome do seu CodeCommit repositório na 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" ] } ] }

    Se você quiser que os usuários que assumem essa função possam visualizar uma lista de repositórios na página inicial do CodeCommit console, adicione uma declaração adicional à política, da seguinte forma:

    { "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": "*" } ] }

    Esse acesso facilita para os usuários que assumem essa função com essa política a localização do repositório ao qual eles têm acesso. Eles podem escolher o nome do repositório na lista e serem direcionados para a página inicial do repositório compartilhado (Code). Os usuários não podem acessar qualquer um dos outros repositórios exibidos na lista, mas podem visualizar os repositórios na AccountA na página Dashboard.

    Se você não quiser permitir que os usuários que assumem a função possam visualizar uma lista de todos os repositórios no AccountA, use o primeiro exemplo de política, mas certifique-se de enviar a esses usuários um link direto para a página inicial do repositório compartilhado no console. CodeCommit

  6. Escolha Revisar política. O validador de políticas reporta erros de sintaxe (por exemplo, se você esquecer de substituir o ID da conta da Amazon Web Services e o nome do repositório de exemplo pelo seu ID da conta da Amazon Web Services e nome do repositório).

  7. Na página Revisar política, insira um nome para a política (por exemplo, CrossAccountAccessForMySharedDemoRepo). Você também pode fornecer uma descrição opcional para essa política. Escolha Criar política.

Etapa 2: criar uma função para acesso ao repositório na AccountA

Depois de configurar uma política, crie uma função que IAM os usuários e grupos no AccountB possam assumir e anexe a política a essa função.

Para criar uma função para acesso ao repositório
  1. No console do IAM, selecione Roles (Funções).

  2. Selecione Criar função.

  3. Selecionar Outra conta da Amazon Web Services.

  4. Em ID da conta, insira o ID da conta da Amazon Web Services para AccountB (por exemplo, 888888888888). Escolha Avançar: Permissões.

  5. Em Anexar políticas de permissões, selecione a política que você criou no procedimento anterior (CrossAccountAccessForMySharedDemoRepo). Escolha Avançar: Revisão.

  6. Em Nome da função, insira um nome para a função (por exemplo, MyCrossAccountRepositoryContributorRole). Você também pode inserir uma descrição opcional para ajudar outras pessoas a entender o propósito da função.

  7. Selecione Criar função.

  8. Abra a função que você acabou de criar e copie a função ARN (por exemplo,arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRole). Você precisa fornecer isso ARN ao administrador do AccountB.