Obtenção de um token com escopo
Função
Essa API é usada para obter um token com escopo por meio da autenticação de identidade federada.
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.
URI
POST /v3/auth/tokens
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Content-Type |
Não |
String |
Preencha application/json;charset=utf8 nesse campo. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Sim |
Object |
Informações de autenticação. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Sim |
Object |
Parâmetros de autenticação. |
|
Sim |
Object |
Escopo de aplicação do token. O valor pode ser project ou domain. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
methods |
Sim |
Array of strings |
Método de autenticação. O valor deste campo é token. |
Sim |
Object |
Informações de token sem escopo. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
id |
Sim |
String |
ID de token sem escopo. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Não |
Object |
Se esse campo estiver definido como domain, o token poderá ser usado para acessar recursos em todos os projetos sob a conta de um ID ou nome especificado. |
|
Não |
Object |
Se esse campo estiver definido como project, o token só poderá ser usado para acessar recursos no projeto de um ID ou nome especificado. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
id |
Não |
String |
ID da conta. O id ou o name deve ser especificado. |
name |
Não |
String |
Nome da conta. O id ou o name deve ser especificado. |
Parâmetros de resposta
Parâmetro |
Tipo |
Descrição |
---|---|---|
X-Subject-Token |
String |
Token com escopo assinado. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
Object |
Detalhes do token com escopo. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
methods |
Array of strings |
Método para obter o token. |
expires_at |
String |
Hora em que o token expirará.
NOTA:
O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601. |
Array of objects |
Informações do catálogo. |
|
Object |
Informações da conta do usuário do IAM que solicita o token. Este parâmetro é retornado somente quando o parâmetro scope no corpo da solicitação foi definido como domain. |
|
Object |
Informações do projeto do usuário do IAM. Este parâmetro é retornado somente quando o parâmetro scope no corpo da solicitação foi definido como project. |
|
Array of objects |
Informações de permissões do token. |
|
Object |
Informações sobre o usuário do IAM que solicita o token. |
|
issued_at |
String |
Hora em que o token foi emitido.
NOTA:
O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
type |
String |
Tipo do serviço ao qual a API pertence. |
id |
String |
ID do serviço. |
name |
String |
Nome do serviço. |
Array of objects |
Informações do ponto de extremidade. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
url |
String |
URL do ponto de extremidade. |
region |
String |
Região à qual o ponto de extremidade pertence. |
region_id |
String |
ID da região. |
interface |
String |
Visibilidade da API. public indica que a API está disponível para acesso público. |
id |
String |
ID do ponto de extremidade. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome do projeto. |
id |
String |
ID do projeto. |
Object |
Informações da conta do projeto. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome da conta. |
id |
String |
ID da conta. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome de permissão. |
id |
String |
ID de permissão. O valor padrão é 0, que não corresponde a nenhuma permissão. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
Object |
Informações sobre a conta usada para criar o usuário do IAM. |
|
Object |
Informações de autenticação de identidade federada. |
|
id |
String |
ID do usuário. |
name |
String |
Nome de usuário. |
password_expires_at |
String |
Tempo de expiração da senha. Se este parâmetro não for especificado, a senha nunca expirará.
NOTA:
O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome da conta. |
id |
String |
ID da conta. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
Array of objects |
Informações do grupo de usuários. |
|
Object |
Informações do provedor de identidade. |
|
Object |
Informações de protocolo. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
id |
String |
ID do grupo de usuários. |
name |
String |
Nome do grupo de usuários. |
Exemplo de solicitação
Solicitação para obter um token com escopo
POST https://iam.myhuaweicloud.com/v3/auth/tokens
{ "auth": { "identity": { "methods": [ "token" ], "token": { "id": "MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB..." } }, "scope": { "domain": { "id": "063bb260a480cecc0f36c0086bb6c..." } } } }
Exemplo de resposta
Código de status: 201
A solicitação foi bem-sucedida.
Parameters in the response header X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body { "token": { "expires_at": "2020-02-13T14:21:34.042000Z", "methods": [ "token" ], "catalog": [ { "endpoints": [ { "id": "d2983f677ce14f1e81cbb6a9345a107a", "interface": "public", "region": "*", "region_id": "*", "url": "https://iam.ap-southeast-1.myhuaweicloud.com/v3" } ], "id": "fd631b3426cb40f0919091d5861d8fea", "name": "keystone", "type": "identity" } ], "domain": { "id": "06aa2260a480cecc0f36c0086bb6cfe0", "name": "IAMDomain" }, "roles": [ { "id": "0", "name": "te_admin" }, { "id": "0", "name": "secu_admin" } ], "issued_at": "2020-02-12T14:21:34.042000Z", "user": { "OS-FEDERATION": { "groups": [ { "id": "06aa2260bb00cecc3f3ac0084a74038f", "name": "admin" } ], "identity_provider": { "id": "ACME" }, "protocol": { "id": "saml" } }, "domain": { "id": "06aa2260a480cecc0f36c0086bb6cfe0", "name": "IAMDomain" }, "id": "LdQTDSC7zmJVIic3yaCbLBXDxPAdDxLg", "name": "FederationUser", "password_expires_at": "" } } }
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. |
404 |
O recurso solicitado não pode ser encontrado. |
500 |
Erro de servidor interno. |
503 |
Serviço indisponível. |
Códigos de erro
Nenhum