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.
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 |
√ |
√ |