Conectando-se a AWS CodeCommit repositórios com credenciais rotativas - 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á.

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:

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:

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:

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 e configurando um perfil na AWS CLI.

  1. 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.

  2. 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 chamado CodeAccess que assume uma função chamada CodeCommitAccessO 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 --profile CodeAccess aws configure set source_profile default --profile CodeAccess aws configure set role_session_name "Maria_Garcia" --profile CodeAccess

      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 o CodeCommitAccess 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=~/my-credentials/my-token-file role_session_name = Maria_Garcia

    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.