Creación de una política personalizada para servicios en la nube
Función
Esta API se proporciona para que el administrador cree una política personalizada para los servicios en la nube.
Se puede invocar a la API utilizando tanto el punto de conexión global como los puntos de conexión específicos de la región. Para los puntos de conexión de IAM, consulte Regiones y puntos de conexión.
URI
POST /v3.0/OS-ROLE/roles
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Content-Type |
Sí |
String |
Rellene application/json;charset=utf8 en este campo. |
X-Auth-Token |
Sí |
String |
Token de acceso emitido a un usuario para acreditar su identidad y sus permisos. Para obtener más información sobre los permisos requeridos por el token, consulte Acciones. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Sí |
Object |
Información de política personalizada. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
display_name |
Sí |
String |
Nombre para mostrar de la política personalizada. |
type |
Sí |
String |
Ámbito de aplicación de la política personalizada.
Establezca el modo de visualización de una política personalizada en AX o XA.
NOTA:
|
description |
Sí |
String |
Descripción de la política personalizada. |
description_cn |
No |
String |
Descripción de la política personalizada en chino. |
Sí |
Object |
Contenido de la política personalizada. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Version |
Sí |
String |
Versión de política. Al crear una política personalizada, establezca este parámetro en 1.1.
NOTA:
|
Sí |
Array of objects |
Sentencia de la política. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Action |
Sí |
Array of strings |
Permisos de operación específicos en un recurso. Para obtener más información sobre las acciones admitidas, consulte "Permisos y acciones admitidas" en la Referencia de API de servicios en la nube.
NOTA:
|
Effect |
Sí |
String |
Efectos del permiso. El valor puede ser Allow o Deny. Si las sentencias Allow y Deny se encuentran en una política, la autenticación comienza desde las sentencias Deny. Opciones:
|
Condition |
No |
Map<String,Map<String,Array<String>>> |
Condiciones para que el permiso entre en vigor. Para obtener más información, consulte Creación de una política personalizada.
NOTA:
Tome la condición en la solicitud de ejemplo como un ejemplo, los valores de la clave de condición (obs:prefix) y cadena (public) deben ser iguales (StringEquals). "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } |
Resource |
No |
Array of strings |
Recurso en la nube.
NOTA:
|
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Información de política personalizada. |
Parámetro |
Tipo |
Descripción |
---|---|---|
catalog |
String |
Catálogo de servicios. |
display_name |
String |
Nombre para mostrar de la política personalizada. |
description |
String |
Descripción de la política personalizada. |
Object |
Enlace de recurso de la política personalizada. |
|
Object |
Contenido de la política personalizada. |
|
description_cn |
String |
Descripción de la política personalizada en chino. |
domain_id |
String |
ID de cuenta. |
type |
String |
Modo de visualización.
NOTA:
|
id |
String |
ID de política personalizado. |
name |
String |
Nombre de la política personalizada. |
updated_time |
String |
Hora en la que se actualizó por última vez la política personalizada.
NOTA:
El valor es una hora UTC en el formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por ejemplo, 2023-06-28T08:56:33.710000Z. Para obtener más información sobre los formatos de fecha y hora, consulte ISO-8601. |
created_time |
String |
Hora en la que se creó la política personalizada.
NOTA:
El valor es una hora UTC en el formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por ejemplo, 2023-06-28T08:56:33.710000Z. Para obtener más información sobre los formatos de fecha y hora, consulte ISO-8601. |
references |
String |
Número de referencias. |
Parámetro |
Tipo |
Descripción |
---|---|---|
Version |
String |
Versión de política.
NOTA:
|
Array of objects |
Sentencia de la política. Una política puede contener un máximo de ocho sentencias. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Action |
Sí |
Array of strings |
Permisos de operación específicos en un recurso. Para obtener más información sobre las acciones admitidas, consulte "Permisos y acciones admitidas" en la Referencia de API de servicios en la nube.
NOTA:
|
Effect |
Sí |
String |
Efectos del permiso. El valor puede ser Allow o Deny. Si las sentencias Allow y Deny se encuentran en una política, la autenticación comienza desde las sentencias Deny. Opciones:
|
Condition |
No |
Map<String,Map<String,Array<String>>> |
Condiciones para que el permiso entre en vigor. Para obtener más información, consulte Creación de una política personalizada.
NOTA:
Tome la condición en la solicitud de ejemplo como un ejemplo, los valores de la clave de condición (obs:prefix) y cadena (public) deben ser iguales (StringEquals). "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } |
Resource |
No |
Array of strings |
Recurso en la nube.
NOTA:
|
Solicitud de ejemplo
Solicitud para crear una política personalizada llamada IAMCloudServicePolicy que solo permita a los proyectos cuyos nombres comiencen por ap-southeast-1 obtener información de ACL sobre todos los 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:*" ] } ] } } }
Ejemplo de respuesta
Código de estado: 201
La política personalizada se crea correctamente.
{
"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 estado
Código de estado |
Descripción |
---|---|
201 |
La política personalizada se crea correctamente. |
400 |
Parámetros no válidos. |
401 |
Error de autenticación. |
403 |
Acceso denegado. |
500 |
Error de servidor interno. |
Códigos de error
Ninguno