ApsaraMQ for Kafka propose trois types de points de terminaison : par défaut, Simple Authentication and Security Layer (SASL) et Secure Sockets Layer (SSL). Chaque point de terminaison est associé à un port spécifique et à un protocole de sécurité Kafka. Choisissez un point de terminaison en fonction de votre chemin réseau (cloud privé virtuel (VPC) ou Internet) et du niveau de chiffrement et d'authentification requis.
Mécanismes SASL
SASL est le framework standard utilisé par Kafka pour l'authentification des clients. ApsaraMQ for Kafka prend en charge deux mécanismes SASL :
| Mécanisme | Fonctionnement | Création dynamique d'utilisateurs |
|---|---|---|
| PLAIN | Vérifie une paire nom d'utilisateur-mot de passe en texte clair. Lorsqu'il est combiné avec SSL, les identifiants transitent par un canal chiffré. | Oui, sans redémarrage de l'instance |
| SCRAM-SHA-256 | Utilise un échange de type défi-réponse salé, de sorte que le mot de passe n'est jamais transmis sur le réseau. Offre une sécurité renforcée par rapport à PLAIN. | Oui, sans redémarrage de l'instance |
Chiffrement SSL
SSL chiffre les données en transit entre votre client Kafka et le broker, empêchant ainsi l'interception et l'écoute clandestine sur le réseau.
Comparaison des points de terminaison
Chaque type de point de terminaison correspond à un numéro de port fixe et à un protocole de sécurité Kafka. Les points de terminaison disponibles dépendent du type de votre instance.
Instances connectées à Internet et au VPC
Ces instances acceptent les connexions provenant à la fois d'Internet et d'un VPC.
| Réseau | Port | Point de terminaison | Protocole | Chiffrement | Authentification | Mécanismes SASL |
|---|---|---|---|---|---|---|
| Internet | 9093 | Point de terminaison SSL | SASL_SSL | Oui | Oui | PLAIN, SCRAM-SHA-256 |
| VPC | 9092 | Point de terminaison par défaut | PLAINTEXT | Non | Non | -- |
| VPC | 9094 | Point de terminaison SASL | SASL_PLAINTEXT | Non | Oui | PLAIN, SCRAM-SHA-256 |
| VPC | 9095 | Point de terminaison SSL | SASL_SSL | Oui | Oui | PLAIN, SCRAM-SHA-256 |
L'activation de la fonctionnalité de liste de contrôle d'accès (ACL) lors du déploiement active le point de terminaison SASL sur le port 9094. L'activation du chiffrement de la transmission VPC active le point de terminaison SSL sur le port 9095. Pour plus de détails, consultez Déployer une instance.
L'activation d'ACL sur une instance déjà déployée active simultanément le point de terminaison SASL (port 9094) et le point de terminaison SSL (port 9095). Pour plus de détails, consultez Activer ACL.
Instances connectées au VPC
Ces instances n'acceptent les connexions qu'à partir d'un VPC.
| Réseau | Port | Point de terminaison | Protocole | Chiffrement | Authentification | Mécanismes SASL |
|---|---|---|---|---|---|---|
| VPC | 9092 | Point de terminaison par défaut | PLAINTEXT | Non | Non | -- |
| VPC | 9094 | Point de terminaison SASL | SASL_PLAINTEXT | Non | Oui | PLAIN, SCRAM-SHA-256 |
| VPC | 9095 | Point de terminaison SSL | SASL_SSL | Oui | Oui | PLAIN, SCRAM-SHA-256 |
L'activation d'ACL lors du déploiement active le point de terminaison SASL sur le port 9094. L'activation du chiffrement de la transmission VPC active le point de terminaison SSL sur le port 9095. Pour plus de détails, consultez Déployer une instance.
L'activation d'ACL sur une instance déjà déployée active simultanément le point de terminaison SASL (port 9094) et le point de terminaison SSL (port 9095). Pour plus de détails, consultez Activer ACL.
Choisir un point de terminaison
| Scénario | Point de terminaison | Port | Protocole |
|---|---|---|---|
| Accès Internet | Point de terminaison SSL | 9093 | SASL_SSL |
| Accès VPC, sans exigences de sécurité | Point de terminaison par défaut | 9092 | PLAINTEXT |
| Accès VPC, authentification uniquement | Point de terminaison SASL | 9094 | SASL_PLAINTEXT |
| Accès VPC, chiffrement et authentification | Point de terminaison SSL | 9095 | SASL_SSL |
Accès Internet : tout le trafic Internet doit être à la fois chiffré et authentifié. Utilisez le point de terminaison SSL sur le port 9093 avec le protocole SASL_SSL.
Accès VPC sans exigences de sécurité : utilisez le point de terminaison par défaut sur le port 9092 avec le protocole PLAINTEXT. Aucun chiffrement ni authentification n'est appliqué.
Accès VPC avec authentification uniquement : utilisez le point de terminaison SASL sur le port 9094 avec le protocole SASL_PLAINTEXT. Les messages sont authentifiés mais non chiffrés. Sélectionnez le mécanisme PLAIN ou SCRAM-SHA-256 en fonction de vos exigences de sécurité.
Accès VPC avec chiffrement et authentification : utilisez le point de terminaison SSL sur le port 9095 avec le protocole SASL_SSL. Le chiffrement et l'authentification sont tous deux appliqués.
ACL et permissions des utilisateurs SASL
Chaque instance ApsaraMQ for Kafka dispose d'un utilisateur SASL par défaut doté d'autorisations de lecture et d'écriture sur tous les topics et groupes de consommateurs. Pour un contrôle d'accès granulaire, activez ACL, créez des utilisateurs SASL dédiés et accordez-leur des permissions spécifiques.
Une fois ACL activé, les permissions de l'utilisateur SASL par défaut deviennent invalides. Pour plus de détails, consultez Accorder des permissions aux utilisateurs SASL.
Exemples de configuration client
Chaque exemple définit les propriétés bootstrap.servers, security.protocol et SASL pour un type de point de terminaison spécifique. Remplacez <your-endpoint> par la valeur du point de terminaison indiquée dans la console ApsaraMQ for Kafka.
Point de terminaison par défaut (PLAINTEXT, port 9092)
bootstrap.servers=<your-endpoint>:9092
security.protocol=PLAINTEXT
Point de terminaison SASL (SASL_PLAINTEXT, port 9094)
Avec le mécanisme PLAIN :
bootstrap.servers=<your-endpoint>:9094
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="<your-username>" \
password="<your-password>";
Avec le mécanisme SCRAM-SHA-256 :
bootstrap.servers=<your-endpoint>:9094
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-256
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
username="<your-username>" \
password="<your-password>";
Point de terminaison SSL (SASL_SSL, port 9093 ou 9095)
Avec le mécanisme PLAIN :
bootstrap.servers=<your-endpoint>:9093
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="<your-username>" \
password="<your-password>";
ssl.truststore.location=<path-to-truststore>
ssl.truststore.password=<truststore-password>
Avec le mécanisme SCRAM-SHA-256 :
bootstrap.servers=<your-endpoint>:9093
security.protocol=SASL_SSL
sasl.mechanism=SCRAM-SHA-256
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
username="<your-username>" \
password="<your-password>";
ssl.truststore.location=<path-to-truststore>
ssl.truststore.password=<truststore-password>
Espaces réservés
| Espace réservé | Description | Exemple |
|---|---|---|
<your-endpoint> |
Adresse du serveur bootstrap issue de la console ApsaraMQ for Kafka | alikafka-post-xxx-0-vpc.alikafka.aliyuncs.com |
<your-username> |
Nom d'utilisateur SASL | alikafka_post-xxx |
<your-password> |
Mot de passe SASL | -- |
<path-to-truststore> |
Chemin vers le fichier truststore SSL | /home/user/kafka.client.truststore.jks |
<truststore-password> |
Mot de passe du fichier truststore | -- |