Criação de uma política personalizada para serviços de nuvem
Função
Essa API é fornecida para que o administrador crie uma política personalizada para serviços de nuvem.
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
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. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Sim |
Object |
Informações de políticas personalizadas. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
display_name |
Sim |
String |
Nome de exibição da política personalizada. |
type |
Sim |
String |
Escopo de aplicação da política personalizada.
Defina o modo de exibição de uma política personalizada para AX ou XA.
NOTA:
|
description |
Sim |
String |
Descrição da política personalizada. |
description_cn |
Não |
String |
Descrição da política personalizada em chinês. |
Sim |
Object |
Conteúdo da política personalizada. |
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:
|
Sim |
Array of objects |
Declaração da política. |
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:
|
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:
|
Condition |
Não |
Map<String,Map<String,Array<String>>> |
Condições para que a permissão entre em vigor. Para obter detalhes, 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 cadeia (public) devem ser iguais (StringEquals). "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } |
Resource |
Não |
Array of strings |
Recursos em nuvem.
NOTA:
|
Parâmetros de resposta
Parâmetro |
Tipo |
Descrição |
---|---|---|
Object |
Informações de políticas personalizadas. |
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. |
Object |
Link de recurso da política personalizada. |
|
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:
|
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
Version |
String |
Versão da política.
NOTA:
|
Array of objects |
Declaração da política. Uma política pode conter um máximo de oito declarações. |
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:
|
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:
|
Condition |
Não |
Map<String,Map<String,Array<String>>> |
Condições para que a permissão entre em vigor. Para obter detalhes, 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 cadeia (public) devem ser iguais (StringEquals). "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } |
Resource |
Não |
Array of strings |
Recursos em nuvem.
NOTA:
|
Exemplo de solicitação
Solicitação para criar uma política personalizada chamada IAMCloudServicePolicy que permita que apenas projetos cujos nomes comecem com ap-southeast-1 obtenham informações de ACL sobre todos os buckets.
POST https://iam.myhuaweicloud.com/v3.0/OS-ROLE/roles
{ "role": { "display_name": "IAMCloudServicePolicy", "type": "AX", "description": "IAMDescription", "description_cn": "Description in Chinese", "policy": { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:bucket:GetBucketAcl" ], "Condition": { "StringStartWith": { "g:ProjectName": [ "ap-southeast-1" ] } }, "Resource": [ "obs:*:*:bucket:*" ] } ] } } }
Exemplo de resposta
Código de status: 201
A política personalizada foi criada com sucesso.
{ "role": { "catalog": "CUSTOMED", "display_name": "IAMCloudServicePolicy", "description": "IAMDescription", "links": { "self": "https://iam.myhuaweicloud.com/v3/roles/93879fd90f1046f69e6e0b31c94d2615" }, "policy": { "Version": "1.1", "Statement": [ { "Action": [ "obs:bucket:GetBucketAcl" ], "Resource": [ "obs:*:*:bucket:*" ], "Effect": "Allow", "Condition": { "StringStartWith": { "g:ProjectName": [ "ap-southeast-1" ] } } } ] }, "description_cn": "Description in Chinese", "domain_id": "d78cbac186b744899480f25bd...", "type": "AX", "id": "93879fd90f1046f69e6e0b31c9...", "name": "custom_d78cbac186b744899480f25bd022f468_1" } }
Códigos de status
Código de status |
Descrição |
---|---|
201 |
A política personalizada foi 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