Todos os produtos
Search
Central de documentação

Resource Access Management:Use Alibaba Cloud CLI to call STS OpenAPI

Última atualização: Jul 20, 2026

Gerencie o Security Token Service (STS) com o Alibaba Cloud CLI. Este tópico usa a operação de API AssumeRole como exemplo para demonstrar como chamar a OpenAPI do STS pela CLI.

Pré-requisitos

Familiarize-se com os seguintes conceitos:

Etapa 1: Instale o Alibaba Cloud CLI

Instale o Alibaba Cloud CLI. Há pacotes disponíveis para Windows, Linux e macOS.

Você também pode usar o Cloud Shell para depurar comandos do Alibaba Cloud CLI. Para mais informações, consulte What is Cloud Shell?.

Etapa 2: Configure o Alibaba Cloud CLI

Importante

Somente um usuário RAM ou uma função RAM assumida podem chamar a operação de API AssumeRole. Não é possível executar essa operação com uma conta Alibaba Cloud (conta raiz). O exemplo neste tópico usa um usuário RAM.

Configure suas credenciais e um ID de região antes de começar. O Alibaba Cloud CLI oferece suporte a vários tipos de credenciais. Para mais informações, consulte Configure and manage credentials. Este exemplo usa um par de AccessKey.

  1. Crie um usuário RAM e um par de AccessKey para usar na configuração. Para mais informações, consulte Create a RAM user e Create an AccessKey.

  2. Conceda permissões ao usuário RAM. Neste exemplo, conceda permissão para chamar a operação de API AssumeRole do STS anexando a política AliyunSTSAssumeRoleAccess. Para mais informações, consulte Manage RAM user permissions.

  3. Obtenha o ID de uma região disponível. O Alibaba Cloud CLI envia solicitações de API para a região especificada. Para obter uma lista das regiões do STS disponíveis, consulte Endpoints.

    Nota

    Ao usar o Alibaba Cloud CLI, adicione a opção --region a um comando para especificar a região da solicitação. Essa opção substitui a região definida no seu perfil e nas variáveis de ambiente. Para mais informações, consulte Command-line options.

  4. Use o par de AccessKey do usuário RAM para configurar as credenciais. Nomeie o perfil de configuração como AkProfile. Para mais informações, consulte Configure and manage credentials.

Etapa 3: Crie uma função RAM

Importante

O Alibaba Cloud Resource Name (ARN) da função, especificado pelo parâmetro RoleArn, é obrigatório para chamar a operação de API AssumeRole. Para obter o ARN, crie uma função RAM que confie em uma conta Alibaba Cloud.

Neste exemplo, use o usuário RAM criado na Step 2: Configure Alibaba Cloud CLI para assumir essa função. Portanto, defina a conta Alibaba Cloud confiável com o ID da conta à qual o usuário RAM da Step 2: Configure Alibaba Cloud CLI pertence. Para mais informações, consulte Create a RAM role for a trusted Alibaba Cloud account.

Modifique a política de confiança da função RAM para especificar quais usuários RAM podem assumir a função. Para mais informações, consulte Modify the trust policy of a RAM role.

Etapa 4: Gerar um exemplo de comando da CLI

  1. No OpenAPI Explorer, acesse a página de depuração do AssumeRole.

  2. Na aba Parameters, insira os parâmetros da solicitação. Em seguida, clique em CLI Example para visualizar o comando gerado.

  3. Execute o comando no Cloud Shell ou copie o exemplo de comando.

    • Clique em Run in Cloud Shellimage para abrir o Cloud Shell e depurar o comando rapidamente.

    • Clique em Repeatimage para copiar o comando para a área de transferência. Depois, cole-o no shell local para execução.

      Nota
      • Ao copiar o comando para um shell local para depuração, verifique se o formato dos parâmetros está correto. Para mais informações sobre os parâmetros de comando do Alibaba Cloud CLI, consulte Understand command parameters.

      • Por padrão, o OpenAPI Explorer adiciona a opção --region ao comando gerado. Ao executar o comando localmente, essa opção substitui as configurações de região do perfil padrão e das variáveis de ambiente. Mantenha ou remova essa opção conforme necessário.

Etapa 5: Chamar APIs do STS

Exemplo 1: Listar APIs do STS disponíveis

Use a opção --help para listar as operações de API do STS disponíveis. Você também pode visualizá-las na API overview.

  1. Execute o comando.

    aliyun sts --help
  2. A saída retornada será semelhante ao exemplo abaixo.

    Usage:
      aliyun sts <ApiName> --parameter1 value1 --parameter2 value2 ...
    Product: Sts (Security Token Service)
    Version: 2015-04-01
    Available Api List:
      AssumeRole            Calls the AssumeRole operation to obtain temporary security credentials (an STS Token) to assume a RAM role.
      AssumeRoleWithOIDC    [Anonymous] Calls the AssumeRoleWithOIDC operation to obtain temporary security credentials (an STS Token) for a RAM role during OIDC-based role SSO.
      AssumeRoleWithSAML    [Anonymous] Calls the AssumeRoleWithSAML operation to obtain temporary security credentials (an STS Token) for a RAM role during SAML-based role SSO.
      GetCallerIdentity     Calls the GetCallerIdentity operation to obtain information about the current caller's identity.

Exemplo 2: Assumir uma função RAM

Chame AssumeRole para obter credenciais de segurança temporárias para uma função RAM.

  1. Execute o comando.

    Nota

    Para obter ajuda sobre os parâmetros do comando:

    • Execute o comando aliyun sts AssumeRole --help para obter sugestões de parâmetros.

    • Consulte o tópico AssumeRole para descrições detalhadas dos parâmetros.

    aliyun sts AssumeRole \
      --DurationSeconds 3600 \
      --Policy '{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}' \
      --RoleSessionName alice \
      --RoleArn 'acs:ram::123456789012****:role/adminrole' \
      --ExternalId abcd1234
  2. A saída abaixo é um exemplo. O valor de SecurityToken corresponde à credencial de segurança temporária.

    {
      "RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F",
      "AssumedRoleUser": {
        "AssumedRoleId": "34458433936495****:alice",
        "Arn": "acs:ram::123456789012****:role/adminrole/alice"
      },
      "Credentials": {
        "SecurityToken": "********",
        "Expiration": "2015-04-09T11:52:19Z",
        "AccessKeySecret": "wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****",
        "AccessKeyId": "STS.L4aBSCSJVMuKg5U1****"
      }
    }
    Nota

    Se ocorrer um erro ao chamar uma operação de API do STS, verifique o código de erro retornado para confirmar se os parâmetros e valores da solicitação são válidos.

    Use o ID da solicitação obtido na resposta ou na mensagem de erro do SDK com o OpenAPI Troubleshoot para diagnosticar o problema.