AWS CodeArtifact autenticação e tokens - CodeArtifact

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

AWS CodeArtifact autenticação e tokens

CodeArtifact exige que os usuários se autentiquem com o serviço para publicar ou consumir versões do pacote. Você deve se autenticar no CodeArtifact serviço criando um token de autorização usando suas AWS credenciais. Para criar um token de autorização, é necessário ter as permissões corretas. Para obter as permissões necessárias para criar um token de autorização, consulte a entrada GetAuthorizationToken no AWS CodeArtifact referência de permissões. Para obter mais informações gerais sobre CodeArtifact permissões, consulteComo AWS CodeArtifact funciona com IAM.

Para obter um token de autorização de CodeArtifact, você deve chamar o. GetAuthorizationToken API Usando o AWS CLI, você pode chamar GetAuthorizationToken com o get-authorization-token comando login ou.

nota

Os usuários root não podem chamar GetAuthorizationToken.

  • aws codeartifact login: Esse comando facilita a configuração de gerenciadores de pacotes comuns para uso CodeArtifact em uma única etapa. A chamada login busca um token GetAuthorizationToken e configura seu gerenciador de pacotes com o token e o endpoint correto do CodeArtifact repositório. Os gerenciadores de pacotes de suporte são os seguintes:

    • dotnet

    • npm

    • pepita

    • pip

    • rápido

    • barbante

  • aws codeartifact get-authorization-token: para gerenciadores de pacotes não compatíveis com login, você pode chamar get-authorization-token diretamente e depois configurar seu gerenciador de pacotes com o token conforme necessário, por exemplo, adicionando-o a um arquivo de configuração ou armazenando-o em uma variável de ambiente.

CodeArtifact os tokens de autorização são válidos por um período padrão de 12 horas. Os tokens podem ser configurados com uma vida útil entre 15 minutos e 12 horas. Quando a vida útil expirar, você deverá obter outro token. A vida útil do token começa após login ou get-authorization-token após a chamada.

Se login ou get-authorization-token for chamado enquanto assume uma função, você pode configurar a vida útil do token para ser igual ao tempo restante na duração da sessão da função definindo o valor de --duration-seconds para 0. Caso contrário, a vida útil do token é independente da duração máxima da sessão da função. Por exemplo, suponha que você ligue sts assume-role e especifique uma duração de sessão de 15 minutos e, em seguida, ligue login para obter um token de CodeArtifact autorização. Nesse caso, o token é válido por todo o período de 12 horas, mesmo que seja maior do que a duração da sessão de 15 minutos. Para obter informações sobre como controlar a duração da sessão, consulte Usando IAM funções no Guia IAM do usuário.

Tokens criados com o comando login

O aws codeartifact login comando buscará um token GetAuthorizationToken e configurará seu gerenciador de pacotes com o token e o endpoint correto do CodeArtifact repositório.

A tabela a seguir descreve os parâmetros para o comando login.

Parâmetro Obrigatório Descrição

--tool

Sim

O gerenciador de pacotes no qual se autenticar. Os valores possíveis são dotnet npmnuget,pip,, swift twine e.

--domain

Sim

O nome de domínio ao qual o repositório pertence.

--domain-owner

Não

O ID do proprietário do domínio. Esse parâmetro é necessário se você estiver acessando um domínio pertencente a uma AWS conta na qual você não está autenticado. Para obter mais informações, consulte Domínios entre contas.

--repository

Sim

O nome do repositório no qual se autenticar.

--duration-seconds

Não

O tempo, em segundos, durante o qual as informações de login são válidas. O valor mínimo é 900* e o valor máximo é 43200.

--namespace

Não

Associa um namespace à sua ferramenta de repositório.

--dry-run

Não

Imprima somente os comandos que seriam executados para conectar sua ferramenta ao seu repositório sem fazer nenhuma alteração na sua configuração.

*Um valor de 0 também é válido ao chamar login enquanto assume uma função. Chamar login com --duration-seconds 0 cria um token com uma vida útil igual ao tempo restante na duração da sessão de uma função assumida.

O exemplo a seguir mostra como obter um token de autorização com o comando login.

