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/ Distributed Message Service for Kafka/ Referencia de la API/ Políticas de permisos y acciones admitidas
Actualización más reciente 2022-11-07 GMT+08:00

Políticas de permisos y acciones admitidas

En este capítulo se describe la gestión de permisos de grano fino para sus instancias de DMS for Kafka. Si su cuenta de Huawei Cloud no requiere usuarios individuales de IAM, puede omitir este capítulo.

De forma predeterminada, los nuevos usuarios de IAM no tienen permisos asignados. Debe agregar un usuario a uno o más grupos y adjuntar políticas o roles de permisos a estos grupos. Los usuarios heredan permisos de los grupos a los que se agregan y pueden realizar operaciones específicas a servicios en la nube según los permisos.

Puede conceder permisos a los usuarios mediante roles y políticas. Los roles son un tipo de mecanismo de autorización de grano grueso que define permisos relacionados con las responsabilidades del usuario. Las políticas definen permisos basados en API para operaciones en recursos específicos bajo ciertas condiciones, lo que permite un control de acceso más detallado y seguro de los recursos en la nube.

La autorización basada en políticas es útil si desea permitir o denegar el acceso a una API.

Una cuenta tiene todos los permisos necesarios para llamar a todas las API, pero a los usuarios de IAM se les deben asignar los permisos para llamar a las API requeridas. Los permisos necesarios para llamar a una API están determinados por las acciones admitidas por la API. Solo los usuarios a los que se les han concedido permisos para permitir las acciones pueden llamar a la API con éxito. Por ejemplo, si un usuario de IAM desea consultar instancias de Kafka mediante una API, se le deben haber concedido permisos que permitan la acción dms:instance:create.

Acciones admitidas

DMS for Kafka proporciona políticas definidas por el sistema que se pueden usar directamente en IAM. También puede crear políticas personalizadas y utilizarlas para complementar las políticas definidas por el sistema, implementando un control de acceso más refinado. Las operaciones admitidas por las políticas son específicas de las API. Los siguientes son conceptos comunes relacionados con las políticas:

  • Permiso: una declaración en una política que permite o niega ciertas operaciones.
  • APIs: REST APIs que pueden ser llamadas por un usuario al que se le han concedido permisos específicos.
  • Acción: Operaciones específicas que están permitidas o denegadas.
  • Proyectos de IAM o de empresa: Se puede aplicar una política personalizada a proyectos de IAM o de empresa, o a ambos. Las políticas que contienen acciones tanto para IAM como para proyectos empresariales pueden utilizarse y surtir efecto tanto para IAM como para Enterprise Management. Las políticas que solo contienen acciones para proyectos de IAM se pueden usar y solo tienen efecto para IAM. Para obtener más información sobre las diferencias entre proyectos empresariales y de IAM, consulte¿Cuáles son las diferencias entre IAM y Enterprise Management?

DMS para Kafka admite las siguientes acciones que se pueden definir en políticas personalizadas. Los permisos deben obtenerse antes de llamar a las API de DMS. Para obtener más información sobre cómo obtener permisos, visite el centro de ayuda de Identity and Access Management.

Tabla 1 DMS para las acciones de Kafka

Permisos

API

Acciones

Proyectos IAM

Proyectos empresariales

Creación de una instancia

POST /v2/{project_id}/instances

dms:instance:create

√

√

Consulta de una instancia

GET /v2/{project_id}/instances/{instance_id}

dms:instance:get

√

√

Modificación de información de instancia

PUT /v2/{project_id}/instances/{instance_id}

dms:instance:modify

√

√

Eliminación de una instancia

DELETE /v2/{project_id}/instances/{instance_id}

dms:instance:delete

√

√

Listado de todas las instancias

GET /v2/{project_id}/instances

dms:instance:list

√

√

Reinicio o eliminación de instancias por lotes

POST /v2/{project_id}/instances/action

Reinicio: dms:instance:modifyStatus

Eliminación: dms:instance:delete

√

√

Restablecimiento de la contraseña de Kafka Manager

PUT /v2/{project_id}/instances/{instance_id}/kafka-manager-password

dms:instance:resetAuthInfo

√

√

Restablecimiento de la contraseña

POST /v2/{project_id}/instances/{instance_id}/password

