Configure credenciales temporales de STS para Alibaba Cloud CLI mediante el método StsToken. La CLI utiliza las credenciales proporcionadas directamente sin actualizarlas automáticamente. Debe obtener y configurar nuevas credenciales cuando estas caduquen.
Requisitos previos
Alibaba Cloud CLI
3.3.0o una versión posterior instalada. Ejecutealiyun versionpara comprobarlo. Si la versión es anterior a3.3.0, actualícela según Install/Update CLI.-
Una credencial temporal de STS válida obtenida mediante AssumeRole API u otros métodos. La credencial incluye:
Un AccessKey ID (generalmente comienza con
STS.)Un AccessKey Secret
Un token de seguridad
La hora de caducidad de la credencial es conocida. Las credenciales de STS suelen caducar entre 15 minutos y 1 hora después de su emisión, dependiendo del valor
DurationSecondsestablecido al emitir el token.
Configurar credenciales
Configure las credenciales StsToken de forma interactiva o no interactiva.
Configuración interactiva
-
Ejecute el siguiente comando. Reemplace
<ProfileName>con un nombre personalizado, comoStsProfile.aliyun configure --mode StsToken --profile <ProfileName> -
Introduzca la información de sus credenciales cuando se le solicite:
Configuring profile 'StsProfile' in 'StsToken' authenticate mode... Access Key Id []: STS.NUr5xxxxx Access Key Secret []: 7Bshxxxxx Sts Token []: CAISxxxxxxxxxxxxxxxx... Default Region Id []: cn-hangzhou Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[StsProfile] ...Done. La terminal muestra
Configure Doney un mensaje de bienvenida cuando la configuración se completa correctamente.
Configuración no interactiva
Ejemplos:
Bash
aliyun configure set \
--profile StsProfile \
--mode StsToken \
--access-key-id STS.NUr5xxxxx \
--access-key-secret 7Bshxxxxx \
--sts-token CAISxxxxxxxxxxxxxxxx... \
--region cn-shanghai
PowerShell
aliyun configure set `
--profile StsProfile `
--mode StsToken `
--access-key-id STS.NUr5xxxxx `
--access-key-secret 7Bshxxxxx `
--sts-token CAISxxxxxxxxxxxxxxxx... `
--region cn-shanghai
El perfil configurado se activa automáticamente. Para cambiar de perfil, ejecute aliyun configure switch --profile <ProfileName>.
Comprobar la configuración
Ejecute el siguiente comando para verificar la credencial:
aliyun sts get-caller-identity
Salida de ejemplo. El campo Arn muestra el rol de RAM y el nombre de sesión asociados con el token de STS.
{
"AccountId": "191317683912****",
"Arn": "acs:sts::191317683912****:assumed-role/<RoleName>/<RoleSessionName>",
"IdentityType": "AssumedRoleUser",
"PrincipalId": "30004467717606****:<RoleSessionName>",
"RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
"RoleId": "30004467717606****"
}
Caducidad de credenciales
Las credenciales de STS no se actualizan automáticamente. Las credenciales caducadas generan el siguiente error:
Error: request execution failed: request execution failed: SDKError:
StatusCode: 400
Code: InvalidSecurityToken.Expired
Message: code: 400, Specified SecurityToken is expired. request id: 9C518A52-BE37-570A-8E1A-0DD559BC****
Data: {"Code":"InvalidSecurityToken.Expired", ...}
Obtenga una nueva credencial y ejecute nuevamente el comando de configuración. Para la renovación automática, utilice en su lugar el tipo de credencial RamRoleArn o EcsRamRole.
Eliminar una credencial
Ejecute el siguiente comando para eliminar un perfil StsToken:
aliyun configure delete --profile <ProfileName>
Preguntas frecuentes
¿Es necesario eliminar el perfil anterior antes de actualizar un token de STS caducado?
No. Ejecute aliyun configure set con el mismo nombre de perfil para sobrescribir las credenciales existentes sin que se solicite confirmación.
¿Se puede configurar StsToken mediante variables de entorno?
Sí. La CLI da prioridad al perfil de configuración, pero recurre a las variables de entorno para cualquier valor faltante:
export ALIBABA_CLOUD_ACCESS_KEY_ID="STS.xxx"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="tempSecret"
export ALIBABA_CLOUD_SECURITY_TOKEN="token-string"