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
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. |
Parâmetro |
Obrigatoriedade |
Tipo |
Descrição |
---|---|---|---|
Sim |
Object |
Informações da autenticação. |
Parâmetro |
Obrigatoriedade |
Tipo |
Descrição |
---|---|---|---|
methods |
Sim |
Array of strings |
Método de autenticação. O valor deste campo é ["token"]. |
Não |
Object |
Período de validade de uma chave de acesso e SecurityToken temporários. |
|
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. |
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. |
Sim |
Array of objects |
Declaração da política. Uma política pode conter no máximo oito declarações. |
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:
|
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:
|
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:
|
Parâmetros de resposta
Parâmetro |
Tipo |
Descrição |
---|---|---|
Object |
Resultado da autenticação. |
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