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á.
Cross-account acesso ao repositório: ações para o usuário do repositório na contaB
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.
Tópicos
Etapa 1: configurar o AWS CLI e Git para um usuário AccountB acessar o repositório na AccountA
Você não pode usar as chaves SSH ou as credenciais do Git para acessar repositórios em outra conta da Amazon Web Services. Os usuários da Conta B devem configurar seus computadores para usar git-remote-codecommit (recomendado) ou o auxiliar de credencial para acessar o CodeCommit repositório compartilhado na Conta A. No entanto, você pode continuar a usar as chaves SSH ou as credenciais do Git ao acessar repositórios na 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
Para configurar o AWS CLI e Git para acesso entre contas
-
Instale o AWS CLI no computador local. Consulte instruções para seu sistema operacional em Instalação da AWS CLI.
-
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 ele funciona CodeCommit. Se você encontrar problemas com uma versão específica do Git e CodeCommit, revise as informações emSolução de problemas.
-
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.comEsses 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.
-
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 usuário do IAM.
nota
Se você já instalou AWS CLI e configurou um perfil, pode ignorar esta etapa.
Por exemplo, execute o comando a seguir para criar um AWS CLI perfil padrão que você usa para acessar AWS recursos na Conta B no Leste dos EUA (Ohio) (us-east-2):
aws configureQuando solicitado, forneça as seguintes informações:
AWS Access Key ID [None]:Your-IAM-User-Access-KeyAWS Secret Access Key ID [None]:Your-IAM-User-Secret-Access-KeyDefault region name ID [None]:us-east-2Default output format [None]: json -
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 usuário do IAM. Por exemplo, execute o comando a seguir para criar um AWS CLI perfil chamado
MyCrossAccountAccessProfileque você usa para acessar um repositório na Conta A no Leste dos EUA (Ohio) (us-east-2):aws configure --profileMyCrossAccountAccessProfileQuando solicitado, forneça as seguintes informações:
AWS Access Key ID [None]:Your-IAM-User-Access-KeyAWS Secret Access Key ID [None]:Your-IAM-User-Secret-Access-KeyDefault region name ID [None]:us-east-2Default output format [None]: json -
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/configem Linux, macOS ou Unix, ou emdrive:\ Users\\ .awsUSERNAME\ config no Windows. -
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 = jsonAdicione
accountà configuração do perfil. Forneça o ID da conta da AWS da AccountB. Por exemplo:[default] account =888888888888region = us-east-2 output = json -
No arquivo, encontre a entrada que corresponde ao
MyCrossAccountAccessProfileperfil que você acabou de criar. A aparência deve ser semelhante à seguinte:[profileMyCrossAccountAccessProfile] region = us-east-2 output = jsonAdicione
account,role_arnesource_profileà configuração do perfil. Forneça o ID da conta da Amazon Web Services da AccountA, o ARN da função na AccountA que você assume para acessar o repositório na outra conta e o nome do perfil padrão da AWS CLI na AccountB. Por exemplo:[profileMyCrossAccountAccessProfile] region = us-east-2 account =111122223333role_arn = arn:aws:iam::111122223333:role/MyCrossAccountRepositoryContributorRolesource_profile =defaultoutput = jsonSalve suas alterações e feche o editor de texto plano.
Etapa 2: clonar e acessar o CodeCommit repositório na Conta A
Execute git clone, git push e git pull para clonar, enviar por push e efetuar pull do repositório do CodeCommit entre contas. 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 função do IAM foi configurada, você poderá 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 por e-mail um link de URL 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
-
Na linha de comando ou no terminal, no diretório onde você deseja clonar o repositório, execute o comando git clone com o URL do clone (GRC) HTTPS. Por exemplo:
git clone codecommit://MyCrossAccountAccessProfile@MySharedDemoRepoA não ser que você especifique o contrário, o repositório é clonado em um subdiretório com o mesmo nome do repositório.
-
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. -
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 addNewFile.txtgit commit -m "Added a file to test cross-account access to this repository" git pushPara obter mais informações, consulte Começando com o Git e AWS CodeCommit.
Agora que você adicionou um arquivo, acesse o CodeCommit console para ver seu commit, revisar as alterações de outros usuários no repositório, participar de pull requests e muito mais.
Para acessar o repositório entre contas no console CodeCommit
-
Faça login Console de gerenciamento da AWS em AccountB (
888888888888) como o usuário do IAM que recebeu acesso entre contas ao repositório em AccountA. -
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.
-
Na página Switch Role, faça o seguinte:
-
Em Account (Conta), insira o ID da conta para a AccountA (por exemplo,
111122223333). -
Em Função, insira o nome da função que você deseja assumir para acessar o repositório na Conta A (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 Mudar de perfil.
Para obter mais informações, consulte Alternar para uma função (Console de gerenciamento da AWS).
-
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 link de URL do repositório ou modifique o link do console e altere
/listpara o nome do repositório compartilhado (por exemplo,/).MySharedDemoRepo-
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 obter mais informações, consulte Conceitos básicos de AWS CodeCommit.