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 de um token de segurança por meio de um token
Atualizado em 2024-08-31 GMT+08:00

Obtenção de uma chave de acesso temporária e de um token de segurança por meio de um token

Função

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

A API pode ser chamada usando o ponto de extremidade global e pontos de extremidade da região específica. 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 token de segurança, e o campo x-security-token deve ser incluído no cabeçalho da solicitação. Para obter detalhes, 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

Obrigatório

Tipo

Descrição

Content-Type

Sim

String

Preencha application/json;charset=utf8 nesse 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

Obrigatório

Tipo

Descrição

auth

Sim

Object

Informações de autenticação.

Tabela 3 auth

Parâmetro

Obrigatório

Tipo

Descrição

identity

Sim

Object

Parâmetros de autenticação.

Tabela 4 auth.identity

Parâmetro

Obrigatório

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 temporária e token de segurança.

policy

Não

Object

Permissões a serem atribuídas à chave de acesso temporária e ao token de segurança (atualmente, a política só se aplica ao OBS).

As permissões finais da chave de acesso temporária e do token de segurança são a interseção de permissões atribuídas ao token de usuário especificado e definidas neste parâmetro.

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

Tabela 5 auth.identity.policy

Parâmetro

Obrigatório

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.

Tabela 6 auth.identity.policy.Statement

Parâmetro

Obrigatório

Tipo

Descrição

Action

Sim

Array of strings

Permissões de operações específicas em um recurso. Para obter detalhes sobre as ações suportadas, consulte "Permissões e ações suportadas" na Referência de API de serviços em nuvem.

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 declarações Allow e Deny forem encontradas em uma política, a autenticação começará a partir das declaraçõ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. Para obter detalhes, consulte Sintaxe da política.

NOTA:

No exemplo de solicitação a seguir, a política está em vigor somente quando DomainName é definido como DomainNameExample.

 "Condition": {
              "StringEquals": {
                "g:DomainName": [
                  "DomainNameExample"
                ]
              }
            }

Resource

Não

Array of strings

Recursos em nuvem.

NOTA:
  • Formato: Service name:Region:Domain ID:Resource type:Resource path. Caracteres curinga (*) são suportados. Por exemplo, obs:*:*:bucket:* significa todos os buckets do OBS. Para obter detalhes sobre serviços de nuvem que oferecem suporte à autorização em nível de recurso, consulte Serviços em nuvem com suporte do IAM.
  • 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.
  • O nome do serviço, a região, o ID do domínio e o tipo de recurso podem ter de 1 a 50 caracteres, incluindo letras, dígitos, sublinhados (_), hifens (-) e asteriscos (*). O caminho do recurso pode ter de 1 a 1200 caracteres, excluindo ponto e vírgula (;), barras verticais (|), tis (~), aspas (`), chaves ({}), colchetes ([]) e colchetes angulares (<>).
Tabela 7 auth.identity.token

Parâmetro

Obrigatório

Tipo

Descrição

id

Não

String

Token. Esse parâmetro é obrigatório se X-Auth-Token não for especificado no cabeçalho da solicitação.

duration_seconds

Não

Integer

Período de validade (em segundos) de uma chave de acesso temporária e token de segurança.

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 de autenticação.

Tabela 9 credential

Parâmetro

Tipo

Descrição

expires_at

String

Tempo de expiração da chave de acesso e do token de segurança. A resposta é o horário UTC.

access

String

AK.

secret

String

SK.

securitytoken

String

Chave de acesso obtida em texto cifrado.

Exemplo de solicitação

  • Solicitação com token (especificando o período de validade de uma chave de acesso temporária e token de segurança)
    POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
    {
        "auth": {
            "identity": {
                "methods": [
                    "token"
                ],
                "token": {
                    "id": "MIIEIgYJKoZIhvc...",
                    "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 policy definido para controlar as permissões atribuídas à chave de acesso temporária e ao token de segurança obtidos (atualmente, a política se aplica apenas ao OBS). As permissões finais da chave de acesso temporária e do token de segurança são a interseção de permissões atribuídas ao token de usuário especificado e definidas neste parâmetro.
    POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
    {
      "auth": {
        "identity": {
          "methods": [
            "token"
          ],
          "policy": {
            "Version": "1.1",
            "Statement": [
              {
                "Effect": "Allow",
                "Action": [
                  "obs:object:GetObject"
                ],
                "Resource": [
                  "OBS:*:*:object:*"
                ],
                "Condition": {
                  "StringEquals": {
                    "g:DomainName": [
                      "DomainNameExample"                    //Example condition value. Replace it with the actual value.
                    ]
                  }
                }
              }
            ]
          },
          "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

Falha na autenticação.

403

Acesso negado.

500

Erro de servidor interno.

Códigos de erro

Nenhum