Todos os produtos
Search
Central de documentação

Alibaba Cloud CLI:Credenciais de função RAM

Última atualização: Jul 03, 2026

Ao configurar o Alibaba Cloud CLI para assumir uma função RAM, você utiliza um AccessKey com baixos privilégios para obter automaticamente credenciais temporárias STS e acessar recursos na nuvem, sem expor diretamente um AccessKey com altos privilégios. Este tópico descreve dois métodos de configuração: RamRoleArn (assunção direta de uma função RAM) e ChainableRamRoleArn (assunção de uma função RAM encadeada a partir de credenciais existentes no CLI), além de seus cenários aplicáveis.

Requisito de versão

Versão do Alibaba Cloud CLI ≥ 3.3.0. Execute aliyun version para verificar a versão atual. Se a versão for anterior, consulte Instalar, atualizar e desinstalar o Alibaba Cloud CLI para fazer upgrade.

RamRoleArn

O modo RamRoleArn utiliza um AccessKey com baixos privilégios para assumir uma função RAM com privilégios mais elevados e obter credenciais temporárias STS. O AccessKey precisa apenas da política AliyunSTSAssumeRoleAccess. As permissões efetivas são determinadas pelas políticas anexadas à função de destino. Essa abordagem é ideal para ambientes de desenvolvimento local e cenários que exigem separação de privilégios.

Pré-requisitos

  • Um AccessKey foi criado para o usuário RAM e a política AliyunSTSAssumeRoleAccess foi concedida.

  • Uma função RAM de destino foi criada e a política de confiança dessa função permite que o usuário RAM a assuma.

  • O ARN da função RAM de destino foi obtido. Visualize-o na página de detalhes da função no console RAM. O formato é acs:ram::<ACCOUNT_ID>:role/<RoleName>.

Para obter detalhes sobre o preparo dos pré-requisitos, consulte as etapas em Usar indiretamente um AccessKey em Usar um par de AccessKey para chamar APIs.

Configurar credenciais

Configuração interativa

  1. Execute o comando a seguir para iniciar a configuração. Substitua <ProfileName> por um nome de perfil personalizado (por exemplo, RamRoleProfile):

    aliyun configure --mode RamRoleArn --profile <ProfileName>
  2. Insira as informações de configuração conforme solicitado:

    Configuring profile 'RamRoleArnProfile' in 'RamRoleArn' authenticate mode...
    Access Key Id []: <yourAccessKeyID>
    Access Key Secret []: <yourAccessKeySecret>
    Sts Region []: cn-hangzhou
    Ram Role Arn []: acs:ram::012345678910****:role/Alice
    Role Session Name []: alice
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[RamRoleArnProfile] ...Done.
  3. Quando o terminal exibir Configure Done seguido de uma mensagem de boas-vindas, a configuração estará concluída.

Nota

Após a conclusão da configuração, o perfil torna-se automaticamente o perfil ativo. Para alternar para outro perfil, execute o comando aliyun configure switch --profile <ProfileName>.

Configuração não interativa

Bash

aliyun configure set \
  --profile RamRoleArnProfile \
  --mode RamRoleArn \
  --access-key-id <yourAccessKeyID> \
  --access-key-secret <yourAccessKeySecret> \
  --sts-region "cn-hangzhou" \
  --ram-role-arn "acs:ram::012345678910****:role/Alice" \
  --role-session-name "alice" \
  --external-id "abcd1234" \
  --expired-seconds 900 \
  --region "cn-shanghai"

PowerShell

aliyun configure set `
  --profile RamRoleArnProfile `
  --mode RamRoleArn `
  --access-key-id <yourAccessKeyID> `
  --access-key-secret <yourAccessKeySecret> `
  --sts-region "cn-hangzhou" `
  --ram-role-arn "acs:ram::012345678910****:role/Alice" `
  --role-session-name "alice" `
  --external-id "abcd1234" `
  --expired-seconds 900 `
  --region "cn-shanghai"

Parâmetros completos

Parâmetro

Obrigatório

Descrição

Exemplo

--mode

Sim

