Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Identity and Access Management/ Referencia de la API/ API/ Gestión de políticas personalizadas/ Creación de una política personalizada para delegaciones
Actualización más reciente 2024-08-01 GMT+08:00

Creación de una política personalizada para delegaciones

Función

Esta API se proporciona para que el administrador cree una política personalizada para las delegaciones.

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

Tabla 1 Parámetros en el encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

Content-Type

String

Rellene application/json;charset=utf8 en este campo.

X-Auth-Token

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.

Tabla 2 Parámetros en el cuerpo de la solicitud

Parámetro

Obligatorio

Tipo

Descripción

role

Object

Información de política personalizada.

Tabla 3 role

Parámetro

Obligatorio

Tipo

Descripción

display_name

String

Nombre para mostrar de la política personalizada. El valor contiene de 1 a 128 caracteres.

type

String

Modo de visualización.

NOTA:
  • AX: el proyecto de servicio global
  • XA: proyectos específicos de la región
  • Establezca el modo de visualización de una política personalizada en AX o XA.

description

String

Descripción de la política personalizada.

description_cn

No

String

Descripción de la política personalizada en chino.

policy

Object

Contenido de la política personalizada.

Tabla 4 role.policy

Parámetro

Obligatorio

Tipo

Descripción

Version

String

Versión de política. Al crear una política personalizada, establezca este parámetro en 1.1.

NOTA:
  • 1.0: Función definida por el sistema. Solo se proporciona un número limitado de roles de nivel de servicio para la autorización.
  • 1.1: Política. Una política define los permisos necesarios para realizar operaciones en un recurso de nube específico bajo ciertas condiciones.

Statement

Array of objects

Sentencia de la política.

Tabla 5 role.policy.Statement

Parámetro

Obligatorio

Tipo

Descripción

Action

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:
  • En el caso de una política personalizada para agencias, este parámetro debe establecerse en "Action": ["iam:agencies:assume"].

Establezca este parámetro en iam:agencies:assume.

Effect

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:

  • Allow
  • Deny

Resource

Object

Recursos a gestionar. Después de que una cuenta establezca varias relaciones de confianza entre ella misma y su cuenta, puede autorizar a los usuarios de IAM en diferentes grupos de usuarios a gestionar los recursos de la parte delegada. Cada usuario de IAM solo puede cambiar a las agencias a las que se les ha autorizado a acceder. Por ejemplo:

"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}
Tabla 6 role.policy.Statement.Resource

Parámetro

Obligatorio

Tipo

Descripción

uri

Array of strings

URI de un recurso delegado, que puede contener un máximo de 128 caracteres. Formato: /iam/agencies/delegation ID. Por ejemplo:

"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]

Parámetros de respuesta

Tabla 7 Parámetros en el cuerpo de respuesta

Parámetro

Tipo

Descripción

role

Object

Información de política personalizada.

Tabla 8 role

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.

links

Object

Enlace de recurso de la política personalizada.

policy

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:
  • AX: el proyecto de servicio global
  • XA: proyectos específicos de la región
  • Establezca el modo de visualización de una política personalizada en AX o XA.

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.

Tabla 10 role.policy

Parámetro

Tipo

Descripción

Version

String

Versión de política.

NOTA:
  • 1.0: Función definida por el sistema. Solo se proporciona un número limitado de roles de nivel de servicio para la autorización.
  • 1.1: Política. Una política define los permisos necesarios para realizar operaciones en un recurso de nube específico bajo ciertas condiciones.

Statement

Array of objects

Sentencia de la política.

Tabla 11 role.policy.Statement

Parámetro

Tipo

Descripción

Action

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:
  • En el caso de una política personalizada para delegaciones, este parámetro debe establecerse en "Action": ["iam:agencies:assume"].

Effect

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:

  • Allow
  • Deny

Resource

Object

Recursos a gestionar. Después de que una cuenta establezca varias relaciones de confianza entre ella misma y su cuenta, puede autorizar a los usuarios de IAM en diferentes grupos de usuarios a gestionar los recursos de la parte delegada. Cada usuario de IAM solo puede cambiar a las delegaciones a las que se les ha autorizado a acceder. Por ejemplo:

"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}
Tabla 12 role.policy.Statement.Resource

Parámetro

Tipo

Descripción

uri

Array of strings

URI de un recurso delegado, que puede contener un máximo de 128 caracteres. Formato: /iam/agencies/delegation ID. Por ejemplo:

"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]

Solicitud de ejemplo

Solicitud para crear una política personalizada con display_name establecida en IAMAgencyPolicy y uri establecida en /iam/agencies/07805acaba800fdd4fbdc00b8f888c7c. La política se aplica a los servicios globales.

POST https://iam.myhuaweicloud.com/v3.0/OS-ROLE/roles
{
    "role": {
        "display_name": "IAMAgencyPolicy",
        "type": "AX",
        "description": "IAMDescription",
        "description_cn": "Description in Chinese",
        "policy": {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "iam:agencies:assume"
                    ],
                    "Resource": {
                        "uri": [
                            "/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"
                        ]
                    }
                }
            ]
        }
    }
}

Ejemplo de respuesta

Código de estado: 201

La política personalizada para las delegaciones se crea correctamente.

{
    "role": {
        "catalog": "CUSTOMED",
        "display_name": "IAMAgencyPolicy",
        "description": "IAMDescription",
        "links": {
            "self": "https://iam.myhuaweicloud.com/v3/roles/f67224e84dc849ab954ce29fb4f47f8e"
        },
        "policy": {
            "Version": "1.1",
            "Statement": [
                {
                    "Action": [
                        "iam:agencies:assume"
                    ],
                    "Resource": {
                        "uri": [
                            "/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"
                        ]
                    },
                    "Effect": "Allow"
                }
            ]
        },
        "description_cn": "Description in Chinese",
        "domain_id": "d78cbac186b744899480f25bd02...",
        "type": "AX",
        "id": "f67224e84dc849ab954ce29fb4f47f8e",
        "name": "custom_d78cbac186b744899480f25bd022f468_0"
    }
}

Códigos de estado

Código de estado

Descripción

201

La política personalizada para las delegaciones 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