Acesso ao repositório entre contas: ações para o usuário do repositório na AccountB - AWS CodeCommit

AWS CodeCommit não está mais disponível para novos clientes. Os clientes existentes 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 usuário do repositório na AccountB

Para acessar o repositório na AccountA, os usuários no grupo a AccountB devem configurar os computadores locais para acesso ao repositório. As seções a seguir apresentam etapas e exemplos.

Etapa 1: configurar o AWS CLI e o Git para que um usuário AccountB acesse o repositório no AccountA

Você não pode usar SSH chaves ou credenciais do Git para acessar repositórios em outra conta da Amazon Web Services. Os usuários do AccountB devem configurar seus computadores para usar um git-remote-codecommit (recomendado) ou o auxiliar de credenciais para acessar o repositório CodeCommit compartilhado no AccountA. No entanto, você pode continuar usando SSH chaves ou credenciais do Git ao acessar repositórios no AccountB.

Siga estas etapas para configurar o acesso usando git-remote-codecommit. Se você ainda não tiver instalado o git-remote-codecommit, baixe-o de git-remote-codecommit no site Python Package Index.

Para configurar o AWS CLI e o Git para acesso entre contas
  1. Instale o AWS CLI no computador local. Consulte instruções para seu sistema operacional em Instalação da AWS CLI.

  2. Instale o Git no computador local. Para instalar o Git, recomendamos sites como Git Downloads ou Git for Windows.

    nota

    CodeCommit suporta as versões 1.7.9 e posteriores do Git. A versão 2.28 do Git é compatível com a configuração do nome de ramificações para as confirmações iniciais. Recomendamos o uso de uma versão recente do Git. O Git é uma plataforma em constante evolução atualizada regularmente. Ocasionalmente, uma alteração de recurso pode afetar a forma como funciona com CodeCommit. Se você encontrar problemas com uma versão específica do Git and CodeCommit, revise as informações em. Solução de problemas

  3. No terminal ou na linha de comando, no local do diretório onde você deseja clonar o repositório, execute os comandos git config --local user.name e git config --local user.email para definir o nome do usuário e o e-mail para as confirmações que você fará no repositório. Por exemplo: .

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

    Esses comandos não retornam nada, mas o e-mail e o nome de usuário especificados serão associados às confirmações feitas no repositório na AccountA.

  4. Execute o aws configure --profile comando para configurar um perfil padrão a ser usado ao se conectar aos recursos na AccountB. Quando solicitado, forneça a chave de acesso e a chave secreta para seu IAM usuário.

    nota

    Se você já instalou AWS CLI e configurou um perfil, pode pular esta etapa.

    Por exemplo, execute o comando a seguir para criar um AWS CLI perfil padrão que você usa para acessar AWS recursos no AccountB no Leste dos EUA (Ohio) (us-east-2):

    aws configure

    Quando solicitado, forneça as seguintes informações:

    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. Execute o comando aws configure --profile novamente para configurar um perfil nomeado a ser usado ao se conectar ao repositório na AccountA Quando solicitado, forneça a chave de acesso e a chave secreta para seu IAM usuário. Por exemplo, execute o comando a seguir para criar um AWS CLI perfil chamado MyCrossAccountAccessProfile que você usa para acessar um repositório na AccountA no Leste dos EUA (Ohio) (us-east-2):

    aws configure --profile MyCrossAccountAccessProfile

    Quando solicitado, forneça as seguintes informações:

    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. Em um editor de texto não criptografado, abra o arquivo config, também conhecido como o arquivo de configuração da AWS CLI . Dependendo do seu sistema operacional, esse arquivo pode estar localizado ~/.aws/config em Linux, macOS ou Unix, ou em drive:\ Usuários\USERNAME\ .aws\ config no Windows.

  7. No arquivo, localize a entrada que corresponde ao perfil padrão configurado para acesso aos repositórios na AccountB. A aparência deve ser semelhante à seguinte:

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

    Adicione account à configuração do perfil. Forneça o ID da conta da AWS da AccountB. Por exemplo: .

    [default] account = 888888888888 region = us-east-2 output = json
  8. No arquivo, encontre a entrada que corresponde ao MyCrossAccountAccessProfile perfil que você acabou de criar. A aparência deve ser semelhante à seguinte:

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

    Adicione account, role_arn e source_profile à configuração do perfil. Forneça o ID da conta Amazon Web Services da AccountA, a ARN função na AccountA que você assume para acessar o repositório na outra conta e o nome do seu perfil padrão na AccountB. AWS CLI Por exemplo: .

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

    Salve suas alterações e feche o editor de texto plano.

