Configure credenciais temporárias do STS para o Alibaba Cloud CLI com o método StsToken. O CLI usa as credenciais fornecidas diretamente, sem atualização automática. Após a expiração, obtenha e reconfigure novas credenciais.
Pré-requisitos
Alibaba Cloud CLI
3.3.0ou posterior instalado. Executealiyun versionpara verificar. Se a versão for anterior à3.3.0, atualize conforme descrito em Instalar/Atualizar o CLI.-
Credencial temporária válida do STS obtida pela API AssumeRole ou outros métodos. A credencial inclui:
AccessKey ID (geralmente começa com
STS.)AccessKey Secret
Token de segurança
Tempo de expiração da credencial conhecido. Credenciais do STS geralmente expiram entre 15 minutos e 1 hora, dependendo do valor de
DurationSecondsdefinido na emissão do token.
Configurar credenciais
Configure as credenciais StsToken de forma interativa ou não interativa.
Configuração interativa
-
Execute o comando a seguir. Substitua
<ProfileName>por um nome personalizado, comoStsProfile.aliyun configure --mode StsToken --profile <ProfileName> -
Insira as informações da credencial quando solicitado:
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. O terminal exibe
Configure Donee uma mensagem de boas-vindas após a conclusão da configuração.
Configuração não interativa
Exemplos:
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
O perfil configurado torna-se ativo automaticamente. Para alternar perfis, execute aliyun configure switch --profile <ProfileName>.
Verificar a configuração
Execute o comando a seguir para verificar a credencial:
aliyun sts get-caller-identity
Saída de exemplo. O campo Arn exibe a função do RAM e o nome da sessão associados ao token STS.
{
"AccountId": "191317683912****",
"Arn": "acs:sts::191317683912****:assumed-role/<RoleName>/<RoleSessionName>",
"IdentityType": "AssumedRoleUser",
"PrincipalId": "30004467717606****:<RoleSessionName>",
"RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
"RoleId": "30004467717606****"
}
Expiração de credenciais
As credenciais do STS não são atualizadas automaticamente. Credenciais expiradas geram o seguinte erro:
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", ...}
Obtenha uma nova credencial e execute novamente o comando de configuração. Para renovação automática, use o tipo de credencial RamRoleArn ou EcsRamRole.
Excluir uma credencial
Execute o comando a seguir para excluir um perfil StsToken:
aliyun configure delete --profile <ProfileName>
Perguntas frequentes
Preciso excluir o perfil antigo antes de atualizar um token STS expirado?
Não. Execute aliyun configure set com o mesmo nome de perfil para sobrescrever as credenciais existentes sem solicitação de confirmação.
É possível configurar o StsToken usando variáveis de ambiente?
Sim. O CLI prioriza o perfil de configuração, mas recorre às variáveis de ambiente para valores ausentes:
export ALIBABA_CLOUD_ACCESS_KEY_ID="STS.xxx"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="tempSecret"
export ALIBABA_CLOUD_SECURITY_TOKEN="token-string"