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á.
Conectando-se a AWS CodeCommit repositórios com credenciais rotativas
Você pode dar aos usuários acesso aos seus AWS CodeCommit repositórios sem IAM configurá-los para eles ou usar uma chave de acesso e uma chave secreta. Para atribuir permissões a identidades federadas, você cria um perfil e define permissões para a perfil. Quando uma identidade federada é autenticada, essa identidade é associada ao perfil e recebe as permissões definidas pelo mesmo. Para obter informações sobre funções para federação, consulte Criar uma função para um provedor de identidade terceirizado (federação) no Guia IAM do usuário. Se você usa o IAM Identity Center, configura um conjunto de permissões. Para controlar o que suas identidades podem acessar após a autenticação, o IAM Identity Center correlaciona o conjunto de permissões a uma função em. IAM Para obter informações sobre conjuntos de permissões, consulte Conjuntos de Permissões no Manual do Usuário do AWS IAM Identity Center . Você também pode configurar o acesso baseado em funções para que IAM os usuários acessem CodeCommit repositórios em contas separadas da Amazon Web Services (uma técnica conhecida como acesso entre contas). Para obter uma explicação detalhada sobre como configurar o acesso entre várias contas de um repositório, consulte Configurar o acesso entre contas a um AWS CodeCommit repositório usando funções.
É possível configurar o acesso para usuários que desejam ou devem ser autenticados por meio de métodos como:
-
Linguagem de marcação de asserção de segurança () SAML
-
Autenticação multifatorial () MFA
-
Federação
-
Login with Amazon
-
Amazon Cognito
-
Facebook
-
Google
-
Provedor de identidade compatível com OpenID Connect (OIDC)
nota
As informações a seguir se aplicam somente ao uso git-remote-codecommit ou ao auxiliar de AWS CLI credenciais para se conectar aos CodeCommit repositórios. Como a abordagem recomendada para acesso temporário ou federado CodeCommit é a configuraçãogit-remote-codecommit, este tópico fornece exemplos de uso desse utilitário. Para obter mais informações, consulte Etapas de configuração para HTTPS conexões AWS CodeCommit com git-remote-codecommit.
Você não pode usar SSH nossas credenciais do Git e conectar-se HTTPS a CodeCommit repositórios com credenciais de acesso rotativas ou temporárias.
Não será necessário executar estas etapas se todas as seguintes condições forem verdadeiras:
-
Você está conectado a uma EC2 instância da Amazon.
-
Você está usando o Git e HTTPS com o auxiliar de AWS CLI credenciais para se conectar da instância Amazon EC2 aos repositórios. CodeCommit
-
A EC2 instância da Amazon tem um perfil de IAM instância anexado que contém as permissões de acesso descritas em Para conexões HTTPS no Linux, macOS ou Unix com o assistente de credenciais da AWS CLI ouPara conexões HTTPS no Windows com o assistente de credenciais da AWS CLI.
-
Você instalou e configurou o auxiliar de credenciais do Git na EC2 instância da Amazon, conforme descrito em ou. Para conexões HTTPS no Linux, macOS ou Unix com o assistente de credenciais da AWS CLI Para conexões HTTPS no Windows com o assistente de credenciais da AWS CLI
EC2As instâncias da Amazon que atendem aos requisitos anteriores já estão configuradas para comunicar credenciais de acesso temporário CodeCommit em seu nome.
nota
Você pode configurar e usar git-remote-codecommit em EC2 instâncias da Amazon.
Para dar aos usuários acesso temporário aos seus CodeCommit repositórios, conclua as etapas a seguir.
Etapa 1: Concluir os pré-requisitos
Conclua as etapas de configuração para fornecer ao usuário acesso aos seus CodeCommit repositórios usando credenciais rotativas:
-
Para acesso entre contas, consulte Passo a passo: Delegando acesso em contas da Amazon Web Services usando funções e. IAM Configurar o acesso entre contas a um AWS CodeCommit repositório usando funções
-
Para SAML uma federação, consulte Usando o sistema de autenticação da sua organização para conceder acesso a AWS recursos e Sobre a federação AWS STS SAML baseada em 2.0.
-
ParaMFA, consulte Usando dispositivos de autenticação multifator (MFA) AWS e criando credenciais de segurança temporárias para permitir o acesso dos usuários. IAM
-
Para Login com Amazon, Amazon Cognito, Facebook, Google ou qualquer provedor OIDC de identidade compatível, consulte Sobre a AWS STS Web Identity Federation.
Use as informações em Autenticação e controle de acesso para o AWS CodeCommit para especificar as CodeCommit permissões que você deseja conceder ao usuário.
Etapa 2: obter nome do perfil ou credenciais de acesso
Se você quiser que seus usuários acessem repositórios assumindo uma função, forneça a eles o Amazon Resource Name (ARN) dessa função. Caso contrário, dependendo da forma como você configura o acesso, seu usuário pode obter credenciais rotativas de uma das seguintes maneiras:
-
Para acesso entre contas, chame o comando AWS CLI assume-role ou chame o. AWS STS AssumeRoleAPI
-
ParaSAML, chame o AWS CLI assume-role-with-samlcomando ou AWS STS AssumeRoleWithSAMLAPIo.
-
Para federação, chame os get-federation-tokencomandos AWS CLI assume-role ou ou. AWS STS AssumeRoleGetFederationTokenAPIs
-
ParaMFA, chame o AWS CLI get-session-tokencomando ou AWS STS GetSessionTokenAPIo.
-
Para Login with Amazon, Amazon Cognito, Facebook, Google ou qualquer provedor de identidade OIDC compatível, chame o comando AWS CLI assume-role-with-web-identity ou o. AWS STS AssumeRoleWithWebIdentityAPI
Etapa 3: instalar git-remote-codecommit e configurar o AWS CLI
É necessário configurar o computador local para usar as credenciais de acesso instalando git-remote-codecommit
-
Siga as instruções em Configuração para configurar a AWS CLI. Use o comando aws configure para configurar um ou mais perfis. Considere criar um perfil nomeado para usar ao se conectar aos CodeCommit repositórios usando credenciais rotativas.
-
Você pode associar as credenciais ao perfil AWS CLI nomeado do usuário de uma das seguintes formas.
-
Se você estiver assumindo uma função para acessar CodeCommit, configure um perfil nomeado com as informações necessárias para assumir essa função. Por exemplo, se você quiser assumir uma função chamada
CodeCommitAccess
na conta 11111111111111 da Amazon Web Services, você pode configurar um perfil padrão para usar ao trabalhar com outros AWS recursos e um perfil nomeado para usar ao assumir essa função. Os comandos a seguir criam um perfil nomeado chamadoCodeAccess
que assume uma função chamadaCodeCommitAccess
O nome do usuário.Maria_Garcia
está associado à sessão e o perfil padrão é definido como a origem de suas AWS credenciais:aws configure set role_arn arn:aws:iam::111111111111:role/
CodeCommitAccess
--profileCodeAccess
aws configure set source_profile default --profileCodeAccess
aws configure set role_session_name "Maria_Garcia
" --profileCodeAccess
Se você quiser verificar as alterações, visualize ou edite manualmente o arquivo
~/.aws/config
(para Linux) ou o arquivo%UserProfile%.aws\config
(para Windows) e revise as informações sob o perfil nomeado. Por exemplo, o arquivo pode ser semelhante ao seguinte:[default] region = us-east-1 output = json [profile CodeAccess] source_profile = default role_session_name = Maria_Garcia role_arn = arn:aws:iam::111111111111:role/
CodeCommitAccess
Depois de configurar seu perfil nomeado, você pode clonar CodeCommit repositórios com o git-remote-codecommit utilitário usando o perfil nomeado. Por exemplo, para clonar um repositório chamado
MyDemoRepo
:git clone codecommit://
CodeAccess
@MyDemoRepo
-
Se você estiver usando a federação de identidade da web e o OpenID Connect (OIDC), configure um perfil nomeado que faça a
AssumeRoleWithWebIdentity
API chamada AWS Security Token Service (AWS STS) em seu nome para atualizar as credenciais temporárias. Use o aws configure set comando ou edite manualmente o~/.aws/credentials
arquivo (para Linux) ou o%UserProfile%.aws\credentials
arquivo (para Windows) para adicionar um perfil AWS CLI nomeado com os valores de configuração necessários. Por exemplo, para criar um perfil que pressupõe oCodeCommitAccess
função e usa um arquivo de token de identidade da web ~/my-credentials
/my-token-file
:[
CodeCommitWebIdentity
] role_arn = arn:aws:iam::111111111111:role/CodeCommitAccess
web_identity_token_file=~/
role_session_name = Maria_Garciamy-credentials
/my-token-file
Para obter mais informações, consulte Configurando AWS Command Line Interface e usando uma IAM função AWS CLI no Guia do AWS Command Line Interface usuário.
-
Etapa 4: acessar os CodeCommit repositórios
Supondo que seu usuário tenha seguido as instruções Conexão a um repositório para se conectar aos CodeCommit repositórios, ele então usa a funcionalidade estendida fornecida pelo git-remote-codecommit Git para chamargit clone, git pull clonargit push, enviar e extrair dos CodeCommit repositórios aos quais ele ou ela tem acesso. Por exemplo, para clonar um repositório:
git clone codecommit://
CodeAccess
@MyDemoRepo
Os comandos commit, push e pull do Git usam sintaxe regular do Git.
Quando o usuário usa AWS CLI e especifica o perfil AWS CLI nomeado associado às credenciais de acesso rotativas, os resultados com escopo para esse perfil são retornados.