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 em nuvem.
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.
URI
POST /v3.0/OS-ROLE/roles
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 |
Consulte Ações. |
Parâmetro |
Obrigatoriedade |
Tipo |
Descrição |
---|---|---|---|
Sim |
Object |
Informações de políticas personalizadas. |
Parâmetro |
Obrigatoriedade |
Tipo |
Descrição |
---|---|---|---|
display_name |
Sim |
String |
Nome de exibição da política personalizada. |
type |
Sim |
String |
Âmbito 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 |
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:
|
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 cadeia (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 |
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. |
created_time |
String |
Hora em que a política personalizada foi criada. |
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 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 cadeia (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:
|
Exemplo de solicitação
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 êxito.
{ "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 êxito. |
400 |
Parâmetros inválidos. |
401 |
Autenticação falhou. |
403 |
Acesso negado. |
500 |
Erro de servidor interno. |
Códigos de erro
Nenhum