Ao executar a Alibaba Cloud CLI em uma instância ECS ou instância ECI, autentique-se com o tipo de credencial EcsRamRole. A CLI obtém automaticamente as credenciais de segurança temporárias (tokens STS) do Instance Metadata Service (IMDS) referentes à função RAM associada à instância. Não é necessário par de AccessKey. Esse é o método de autenticação recomendado para cargas de trabalho em instâncias da Alibaba Cloud. Este tópico descreve os pré-requisitos e o procedimento de configuração das credenciais EcsRamRole.
Pré-requisitos
Alibaba Cloud CLI versão
3.3.0ou posterior. Executealiyun versionpara verificar a versão instalada. Para atualizar, consulte Instalar ou atualizar a Alibaba Cloud CLI.A CLI deve estar instalada em uma instância ECS ou ECI. Ambientes de desenvolvimento local não oferecem suporte a esse tipo de credencial.
Uma função RAM com as permissões necessárias deve estar associada à instância. Para obter instruções, consulte Criar uma função RAM e concedê-la a uma instância ECS e Conceder uma função RAM de instância a uma instância ECI.
Configurar credenciais
Configuração interativa
-
Execute o comando abaixo. Substitua
<ProfileName>pelo nome desejado para o perfil, comoEcsProfile.aliyun configure --mode EcsRamRole --profile <ProfileName> -
Insira as informações solicitadas em cada prompt:
Configuring profile 'EcsProfile' in 'EcsRamRole' authenticate mode... Ecs Ram Role []: ecs-role-name Default Region Id []: cn-shanghai Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[EcsProfile] ...Done.Para consultar os IDs de região disponíveis, veja Regiões e zonas de disponibilidade. Caso o serviço de nuvem não ofereça suporte a acesso entre regiões, defina a região padrão como aquela onde os recursos estão implantados.
A configuração estará concluída quando o terminal exibir
Configure Donee uma mensagem de boas-vindas.
Configuração não interativa
Bash
aliyun configure set \
--profile EcsProfile \
--mode EcsRamRole \
--ram-role-name ECSAdmin \
--region cn-hangzhou
PowerShell
aliyun configure set `
--profile EcsProfile `
--mode EcsRamRole `
--ram-role-name ECSAdmin `
--region cn-hangzhou
Após a configuração, o perfil torna-se automaticamente ativo. Para alternar para outro perfil, execute o comando aliyun configure switch --profile <ProfileName>.
Verificar credenciais
Execute o comando a seguir para validar o funcionamento das credenciais:
aliyun sts get-caller-identity
Se a configuração estiver correta, a saída incluirá o nome da função RAM no campo Arn:
{
"AccountId": "191317683912****",
"Arn": "acs:ram::191317683912****:assumed-role/<ecs-role-name>/<role-session-name>",
"IdentityType": "AssumedRoleUser",
"PrincipalId": "30004467717606****:<role-session-name>",
"RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
"RoleId": "30004467717606****"
}
Atualização de credenciais
As credenciais EcsRamRole são credenciais temporárias STS obtidas via IMDS. O próprio IMDS gerencia a renovação dessas credenciais automaticamente, de forma transparente. Nenhuma intervenção manual é necessária.
Excluir credenciais
Para remover um perfil EcsRamRole da configuração local da CLI, execute:
aliyun configure delete --profile <ProfileName>
Esse comando remove apenas o perfil do arquivo ~/.aliyun/config.json, sem desassociar a função RAM da instância. Para revogar totalmente o acesso, desassocie a função RAM no console ECS.
Perguntas frequentes
Como verifico se há uma função RAM associada à minha instância?
Execute o comando abaixo na instância para consultar o IMDS:
curl http://100.100.100.200/latest/meta-data/ram/security-credentials/
Se o comando retornar informações sobre a função, significa que ela está associada. Resposta vazia ou erro 404 indicam ausência de função RAM.
O que fazer se a obtenção de credenciais falhar ao usar EcsRamRole?
Por padrão, a Alibaba Cloud CLI utiliza o modo reforçado (IMDSv2) para obter credenciais do Instance Metadata Service. Em caso de falha, controle o comportamento de fallback pela variável de ambiente ALIBABA_CLOUD_IMDSV1_DISABLED:
false(padrão): A CLI recorre ao modo normal (IMDSv1) para obter as credenciais.true: A CLI usa exclusivamente o modo reforçado. Se houver falha, ela gera um erro em vez de aplicar o fallback.