Las instancias de las ediciones Professional y Serverless de Message Queue for Apache Kafka admiten la función de lista de control de acceso (ACL). Al habilitar la ACL, puede otorgar permisos detallados a los usuarios SASL y dirigir todo el acceso al plano de datos a través de un endpoint SASL.
Descripción general
La ACL proporciona un control de permisos detallado para temas y Consumer Groups. Una vez habilitada la ACL, puede conceder a los usuarios SASL permisos para producir o consumir en temas específicos, o para utilizar Consumer Groups determinados. Todo el acceso al plano de datos se realiza mediante el endpoint SASL.
Diferencia entre la ACL y las listas de permitidos de capa de red (security groups)
Tanto la ACL como las listas de permitidos de capa de red (security groups) son mecanismos de seguridad, pero operan en capas distintas:
|
Mecanismo de seguridad |
Capa |
Granularidad del control |
|
Lista de permitidos de capa de red (security group) |
Red |
Controla qué direcciones IP pueden conectarse a la instancia. No distingue entre usuarios ni recursos. |
|
ACL |
Plano de datos |
Determina qué usuarios SASL tienen acceso de lectura o escritura a temas o Consumer Groups específicos, lo que permite un control de acceso detallado y la protección de datos sensibles. |
(Recomendado) Utilice ambos mecanismos de forma conjunta para implementar una seguridad por capas.
Ecosistema de seguridad de ApsaraMQ for Kafka
ApsaraMQ for Kafka ofrece un framework de seguridad integral:
|
Componente |
Propósito |
|
Gestión de permisos de RAM |
Controla el acceso a la consola y a la API para las cuentas de Alibaba Cloud y los usuarios de RAM. |
|
ACL + autenticación SASL |
Proporciona control de acceso a nivel de recurso (ACL) y autenticación de identidad (SASL) en el plano de datos. |
|
Cifrado SSL/TLS en tránsito |
Cifra los datos durante la transmisión para evitar su interceptación. |
|
Cloud Monitor |
Ofrece capacidades de monitoreo y auditoría. |
La ACL es la clave para el control detallado del acceso a los datos y la protección de información sensible; por ejemplo, permite restringir quién puede producir o consumir en temas o Consumer Groups específicos.
Requisitos previos
La instancia debe ser de edición Professional o Serverless.
El estado de la instancia debe ser Running.
La versión principal de la instancia debe ser 2.2.0 o posterior. Para obtener instrucciones sobre la actualización, consulte Upgrade versions.
La versión secundaria de la instancia debe estar actualizada. Para obtener instrucciones sobre la actualización, consulte Upgrade instance versions.
Procedimiento
Inicie sesión en la consola de ApsaraMQ for Kafka.
En la página Overview, seleccione una región en la sección Resource Distribution.
En la página Instances, haga clic en el nombre de la instancia deseada.
En la página Instance Details, haga clic en Enable ACL en la esquina superior derecha de la sección Overview.
-
En el cuadro de diálogo ACL Risk Notice, haga clic en OK y, a continuación, actualice manualmente la página.
Tras actualizar la página manualmente, el Status de la instancia cambiará a Upgrading en la sección Basic Information de la página Instance Details. El proceso finaliza cuando el Status vuelve a Running.
NotaHabilitar la ACL requiere una actualización de la instancia que tarda aproximadamente 30 minutos (más tiempo en clústeres grandes). Después de la actualización, podrá crear usuarios SASL y otorgarles permisos para acceder a la instancia mediante un endpoint SASL. Para más información, consulte Create a SASL user.
También puede habilitar la función de ACL durante la creación de la instancia.
Preguntas frecuentes
**P: ¿Cómo resuelvo los errores GroupAuthorizationException al conectar consumidores?**
Este error suele ocurrir porque no se ha concedido permiso de lectura al Consumer Group en la configuración de la ACL.
Causa: Cuando la ACL está habilitada, las conexiones de consumidores que leen desde un Consumer Group requieren un permiso explícito de lectura sobre el recurso Group. Sin este permiso, el broker rechaza la conexión y devuelve GroupAuthorizationException.
Solución:
Compruebe que la ACL esté habilitada para su instancia.
En la página de detalles de la instancia, haga clic en la pestaña Manage SASL User Permissions.
Haga clic en Grant Permission.
-
En el panel Grant Permission, configure los siguientes parámetros:
Establezca Resource Type en Group.
Establezca Operation Type en Read.
Especifique el nombre del Consumer Group, o introduzca un prefijo y seleccione Prefix Match como modo de coincidencia.
Seleccione el nombre de usuario SASL que utiliza la aplicación consumidora.
Envíe la regla de ACL. Posteriormente, el consumidor podrá conectarse correctamente.
Las instancias de edición Standard no admiten ACL. Si su instancia es de edición Standard, otorgue al usuario de RAM el permiso AliyunKafkaFullAccess como método alternativo de control de acceso.