Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda> Identity and Access Management> Referência de API> API> Gerenciamento de chaves de acesso> Obtenção de uma chave de acesso temporária e SecurityToken através de um token
Atualizado em 2023-02-16 GMT+08:00

Obtenção de uma chave de acesso temporária e SecurityToken através de um token

Função

Essa API é usada para obter uma chave de acesso temporária e um securityToken por meio de um token. Uma chave de acesso temporária e um securityToken são emitidos pelo sistema para usuários do IAM e são válidos por 15 minutos a 24 horas. A chave de acesso temporária e um securityToken são concedidos com o menor privilégio.

A API pode ser chamada usando o ponto de extremidade global e pontos de extremidade específicos da região. Para pontos de extremidade do IAM, consulte Regiões e pontos de extremidade.

Uma chave de acesso temporária deve ser usada junto com um securityToken, e o campo x-security-token deve ser incluído no cabeçalho da solicitação. Para obter mais informações, consulte Como usar uma AK/SK temporária para assinar solicitações?

URI

POST /v3.0/OS-CREDENTIAL/securitytokens

Parâmetros de solicitação

Tabela 1 Parâmetros no cabeçalho da solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

Content-Type

Sim

String

Preencha application/json;charset=utf8 neste campo.

X-Auth-Token

Sim

String

Token de usuário do IAM, token de usuário federado ou token de agência.

Tabela 2 Parâmetros no corpo da solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

auth

Sim

Object

Informações da autenticação.

Tabela 3 auth

Parâmetro

Obrigatoriedade

Tipo

Descrição

identity

Sim

Object

Parâmetro de autenticação.

Tabela 4 auth.identity

Parâmetro

Obrigatoriedade

Tipo

Descrição

methods

Sim

Array of strings

Método de autenticação. O valor deste campo é ["token"].

token

Não

Object

Período de validade de uma chave de acesso e SecurityToken temporários.

policy

Não

Object

Permissões do OBS a serem atribuídas à chave de acesso e securityToken temporários.

As permissões finais da chave de acesso temporária e securityToken são todas as permissões atribuídas ao token de usuário especificado e definidas neste parâmetro.

Para obter detalhes sobre a sintaxe e o formato das políticas do IAM, consulte Políticas.

Tabela 5 auth.identity.policy

Parâmetro

Obrigatoriedade

Tipo

Descrição

Version

Sim

String

Versão da política. Ao criar uma política personalizada, defina esse parâmetro como 1.1.

NOTA:

1.1: política. Uma política define as permissões necessárias para executar operações em um recurso de nuvem específico sob determinadas condições.

Statement

Sim

Array of objects

Declaração da política. Uma política pode conter no máximo oito declarações.

Tabela 6 auth.identity.policy.Statement

Parâmetro

Obrigatoriedade

Tipo

Descrição

Action

Sim

Array of strings

Permissão de operação específica em um recurso. São permitidas no máximo 100 ações.

NOTA:
  • O formato do valor é Service name:Resource type:Operation, por exemplo, vpc:ports:create.
  • Service name: indica o nome do produto, como ecs, evs ou vpc. Somente letras minúsculas são permitidas. Os tipos de recursos e as operações não diferenciam maiúsculas de minúsculas. Você pode usar um asterisco (*) para representar todas as operações.

Effect

Sim

String

Efeito da permissão. O valor pode ser Allow ou Deny. Se as instruções Allow e Deny forem encontradas em uma política, a autenticação começará a partir das instruções Deny.

Opções:

  • Allow
  • Deny

Condition

Não

Map<String,Map<String,Array<String>>>

Condições para que a permissão entre em vigor. São permitidas no máximo 10 condições. Para obter detalhes sobre os parâmetros de condição, consulte Criação de uma política personalizada.

NOTA:

Tome a condição na solicitação de exemplo como um exemplo, os valores da chave de condição (obs:prefix) e string (public) devem ser iguais (StringEquals).

 "Condition": {
              "StringEquals": {
                "obs:prefix": [
                  "public"
                ]
              }
            }

Resource

Não

Array of strings

Recursos em nuvem. A matriz pode conter um máximo de 10 cadeias de caracteres de recurso e cada cadeia não pode exceder 128 caracteres.

NOTA:
  • Formato: Service name:Region:Account ID:Resource type:Resource path. Caracteres curinga (*) são suportados. Por exemplo, obs:*:*:bucket:* significa todos os intervalos OBS.
  • O segmento de região pode ser * ou uma região acessível ao usuário. O recurso especificado deve pertencer ao serviço correspondente que realmente existe.
Tabela 7 auth.identity.token

Parâmetro

Obrigatoriedade

Tipo

Descrição

duration_seconds

Não

Integer

Período de validade (em segundos) de uma chave e SecurityToken de acesso temporários.

O valor varia de 15 minutos a 24 horas. O valor padrão é 15 minutos.

Parâmetros de resposta

Tabela 8 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

credential

Object

Resultado da autenticação.

Tabela 9 credential

Parâmetro

Tipo

Descrição

expires_at

String

Tempo de expiração da chave de acesso e securityToken. A resposta é o horário UTC.

access

String

AK.

secret

String

SK.

securitytoken

String

Obteve chave de acesso em texto cifrado.

Exemplo de solicitação

  • Solicitação com o parâmetro token
    POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
    {
        "auth": {
            "identity": {
                "methods": [
                    "token"
                ],
                "token": {
                    "duration_seconds": 900
                }
            }
        }
    }
  • Solicitação com o cabeçalho X-Auth-Token, mas sem o parâmetro token
    POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
    {
        "auth": {
            "identity": {
                "methods": [
                    "token"
                ]
            }
        }
    }
  • Solicitação com o parâmetro policy
    POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
    {
      "auth": {
        "identity": {
          "methods": [
            "token"
          ],
          "policy": {
            "Version": "1.1",
            "Statement": [
              {
                "Effect": "Allow",
                "Action": [
                  "obs:object:*"
                ],
                "Resource": [
                  "obs:*:*:object:*"
                ],
                "Condition": {
                  "StringEquals": {
                    "obs:prefix": [
                      "public"
                    ]
                  }
                }
              }
            ]
          },
          "token": {
            "duration_seconds": 900
          }
        }
      }
    }

Exemplo de resposta

Código de status: 201

A solicitação foi bem-sucedida.

{
    "credential": {
        "access": "NZFAT5VNWEJDGZ4PZ...",
        "expires_at": "2020-01-08T03:50:07.574000Z",
        "secret": "riEoWsy3qO0BvgwfkoLVgCUvzgpjBBcvdq...",
        "securitytoken": "gQpjbi1ub3J0aC00jD4Ej..."
    }
}

Códigos de status

Código de status

Descrição

201

A solicitação foi bem-sucedida.

400

Parâmetros inválidos.

401

Autenticação falhou.

403

Acesso negado.

500

Erro de servidor interno.

Códigos de erro

Nenhum