aws codeartifact login \ --tool dotnet | npm | nuget | pip | swift | twine \ --domain my_domain \ --domain-owner 111122223333 \ --repository my_repo

Para obter orientações específicas sobre como usar o comando login com o npm, consulte Configure e use o npm com CodeArtifact. Para Python, consulte Usando o CodeArtifact com Python.

Permissões necessárias para chamar o GetAuthorizationToken API

As permissões sts:GetServiceBearerToken e as codeartifact:GetAuthorizationToken permissões são necessárias para chamar CodeArtifact GetAuthorizationToken API o.

Para usar um gerenciador de pacotes com um CodeArtifact repositório, seu IAM usuário ou função deve permitirsts:GetServiceBearerToken. Embora sts:GetServiceBearerToken possa ser adicionada a uma política de recursos de CodeArtifact domínio, a permissão não terá efeito nessa política.

Tokens criados com o GetAuthorizationToken API

Você pode ligar get-authorization-token para obter um token de CodeArtifact autorização em.

aws codeartifact get-authorization-token \ --domain my_domain \ --domain-owner 111122223333 \ --query authorizationToken \ --output text

Você pode alterar por quanto tempo um token é válido usando o argumento --duration-seconds. O valor mínimo é 900 e o valor máximo é 43200. O exemplo a seguir cria um token que durará 1 hora (3600 segundos).

aws codeartifact get-authorization-token \ --domain my_domain \ --domain-owner 111122223333 \ --query authorizationToken \ --output text \ --duration-seconds 3600

Se estiver chamando get-authorization-token enquanto assume uma função, a vida útil do token é independente da duração máxima da sessão da função. Você pode configurar o token para expirar quando a duração da sessão da função assumida expirar definindo --duration-seconds como 0.

aws codeartifact get-authorization-token \ --domain my_domain \ --domain-owner 111122223333 \ --query authorizationToken \ --output text \ --duration-seconds 0

Consulte a documentação a seguir para obter mais informações:

Passar um token de autenticação usando uma variável de ambiente

AWS CodeArtifact usa tokens de autorização fornecidos pela GetAuthorizationToken API para autenticar e autorizar solicitações de ferramentas de compilação, como Maven e Gradle. Para mais informações sobre esses tokens de autenticação, consulte Tokens criados com o GetAuthorizationToken API.

Você pode armazenar esses tokens de autenticação em uma variável de ambiente que pode ser lida por uma ferramenta de compilação para obter o token necessário para buscar pacotes de um CodeArtifact repositório ou publicar pacotes nele.

Por motivos de segurança, essa abordagem é preferível a armazenar o token em um arquivo onde ele possa ser lido por outros usuários ou processos, ou acidentalmente verificado no controle de origem.

  1. Configure suas AWS credenciais conforme descrito emInstalar ou atualizar e configurar a AWS CLI.

  2. Defina a CODEARTIFACT_AUTH_TOKEN variável de ambiente:

    nota

    Em alguns cenários, você não precisa incluir o argumento --domain-owner. Para obter mais informações, consulte Domínios entre contas.

    • macOS ou Linux:

      export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
    • Windows (usando o shell de comando padrão):

      for /f %i in ('aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i
    • Janelas PowerShell:

      $env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text

Revogando tokens CodeArtifact de autorização

Quando um usuário autenticado cria um token para acessar CodeArtifact recursos, esse token dura até que seu período de acesso personalizável termine. O período de acesso padrão é de 12 horas. Em alguns casos, é possível revogar o acesso a um token antes que o período de acesso expire. Você pode revogar o acesso aos CodeArtifact recursos seguindo estas instruções.

Se você criou o token de acesso usando credenciais de segurança temporárias, como funções assumidas ou acesso de usuário federado, poderá revogar o acesso atualizando uma IAM política para negar acesso. Para obter informações, consulte Desabilitar permissões para credenciais de segurança temporárias no Guia do IAMusuário.

Se você usou credenciais de IAM usuário de longo prazo para criar o token de acesso, deverá modificar a política do usuário para negar acesso ou excluir o IAM usuário. Para obter mais informações, consulte Alterando as permissões de um IAM usuário ou excluindo um IAM usuário.