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