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.
Atualizado em 2024-08-31 GMT+08:00

Criação de uma política personalizada para agências

Função

Essa API é fornecida para que o administrador crie uma política personalizada para agências.

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.0/OS-ROLE/roles

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 acesso emitido para um usuário para suportar sua identidade e permissões.

Para obter detalhes sobre as permissões exigidas pelo token, consulte Ações.

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

Parâmetro

Obrigatório

Tipo

Descrição

role

Sim

Object

Informações de políticas personalizadas.

Tabela 3 role

Parâmetro

Obrigatório

Tipo

Descrição

display_name

Sim

String

Nome de exibição da política personalizada. O valor contém de 1 a 128 caracteres.

type

Sim

String

Modo de exibição.

NOTA:
  • AX: o projeto de serviço global
  • XA: projetos da região específica
  • Defina o modo de exibição de uma política personalizada para AX ou XA.

description

Sim

String

Descrição da política personalizada.

description_cn

Não

String

Descrição da política personalizada em chinês.

policy

Sim

Object

Conteúdo da política personalizada.

Tabela 4 role.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.0: função definida pelo sistema. Apenas um número limitado de funções de nível de serviço é fornecido para autorização.
  • 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 5 role.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:
  • No caso de uma política personalizada para agências, este parâmetro deve ser definido como "Action": ["iam:agencies:assume"].

Defina este parâmetro como iam:agencies:assume.

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

Resource

Sim

Object

Recursos a serem gerenciados. Depois que uma conta estabelece várias relações de confiança entre ela e sua conta, você pode autorizar os usuários do IAM em diferentes grupos de usuários a gerenciar os recursos da parte delegante. Cada usuário do IAM só pode alternar para as agências às quais foi autorizado a acessar. Por exemplo:

"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}
Tabela 6 role.policy.Statement.Resource

Parâmetro

Obrigatório

Tipo

Descrição

uri

Sim

Array of strings

URI de um recurso delegado, que pode conter um máximo de 128 caracteres. Formato: /iam/agencies/delegation ID. Por exemplo:

"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]

Parâmetros de resposta

Tabela 7 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

role

Object

Informações de políticas personalizadas.

Tabela 8 role

Parâmetro

Tipo

Descrição

catalog

String

Catálogo de serviços.

display_name

String

Nome de exibição da política personalizada.

description

String

Descrição da política personalizada.

links

Object

Link de recurso da política personalizada.

policy

Object

Conteúdo da política personalizada.

description_cn

String

Descrição da política personalizada em chinês.

domain_id

String

ID da conta.

type

String

Modo de exibição.

NOTA:
  • AX: o projeto de serviço global
  • XA: projetos da região específica
  • Defina o modo de exibição de uma política personalizada para AX ou XA.

id

String

ID de política personalizada.

name

String

Nome da política personalizada.

updated_time

String

Hora em que a política personalizada foi atualizada pela última vez.

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.

created_time

String

Hora em que a política personalizada foi criada.

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.

references

String

Número de referências.

Tabela 10 role.policy

Parâmetro

Tipo

Descrição

Version

String

Versão da política.

NOTA:
  • 1.0: função definida pelo sistema. Apenas um número limitado de funções de nível de serviço é fornecido para autorização.
  • 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

Array of objects

Declaração da política.

Tabela 11 role.policy.Statement

Parâmetro

Tipo

Descrição

Action

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:
  • No caso de uma política personalizada para agências, este parâmetro deve ser definido como "Action": ["iam:agencies:assume"].

Effect

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

Resource

Object

Recursos a serem gerenciados. Depois que uma conta estabelece várias relações de confiança entre ela e sua conta, você pode autorizar os usuários do IAM em diferentes grupos de usuários a gerenciar os recursos da parte delegante. Cada usuário do IAM só pode alternar para as agências às quais foi autorizado a acessar. Por exemplo:

"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}
Tabela 12 role.policy.Statement.Resource

Parâmetro

Tipo

Descrição

uri

Array of strings

URI de um recurso delegado, que pode conter um máximo de 128 caracteres. Formato: /iam/agencies/delegation ID. Por exemplo:

"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]

Exemplo de solicitação

Solicitação para criar uma política personalizada com display_name definido como IAMAgencyPolicy e uri definido como /iam/agencies/07805acaba800fdd4fbdc00b8f888c7c. A política se aplica a serviços globais.

POST https://iam.myhuaweicloud.com/v3.0/OS-ROLE/roles
{
    "role": {
        "display_name": "IAMAgencyPolicy",
        "type": "AX",
        "description": "IAMDescription",
        "description_cn": "Description in Chinese",
        "policy": {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "iam:agencies:assume"
                    ],
                    "Resource": {
                        "uri": [
                            "/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"
                        ]
                    }
                }
            ]
        }
    }
}

Exemplo de resposta

Código de status: 201

A política personalizada para agências é criada com sucesso.

{
    "role": {
        "catalog": "CUSTOMED",
        "display_name": "IAMAgencyPolicy",
        "description": "IAMDescription",
        "links": {
            "self": "https://iam.myhuaweicloud.com/v3/roles/f67224e84dc849ab954ce29fb4f47f8e"
        },
        "policy": {
            "Version": "1.1",
            "Statement": [
                {
                    "Action": [
                        "iam:agencies:assume"
                    ],
                    "Resource": {
                        "uri": [
                            "/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"
                        ]
                    },
                    "Effect": "Allow"
                }
            ]
        },
        "description_cn": "Description in Chinese",
        "domain_id": "d78cbac186b744899480f25bd02...",
        "type": "AX",
        "id": "f67224e84dc849ab954ce29fb4f47f8e",
        "name": "custom_d78cbac186b744899480f25bd022f468_0"
    }
}

Códigos de status

Código de status

Descrição

201

A política personalizada para agências é criada com sucesso.

400

Parâmetros inválidos.

401

Falha na autenticação.

403

Acesso negado.

500

Erro de servidor interno.

Códigos de erro

Nenhum