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