Valor fixo RamRoleArn. Especifica o tipo de credencial.

RamRoleArn

--profile

Não

Nome do perfil. Se não especificado, o perfil ativo atual será usado por padrão. O nome padrão para o primeiro perfil é default. Recomendamos usar um nome significativo para distinguir múltiplos perfis.

RamRoleProfile

--region

Sim

ID da região padrão.

cn-hangzhou

--access-key-id

Sim

AccessKey ID do usuário RAM. O usuário deve ter a política AliyunSTSAssumeRoleAccess.

LTAI5t****

--access-key-secret

Sim

O AccessKey Secret correspondente.

****

--ram-role-arn

Sim

ARN da função RAM de destino. Obtenha-o na página de detalhes da função no console RAM.

acs:ram::191317683912****:role/DevOpsRole

--role-session-name

Sim

Nome da sessão, usado para identificar esta assunção de função nos logs de auditoria. Recomendamos usar um identificador significativo, como o nome de um aplicativo ou de uma máquina.

my-session

--expired-seconds

Não

Período de validade das credenciais temporárias em segundos. Valores válidos: 900 a 3600. O valor padrão é 900 segundos na configuração interativa. Se não for especificado no comando configure set, o valor padrão será 3600 segundos.

900

--external-id

Não

External ID, usado para aumentar a segurança durante a assunção de funções entre contas. Esse parâmetro é necessário apenas quando a política de confiança da função de destino o exige. Para mais informações, consulte Evitar o problema de confused deputy com external IDs.

--sts-region

Não

ID da região do endpoint STS. Se não especificado, o endpoint global sts.aliyuncs.com será utilizado.

cn-shanghai

Verificar credenciais

Após concluir a configuração, execute o comando a seguir para verificar se as credenciais estão ativas:

aliyun sts get-caller-identity

Saída:

{
  "AccountId": "191317683912****",
  "Arn": "acs:ram::191317683912****:assumed-role/<role-name>/<role-session-name>",
  "IdentityType": "AssumedRoleUser",
  "PrincipalId": "30004467717606****:<role-session-name>",
  "RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
  "RoleId": "30004467717606****"
}

Atualização de credenciais

O CLI gerencia automaticamente a atualização das credenciais, sem necessidade de intervenção manual. Antes que as credenciais temporárias STS expirem, o CLI chama novamente o STS AssumeRole para obter novas credenciais. Isso não afeta os comandos do CLI em execução.

ChainableRamRoleArn

O modo ChainableRamRoleArn assume outra função RAM encadeando a partir de um perfil de credenciais existente no CLI (o perfil de origem). O CLI primeiro obtém credenciais intermediárias do perfil de origem e, em seguida, usa essas credenciais para chamar o STS AssumeRole e obter as credenciais temporárias STS finais. Esse método é adequado para cenários de encadeamento de funções com múltiplos saltos entre contas ou para situações em que você precisa assumir funções adicionais com base em um EcsRamRole.

O tipo de credencial ChainableRamRoleArn funciona especificando um perfil de credenciais de origem, obtendo credenciais intermediárias (um AccessKey ou credenciais temporárias STS) desse perfil e, então, utilizando-as para assumir a função de destino e obter as credenciais temporárias STS finais.

Pré-requisitos

  • Já existe um perfil válido no CLI (perfil de origem), como um perfil EcsRamRole, AK ou RamRoleArn configurado.

  • A entidade principal (usuário ou função RAM) associada ao perfil de origem tem permissão para assumir a função RAM de destino (a política de confiança da função de destino permite que a entidade principal a assuma).

  • O ARN da função RAM de destino foi obtido, no formato acs:ram::<ACCOUNT_ID>:role/<RoleName>.

Configurar credenciais

