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