dms:instance:resetAuthInfo

√

√

Reinicio de Kafka Manager

PUT /v2/{project_id}/instances/{instance_id}/restart-kafka-manager

dms:instance:modifyStatus

√

√

Configuración de la creación automática de temas

POST /v2/{project_id}/instances/{instance_id}/autotopic

dms:instance:modify

√

√

Modificación de la dirección IP privada para el acceso entre VPC

POST /v2/{project_id}/instances/{instance_id}/crossvpc/modify

dms:instance:modify

√

√

Creación de un conector de volcado para una instancia

POST /v2/{project_id}/instances/{instance_id}/connector

dms:instance:connector

√

√

Creación de una tarea de volcado

POST /v2/{project_id}/connectors/{connector_id}/sink-tasks

dms:instance:createConnectorSinkTask

√

√

Eliminación de una tarea de volcado

POST /v2/{project_id}/connectors/{connector_id}/sink-tasks/{task_id}

dms:instance:deleteConnectorSinkTask

√

√

Listado de tareas de volcado

GET /v2/{project_id}/connectors/{connector_id}/sink-tasks

dms:instance:listConnectorSinkTask

√

√

Consulta de una tarea de volcado

GET /v2/{project_id}/connectors/{connector_id}/sink-tasks/{task_id}

dms:instance:getConnectorSinkTask

√

√

Modificación de cuotas de tareas de volcado

PUT /v2/{project_id}/connectors/{connector_id}/sink-tasks

dms:instance:createConnectorSinkTask

√

√

Modificación de especificaciones de instancia

POST /v2/{project_id}/instances/{instance_id}/extend

dms:instance:scale

√

√

Eliminación por lotes de temas de una instancia de Kafka

POST /v2/{project_id}/instances/{instance_id}/topics/delete

dms:instance:modify

√

√

Creación de un tema para una instancia de Kafka

POST /v2/{project_id}/instances/{instance_id}/topics

dms:instance:modify

√

√

Listado de temas de una instancia de Kafka

GET /v2/{project_id}/instances/{instance_id}/topics

dms:instance:get

√

√

Modificación de temas de una instancia de Kafka

PUT /v2/{project_id}/instances/{instance_id}/topics

dms:instance:modify

√

√

Eliminación de usuarios en lotes

PUT /v2/{project_id}/instances/{instance_id}/users

dms:instance:modify

√

√

Creación de un usuario

POST /v2/{project_id}/instances/{instance_id}/users

dms:instance:modify

√

√

Restablecimiento de una contraseña de usuario

PUT /v2/{project_id}/instances/{instance_id}/users/{user_name}

dms:instance:get

√

√

Consulta de la lista de usuarios

GET /v2/{project_id}/instances/{instance_id}/users

dms:instance:get

√

√

Consulta de permisos de usuario

GET /v1/{project_id}/instances/{instance_id}/topics/{topic_name}/accesspolicy

dms:instance:get

√

√

Concesión de permisos de usuario

POST /v1/{project_id}/instances/{instance_id}/topics/accesspolicy

dms:instance:modify

√

√

Consulta de mensajes

GET /v2/{project_id}/instances/{instance_id}/messages

dms:instance:get

√

√

Eliminación de una tarea en segundo plano

DELETE /v2/{project_id}/instances/{instance_id}/tasks/{task_id}

dms:instance:deleteBackgroundTask

√

√

Listado de tareas en segundo plano

GET /v2/{project_id}/instances/{instance_id}/tasks

dms:instance:getBackgroundTask

√

√

Consulta de una tarea en segundo plano

GET /v2/{project_id}/instances/{instance_id}/tasks/{task_id}

dms:instance:getBackgroundTask

√

√

Adición o eliminación de etiquetas por lotes

POST /v2/{project_id}/kafka/{instance_id}/tags/action

dms:instance:modify

√

√

Listado de etiquetas de un proyecto

GET /v2/{project_id}/kafka/tags

dms:instance:get

√

√

Listado de etiquetas de una instancia

GET /v2/{project_id}/kafka/{instance_id}/tags

dms:instance:get

√

√

Habilitación o deshabilitación del acceso público

Esta operación solo se admite mediante el uso de la consola y no mediante una llamada a las API.

dms:instance:modify

√

√