Configuração interativa

  1. Execute o comando a seguir para iniciar a configuração. Substitua <ProfileName> por um nome de perfil personalizado (por exemplo, ChainProfile):

    aliyun configure --mode ChainableRamRoleArn --profile <ProfileName>
  2. Insira as informações de configuração conforme solicitado:

    Configuring profile 'ChainableProfile' in 'ChainableRamRoleArn' authenticate mode...
    Source Profile []: RamRoleArnProfile
    Sts Region []: cn-hangzhou
    Ram Role Arn []: acs:ram::012345678910****:role/Alice
    Role Session Name []: alice
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[ChainableProfile] ...Done.
    Nota

    No exemplo anterior, RamRoleArnProfile é o nome de um perfil de origem existente, e o ARN da função RAM é um valor de exemplo. Substitua-os pelos valores reais. Pressione Enter para ignorar os prompts Sts Region e External Id.

  3. Quando o terminal exibir Configure Done seguido de uma mensagem de boas-vindas, a configuração estará concluída.

Nota

Após a conclusão da configuração, o perfil torna-se automaticamente o perfil ativo. Para alternar para outro perfil, execute o comando aliyun configure switch --profile <ProfileName>.

Configuração não interativa

Exemplo de comando:

Bash

aliyun configure set \
  --profile ChainableProfile \
  --mode ChainableRamRoleArn \
  --source-profile RamRoleArnProfile \
  --sts-region "cn-hangzhou" \
  --ram-role-arn "acs:ram::012345678910****:role/Alice" \
  --role-session-name "alice" \
  --external-id "abcd1234" \
  --expired-seconds 900 \
  --region "cn-shanghai"

PowerShell

aliyun configure set `
  --profile ChainProfile `
  --mode ChainableRamRoleArn `
  --region cn-hangzhou `
  --source-profile EcsRoleProfile `
  --ram-role-arn acs:ram::<UID>:role/<RoleName> `
  --role-session-name chain-session `
  --expired-seconds 900
Importante

O perfil especificado por --source-profile já deve existir no arquivo de configuração do CLI. Caso contrário, o erro can not load the source profile: <name> será retornado. Execute aliyun configure list para visualizar todos os perfis existentes.

Parâmetros completos

Parâmetro

Obrigatório

Descrição

Exemplo

--mode

Sim

Valor fixo ChainableRamRoleArn. Especifica o tipo de credencial. Deve ser especificado explicitamente e não suporta inferência automática.

ChainableRamRoleArn

--profile

Não

Nome do perfil. Se não especificado, o perfil ativo atual será usado por padrão. O nome padrão para o primeiro perfil é default.

ChainProfile

--region

Sim

ID da região padrão.

cn-hangzhou

--source-profile

Sim

Nome do perfil de origem. O CLI primeiro obtém credenciais intermediárias deste perfil e depois as utiliza para assumir a função de destino. O perfil já deve existir.

EcsRoleProfile

--ram-role-arn

Sim

ARN da função RAM de destino.

acs:ram::191317683912****:role/CrossAccountRole

--role-session-name

Sim

Nome da sessão, usado para identificação nos logs de auditoria.

chain-session

--expired-seconds

Não

Período de validade das credenciais temporárias em segundos. Valores válidos: 900 a 3600. Se não especificado, o valor padrão será 3600 segundos.

900

--external-id

Não

External ID. Esse parâmetro é necessário apenas quando a política de confiança da função de destino o exige.

--sts-region

Não

ID da região do endpoint STS. Se não especificado, o endpoint global sts.aliyuncs.com será utilizado.

cn-hangzhou

Verificar credenciais

Após concluir a configuração, execute o comando aliyun sts get-caller-identity para verificar se as credenciais estão ativas.

Atualização de credenciais

O CLI gerencia automaticamente a atualização das credenciais, sem necessidade de intervenção manual. Antes que as credenciais temporárias STS expirem, o CLI primeiro atualiza as credenciais do perfil de origem (seguindo a lógica de atualização desse perfil; por exemplo, o EcsRamRole atualiza via IMDS) e, em seguida, chama novamente o STS AssumeRole para obter novas credenciais.

Excluir credenciais

Exclua as credenciais da função RAM da configuração local do CLI:

aliyun configure delete --profile <ProfileName>
Nota

Se o perfil excluído for o perfil ativo atual, o CLI alternará automaticamente para o primeiro perfil da lista de perfis.