Uso do IAM com CodeCommit: credenciais do Git, chaves SSH e chaves de acesso da AWS - AWS Identity and Access Management

Uso do IAM com CodeCommit: credenciais do Git, chaves SSH e chaves de acesso da AWS

O CodeCommit é um serviço de controle de versão gerenciado que hospeda repositórios privados do Git na Nuvem AWS. Para usar o CodeCommit, configure seu cliente Git para se comunicar com repositórios do CodeCommit. Como parte dessa configuração, forneça credenciais do IAM que podem ser usadas pelo CodeCommit para autenticar você. O IAM oferece suporte ao CodeCommit com três tipos de credenciais:

  • Credenciais do Git, um par de nome de usuário e senha gerado pelo IAM que você pode usar para se comunicar com repositórios do CodeCommit por HTTPS.

  • As chaves SSH, um par de chaves privada e pública gerado localmente, que você pode associar ao seu usuário do IAM para se comunicar com repositórios do CodeCommit por SSH.

  • Chaves de acesso da AWS que você pode usar com o auxiliar de credenciais incluído na AWS CLI para se comunicar com repositórios do CodeCommit por HTTPS.

nota

Você não pode usar as chaves SSH ou as credenciais do Git para acessar repositórios em outra conta da AWS. Para saber como configurar o acesso aos repositórios do CodeCommit para usuários e grupos do IAM em outra Conta da AWS, consulte Configurar o acesso entre contas a um repositório do AWS CodeCommit usando perfis, no Guia do usuário do AWS CodeCommit.

Consulte as seções a seguir para obter mais informações sobre cada opção.

Usar as credenciais do Git e HTTPS com o CodeCommit (recomendado)

Com as credenciais do Git, é possível gerar um par de nome de usuário e senha estáticos para o seu usuário do IAM e, em seguida, usar essas credenciais para conexões HTTPS. Você também pode usar essas credenciais com qualquer ferramenta de terceiros ou ambiente de desenvolvimento integrado (IDE), que seja compatível com as credenciais estáticas do Git.

Como essas credenciais são universais para todos os sistemas operacionais com suporte e compatíveis com a maioria dos sistemas de gerenciamento de credenciais, ambientes de desenvolvimento e outras ferramentas de desenvolvimento de software, esse é o método recomendado. Você pode redefinir a senha para as credenciais do Git a qualquer momento. Você também pode tornar as credenciais inativas ou excluí-las se elas não forem mais necessárias.

nota

Você não pode escolher seu próprio nome do usuário ou senha para as credenciais do Git. O IAM gera essas credenciais para ajudar a garantir que atendam aos padrões de segurança da AWS e de repositórios seguros no CodeCommit. Você pode fazer download das credenciais somente uma vez, no momento em que elas são geradas. Certifique-se de salvar as credenciais em um local seguro. Se necessário, você pode redefinir a senha a qualquer momento, mas isso invalida todas as conexões configuradas com a senha antiga. Você deve reconfigurar as conexões para usar a nova senha antes de se conectar.

Consulte os tópicos a seguir para obter mais informações:

nota

A alteração do nome de um usuário do IAM após a geração de credenciais do Git não altera o nome do usuário das credenciais do Git. O nome do usuário e a senha são os mesmos e ainda são válidos.

Para atualizar credenciais específicas do serviço
  1. Crie um segundo conjunto de credenciais específicas do serviço além do conjunto em uso no momento.

  2. Atualize todos os seus aplicativos para utilizar o novo conjunto de credenciais e confirme que os aplicativos estão funcionando.

  3. Altere o estado das credenciais originais para "Inativas".

  4. Certificar-se de que todos os seus aplicativos ainda estejam funcionando.

  5. Exclua as credenciais inativas específicas do serviço.

Usar chaves SSH e SSH com o CodeCommit

Com conexões SSH, você cria arquivos de chave pública e privada em sua máquina local que o Git e o CodeCommit usam para a autenticação SSH. Associe a chave pública ao seu usuário do IAM e armazene a chave privada em sua máquina local. Consulte os tópicos a seguir para obter mais informações:

nota

A chave pública deve ser codificada no formato ssh-rsa ou PEM. O tamanho mínimo de bit da chave pública é de 2.048 bits, e o tamanho máximo é de 16.384 bits. Isso não tem relação com o tamanho do arquivo que você carregou. Por exemplo, você pode gerar uma chave de 2.048 bits, e o arquivo PEM resultante terá 1.679 bytes. Se você fornecer a chave pública em outro formato ou tamanho, verá uma mensagem de erro indicando que o formato da chave é inválido.

Usar HTTPS com o auxiliar de credenciais da AWS CLI e o CodeCommit

Como uma alternativa às conexões HTTPS com credenciais do Git, você pode permitir que o Git use uma versão assinada com criptografia de suas credenciais de usuário do IAM ou uma função de instância do Amazon EC2 sempre que o Git precisar de autenticação na AWS para interagir com repositórios do CodeCommit. Este é o único método de conexão para repositórios do CodeCommit que não exige um usuário do IAM. Também é o único método que funciona com acesso federado e credenciais temporárias. Consulte os tópicos a seguir para obter mais informações:

O auxiliar de credenciais da AWS CLI não é compatível com outros sistemas auxiliares de credencial, como o Keychain Access ou o Windows Credential Management. Há considerações de configuração adicionais ao configurar conexões HTTPS com o auxiliar de credenciais. Para obter mais informações, consulte Para conexões HTTPS no Linux, macOS ou Unix com o auxiliar de credenciais da AWS CLI ou Conexões HTTPS no Windows com o auxiliar de credenciais da AWS CLI no Guia do usuário do AWS CodeCommit.