Message Queue for Apache Kafka Les instances Édition professionnelle et Édition sans serveur prennent en charge la fonctionnalité de liste de contrôle d'accès (ACL). Une fois l'ACL activée, vous pouvez accorder des autorisations granulaires aux utilisateurs SASL et acheminer tout le trafic du plan de données via un endpoint SASL.
Description
L'ACL offre un contrôle fin des autorisations au niveau des topics et des Consumer Groups. Une fois l'ACL activée, vous pouvez attribuer aux utilisateurs SASL des droits de production ou de consommation sur des topics spécifiques, ou l'utilisation de Consumer Groups dédiés. L'intégralité du trafic du plan de données transite par l'endpoint SASL.
Différence entre l'ACL et les listes d'autorisation réseau (groupes de sécurité)
Bien que l'ACL et les listes d'autorisation réseau (groupes de sécurité) constituent toutes deux des mécanismes de sécurité, elles opèrent à des couches distinctes :
|
Mécanisme de sécurité |
Couche |
Granularité du contrôle |
|
Liste d'autorisation réseau (groupe de sécurité) |
Réseau |
Définit les adresses IP autorisées à se connecter à l'instance, sans distinguer les utilisateurs ni les ressources. |
|
ACL |
Plan de données |
Régule les droits de lecture ou d'écriture des utilisateurs SASL sur des topics ou Consumer Groups précis, permettant un contrôle d'accès granulaire et la protection des données sensibles. |
(Recommandé) Combinez ces deux mécanismes pour mettre en place une sécurité en plusieurs couches.
Écosystème de sécurité ApsaraMQ for Kafka
ApsaraMQ for Kafka propose un cadre de sécurité complet :
|
Composant |
Objectif |
|
Gestion des permissions RAM |
Contrôle l'accès à la console et aux API pour les comptes Alibaba Cloud et les utilisateurs RAM. |
|
ACL + authentification SASL |
Fournit un contrôle d'accès au niveau des ressources (ACL) et une authentification des identités (SASL) au sein du plan de données. |
|
Chiffrement SSL/TLS en transit |
Chiffre les données en transit afin d'éviter toute interception. |
|
Cloud Monitor |
Offre des capacités de surveillance et d'audit. |
L'ACL est le composant clé pour un contrôle d'accès granulaire aux données et la protection des informations sensibles, notamment en restreignant les entités habilitées à produire ou consommer depuis des topics ou Consumer Groups spécifiques.
Prérequis
L'instance doit être de type Édition professionnelle ou Édition sans serveur.
Le statut de l'instance est Running.
La version majeure de l'instance doit être 2.2.0 ou ultérieure. Pour les instructions de mise à jour, consultez Mettre à niveau les versions.
La version mineure de l'instance doit être la plus récente. Pour les instructions de mise à jour, consultez Mettre à niveau les versions des instances.
Procédure
Connectez-vous à la console ApsaraMQ for Kafka.
Sur la page Overview, sélectionnez une région dans la section Resource Distribution.
Sur la page Instances, cliquez sur le nom de l'instance cible.
Sur la page Instance Details, cliquez sur Enable ACL dans le coin supérieur droit de la section Overview.
-
Dans la boîte de dialogue ACL Risk Notice, cliquez sur OK, puis actualisez manuellement la page.
Après l'actualisation manuelle de la page, le Status de l'instance passe à Upgrading dans la section Basic Information de la page Instance Details. Le processus est terminé lorsque le Status revient à Running.
RemarqueL'activation de l'ACL nécessite une mise à niveau de l'instance qui dure environ 30 minutes (davantage pour les clusters de grande taille). Une fois la mise à niveau effectuée, vous pouvez créer des utilisateurs SASL et leur octroyer des autorisations d'accès à l'instance via un endpoint SASL. Pour plus d'informations, consultez Créer un utilisateur SASL.
Vous pouvez également activer la fonctionnalité ACL lors de la création d'une instance.
FAQ
**Q : Comment résoudre les erreurs GroupAuthorizationException lors de la connexion des consommateurs ?**
Cette erreur survient généralement parce que le Consumer Group n'a pas reçu l'autorisation de lecture dans la configuration ACL.
Cause : Lorsque l'ACL est activée, les connexions des consommateurs qui lisent depuis un Consumer Group exigent une autorisation de lecture explicite sur la ressource Group. Sans cette autorisation, le broker rejette la connexion et renvoie GroupAuthorizationException.
Solution :
Vérifiez que l'ACL est activée pour votre instance.
Sur la page des détails de l'instance, cliquez sur l'onglet Manage SASL User Permissions.
Cliquez sur Grant Permission.
-
Dans le panneau Grant Permission, configurez les paramètres suivants :
Définissez Resource Type sur Group.
Définissez Operation Type sur Read.
Spécifiez le nom du Consumer Group, ou saisissez un préfixe et sélectionnez Prefix Match comme mode de correspondance.
Sélectionnez le nom d'utilisateur SASL utilisé par l'application consommatrice.
Soumettez la règle ACL. Le consommateur peut alors se connecter avec succès.
Les instances Édition standard ne prennent pas en charge l'ACL. Si votre instance est de type Édition standard, accordez à l'utilisateur RAM l'autorisation AliyunKafkaFullAccess comme méthode alternative de contrôle d'accès.