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.
Autenticación y tokens de AWS CodeArtifact
CodeArtifact requiere que los usuarios se autentiquen en el servicio para poder publicar o consumir versiones de paquetes. Debe autenticarse en el servicio CodeArtifact creando un token de autorización con sus credenciales de AWS. 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 los permisos de CodeArtifact, consulte ¿Cómo AWS CodeArtifact funciona con IAM.
Para obtener un token de autorización de CodeArtifact, debe llamar a la API GetAuthorizationToken. Con la AWS CLI, puede llamar a GetAuthorizationToken con el comando login o get-authorization-token.
nota
Los usuarios raíz no pueden llamar a GetAuthorizationToken.
aws codeartifact login: este comando facilita la configuración de los administradores de paquetes comunes para usar CodeArtifact en un solo paso. Al llamar alogin, se obtiene un token conGetAuthorizationTokeny se configura el administrador de paquetes con el token y el punto de conexión del repositorio de CodeArtifact correcto. Los siguientes administradores de paquetes son compatibles:dotnet
npm
NuGet
pip
swift
twine
aws codeartifact get-authorization-token: en el caso de los administradores de paquetes que no sean compatibles conlogin, puede llamar aget-authorization-tokendirectamente y, a continuación, configurar su administrador 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.
Los tokens de autorización de CodeArtifact 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 a sts
assume-role y especifica una duración de sesión de 15 minutos y, a continuación, llama a login para obtener un token de autorización de CodeArtifact. 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 comando aws codeartifact login buscará un token GetAuthorizationToken y configurará su administrador de paquetes con el token y el punto de conexión correcto del repositorio de CodeArtifact.
En la siguiente tabla se describen los parámetros del comando login.
| Parámetro | Obligatorio | Descripción |
|---|---|---|
|
Sí |
El administrador de paquetes en el que autenticarse. Los valores posibles son |
|
Sí |
El nombre de dominio al que pertenece el repositorio. |
|
No |
El ID del propietario del dominio. Este parámetro es obligatorio si se accede a un dominio que es propiedad de una cuenta de AWS en la que no está autenticado. Para obtener más información, consulte Dominios entre cuentas. |
|
Sí |
El nombre del repositorio en el que se va a autenticar. |
|
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. |
|
No |
Asocia un espacio de nombres a la herramienta de repositorio. |
|
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 |
||
En el siguiente ejemplo se muestra cómo obtener un token de autorización con el comando login.
aws codeartifact login \ --tooldotnet | npm | nuget | pip | swift | twine\ --domainmy_domain\ --domain-owner111122223333\ --repositorymy_repo
Para obtener instrucciones específicas sobre cómo usar el comando login con npm, consulte Configurar y usar npm con CodeArtifact. Para Python, consulte Uso de CodeArtifact con Python.
Se requieren permisos para llamar a la API GetAuthorizationToken.
Se requieren los permisos sts:GetServiceBearerToken y codeartifact:GetAuthorizationToken para llamar a la API GetAuthorizationToken de CodeArtifact.
Para usar un administrador de paquetes con un repositorio de CodeArtifact, su usuario o rol de IAM debe permitir sts:GetServiceBearerToken. Si bien sts:GetServiceBearerToken se puede añadir a una política de recursos de dominio de CodeArtifact, el permiso no tendrá ningún efecto en dicha política.
Tokens creados con la API GetAuthorizationToken
Puede llamar a get-authorization-token para obtener un token de autorización de CodeArtifact.
aws codeartifact get-authorization-token \ --domainmy_domain\ --domain-owner111122223333\ --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 \ --domainmy_domain\ --domain-owner111122223333\ --query authorizationToken \ --output text \ --duration-seconds3600
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 \ --domainmy_domain\ --domain-owner111122223333\ --query authorizationToken \ --output text \ --duration-seconds0
Para obtener más información, consulte la documentación siguiente:
-
Para obtener información sobre los tokens y las variables de entorno, consulte Pasar un token de autenticación mediante una variable de entorno.
-
Para los usuarios de Python, consulte Configurar pip sin el comando login o Configurar y usar twine con CodeArtifact.
-
Para los usuarios de Maven, consulte Uso de CodeArtifact con Gradle o Usar CodeArtifact con mvn.
-
Para los usuarios de npm, consulte Configurar npm sin usar el comando login.
Pasar un token de autenticación mediante una variable de entorno
AWS CodeArtifact utiliza tokens de autorización proporcionados por la API GetAuthorizationToken para autenticar y autorizar 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.
Puede 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 obtener paquetes de un repositorio de CodeArtifact o publicar paquetes 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.
-
Configure sus credenciales de AWS, tal y como se describe en Instale o actualice y, a continuación, configure la AWS CLI.
-
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 --domainmy_domain--domain-owner111122223333--query authorizationToken --output text` -
Windows (mediante el intérprete de comandos predeterminado):
for /f %i in ('aws codeartifact get-authorization-token --domainmy_domain--domain-owner111122223333--query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i -
Windows PowerShell:
$env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domainmy_domain--domain-owner111122223333--query authorizationToken --output text
-
Revocación de los tokens de autorización de CodeArtifact
Cuando un usuario autenticado crea un token para acceder a los recursos de CodeArtifact, ese token dura hasta que finalice su 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. Puede revocar el acceso a los recursos de CodeArtifact 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.