Etapa 2: clonar e acessar o CodeCommit repositório na AccountA

Execute git clonegit push, e git pull para clonar, enviar e extrair do repositório de várias contas CodeCommit. Você também pode entrar no AWS Management Console, trocar de função e usar o CodeCommit console para interagir com o repositório na outra conta.

nota

Dependendo de como a IAM função foi configurada, talvez você consiga visualizar os repositórios na página padrão do. CodeCommit Se você não conseguir visualizar os repositórios, peça ao administrador do repositório que envie um e-mail com um URL link para a página de código do repositório compartilhado no console. CodeCommit O URL é semelhante ao seguinte:

https://console.aws.amazon.com/codecommit/home?region=us-east-2#/repository/MySharedDemoRepo/browse/HEAD/--/
Para clonar o repositório entre várias contas para seu computador local
  1. Na linha de comando ou no terminal, no diretório em que você deseja clonar o repositório, execute o git clone comando com o clone HTTPS (GRC). URL Por exemplo: .

    git clone codecommit://MyCrossAccountAccessProfile@MySharedDemoRepo

    A não ser que você especifique o contrário, o repositório é clonado em um subdiretório com o mesmo nome do repositório.

  2. Altere os diretórios do repositório clonado e adicione ou faça uma alteração em um arquivo. Por exemplo, você pode adicionar um arquivo chamado NewFile.txt.

  3. Adicione o arquivo às alterações controladas do repositório local, confirme a alteração e envie o arquivo para o CodeCommit repositório. Por exemplo: .

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

    Para ter mais informações, consulte Conceitos básicos do Git e AWS CodeCommit.

Agora que você adicionou um arquivo, acesse o CodeCommit console para ver seu commit, analisar as alterações de outros usuários no repositório, participar de pull requests e muito mais.

Para acessar o repositório de várias contas no console CodeCommit
  1. Faça login AWS Management Console no AccountB (888888888888) como o IAM usuário a quem foi concedido acesso entre contas ao repositório na AccountA.

  2. Escolha seu nome de usuário na barra de navegação e, na lista suspensa, escolha Switch Role.

    nota

    Se esta for a primeira vez que você selecionou essa opção, revise as informações na página e, em seguida, escolha Switch Role novamente.

  3. Na página Switch Role, faça o seguinte:

    • Em Conta, insira o ID da conta para AccountA (por exemplo, 111122223333).

    • Em Role, insira o nome da função que você deseja assumir para acessar o repositório em AccountA (por exemplo, MyCrossAccountRepositoryContributorRole).

    • Em Display Name (Nome de exibição), insira um nome amigável para essa função. Esse nome aparece no console ao assumir essa função. Ele também é exibido na lista de funções assumidas na próxima vez que você quiser alternar funções no console.

    • (Opcional) Em Color, escolha um rótulo de cor para o nome de exibição.

    • Selecione Switch Role (Mudar de função).

    Para obter mais informações, consulte Alternar para uma função (AWS Management Console).

  4. Abra o CodeCommit console em https://console.aws.amazon.com/codesuite/codecommit/home.

    Se a função assumida tiver permissão para visualizar os nomes dos repositórios na AccountA, você verá uma lista de repositórios e uma mensagem de erro que informa que você não tem permissões para visualizar o status deles. Esse comportamento é esperado. Escolha o nome do repositório compartilhado na lista.

    Se a função assumida não tiver permissão para visualizar os nomes dos repositórios na AccountA, você verá uma mensagem de erro e uma lista em branco sem repositórios. Cole o URL link no repositório ou modifique o link do console e altere /list para o nome do repositório compartilhado (por exemplo,/MySharedDemoRepo).

  5. Em Code, localize o nome do arquivo que você adicionou pelo computador local. Escolha-o para procurar pelo código no arquivo e, em seguida, procure no restante do repositório e comece a usar seus recursos.

    Para ter mais informações, consulte Começando com AWS CodeCommit.