AWS CodeArtifact autenticación y tokens - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS CodeArtifact autenticación y tokens

CodeArtifact requiere que los usuarios se autentiquen con el servicio para poder publicar o consumir versiones de paquetes. Debe autenticarse en el CodeArtifact servicio creando un token de autorización con sus AWS credenciales. Para crear un token de autorización, debe contar con los permisos correctos. Para conocer los permisos necesarios para crear un token de autorización, consulte la entrada GetAuthorizationToken enAWS CodeArtifact referencia de permisos. Para obtener más información general sobre CodeArtifact los permisos, consulte¿Cómo AWS CodeArtifact funciona con IAM.

Para obtener un token de autorización CodeArtifact, debes llamar a la GetAuthorizationToken API. Con el AWS CLI, puede llamar GetAuthorizationToken con el get-authorization-token comando login o.

nota

Los usuarios raíz no pueden llamar a GetAuthorizationToken.

  • aws codeartifact login: Este comando facilita la configuración de los administradores de paquetes más comunes para usarlos CodeArtifact en un solo paso. Al llamar, se login obtiene un token GetAuthorizationToken y se configura el administrador de paquetes con el token y el punto final del CodeArtifact repositorio correcto. Los gestores de paquetes de soporte son los siguientes:

    • dotnet

    • npm

    • pepita

    • pip

    • rápido

    • cordel

  • aws codeartifact get-authorization-token: En el caso de los gestores de paquetes que no sean compatibles con login, puede llamar a get-authorization-token directamente y, a continuación, configurar su gestor de paquetes con el token según sea necesario, por ejemplo, añadiéndolo a un archivo de configuración o almacenándolo en una variable de entorno.

CodeArtifact los tokens de autorización son válidos durante un período predeterminado de 12 horas. Los tokens se pueden configurar con una vida útil de entre 15 minutos y 12 horas. Cuando caduque la vida útil, debe buscar otro token. La vida útil del token comienza después de que se cancele login o get-authorization-token.

Si se llama a login o get-authorization-token mientras se asume un rol, puede configurar la duración del token para que sea igual al tiempo restante de la duración de la sesión del rol estableciendo el valor de --duration-seconds en 0. De lo contrario, la duración del token es independiente de la duración máxima de la sesión del rol. Por ejemplo, supongamos que llama sts assume-role y especifica una duración de sesión de 15 minutos y, a continuación, llama login para obtener un token de CodeArtifact autorización. En este caso, el token es válido durante todo el período de 12 horas, aunque sea superior a los 15 minutos de duración de la sesión. Para obtener información sobre cómo controlar la duración de la sesión, consulte Uso de roles de IAM en la Guía del usuario de IAM.

Tokens creados con el comando login

El aws codeartifact login comando buscará un token GetAuthorizationToken y configurará el administrador de paquetes con el token y el punto final del CodeArtifact repositorio correcto.

En la siguiente tabla se describen los parámetros del comando login.

Parámetro Obligatoria Descripción

--tool

El administrador de paquetes en el que autenticarse. Los valores posibles son dotnetnpm, nugetpip, swift ytwine.

--domain

El nombre de dominio al que pertenece el repositorio.

--domain-owner

No

El ID del propietario del dominio. Este parámetro es obligatorio si se accede a un dominio que es propiedad de una AWS cuenta en la que no estás autenticado. Para obtener más información, consulte Dominios entre cuentas.

--repository

El nombre del repositorio en el que se va a autenticar.

--duration-seconds

No

Período en segundos, durante el que es válida la información de inicio de sesión. El valor mínimo es 900* y el valor máximo es 43200.

--namespace

No

Asocia un espacio de nombres a la herramienta de repositorio.

--dry-run

No

Imprima únicamente los comandos que se ejecutarían para conectar la herramienta con el repositorio sin realizar ningún cambio en la configuración.

*El valor 0 también es válido cuando se llama a login mientras se asume un rol. Al llamar a login con --duration-seconds 0, se crea un token con una duración igual al tiempo restante de la sesión de un rol asumido.

En el siguiente ejemplo se muestra cómo obtener un token de autorización con el comando login.

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

Para obtener instrucciones específicas sobre cómo usar el comando login con npm, consulte Configure y use npm con CodeArtifact. Para Python, consulte Uso de CodeArtifact con Python.

Tokens creados con la API GetAuthorizationToken

Puede llamar get-authorization-token para obtener un token de autorización. CodeArtifact

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

Puede cambiar el tiempo de validez de un token usando el argumento --duration-seconds. El valor mínimo es 900 y el máximo, 43200. En el siguiente ejemplo se crea un 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

Si se llama a get-authorization-token mientras se asume un rol, la duración del token es independiente de la duración máxima de la sesión del rol. Puede configurar el token para que caduque cuando venza la duración de la sesión del rol asumido configurando --duration-seconds en 0.

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

Para obtener más información, consulte la documentación siguiente:

Pasar un token de autenticación mediante una variable de entorno

AWS CodeArtifact usa los tokens de autorización que vende la GetAuthorizationToken API para autenticar y autorizar las solicitudes de herramientas de compilación, como Maven y Gradle. Para obtener más información sobre estos tokens de autenticación, consulte Tokens creados con la API GetAuthorizationToken.

Puedes almacenar estos tokens de autenticación en una variable de entorno que pueda leer una herramienta de compilación para obtener el token que necesita para recuperar los paquetes de un CodeArtifact repositorio o publicarlos en él.

Por motivos de seguridad, este enfoque es preferible a almacenar el token en un archivo donde puedan leerlo otros usuarios o procesos, o bien introducirlo accidentalmente en el control de código fuente.

  1. Configure sus AWS credenciales como se describe en. Instale o actualice y, a continuación, configure la AWS CLI

  2. Establezca la variable de entorno CODEARTIFACT_AUTH_TOKEN:

    nota

    En algunos casos, no es necesario incluir el argumento --domain-owner. Para obtener más información, consulte Dominios entre cuentas.

    • macOS o Linux:

      export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
    • Windows (mediante el intérprete de comandos predeterminado):

      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
    • Windows PowerShell:

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

Revocación de los tokens CodeArtifact de autorización

Cuando un usuario autenticado crea un token para acceder a CodeArtifact los recursos, ese token permanece activo hasta que finalice el período de acceso personalizable. El período de acceso predeterminado es de 12 horas. En algunos casos, es posible que le sea útil revocar el acceso a un token antes de que el período de acceso haya expirado. Puedes revocar el acceso a CodeArtifact los recursos siguiendo estas instrucciones.

Si creó el token de acceso con credenciales de seguridad temporales, como roles asumidos o acceso de usuarios federados, puede revocar el acceso actualizando una política de IAM para denegar el acceso. Para obtener información, consulte Deshabilitar permisos para credenciales de seguridad temporales en la Guía del usuario de IAM.

Si ha utilizado credenciales de usuario de IAM de larga duración para crear el token de acceso, debe modificar la política del usuario para denegar el acceso o eliminar al usuario de IAM. Para obtener más información, consulte Cambiar permisos para un usuario de IAM o Eliminar un usuario de IAM.