Configurer SASL/SCRAM

Le service de diffusion en continu pour OCI avec Apache Kafka prend en charge SCRAM-SHA-512.

L'authentification SASL/SCRAM garantit la sécurité en utilisant les données d'identification de nom d'utilisateur et de mot de passe. SCRAM utilise des mots de passe salés et des algorithmes de hachage cryptographique pour protéger les informations d'identification des utilisateurs. Les données d'identification ne sont pas stockées ou transmises en texte brut.

Créez les politiques IAM requises, puis effectuez les tâches suivantes pour configurer l'authentification SASL/SCRAM pour une grappe Kafka.

  1. Créer des données d'identification de connexion dans le service de chambre forte OCI
  2. Mettre à jour la grappe Kafka avec les données d'identification créées
  3. Configurer les clients Kafka pour qu'ils utilisent les données d'identification sécurisées

Politiques GIA requises

Ajoutez les énoncés de politique suivants avant de configurer l'authentification SASL/SCRAM pour une grappe Kafka.

allow service rawfka to {SECRET_UPDATE} in compartment <compartment>
allow service rawfka to use secrets in compartment <compartment> where request.operation = 'UpdateSecret'

Création de données d'identification dans le service de chambre forte

Utilisez le service de chambre forte OCI pour créer des données d'identification d'utilisateur sécurisées.

  1. Créez une chambre forte, si elle n'existe pas encore.
  2. Créez une clé de chiffrement principale dans la chambre forte à utiliser pour chiffrer la clé secrète.
  3. Créez une clé secrète dans la chambre forte. Pour la grappe Kafka, la clé secrète doit être créée avec la méthode Génération manuelle des clés secrètes. Chaque fois que vous effectuez une rotation manuelle de la clé secrète, vous devez également mettre à jour SASL SCRAM pour la grappe. Sinon, la grappe Kafka continue d'utiliser l'ancienne clé secrète, car elle ne peut pas détecter ou synchroniser automatiquement les versions de clé secrète mises à jour, ce qui entraîne des échecs d'authentification.

Mise à jour de SASL/SCRAM pour la grappe Kafka

Mettez à jour la grappe Kafka avec les données d'identification sécurisées créées ou mises à jour.

    1. Dans la page de liste grappes Kafka, sélectionnez la grappe avec laquelle vous voulez travailler.
    2. Dans la page de détails, sélectionnez le menu Actions, puis Mettre à jour SASL SCRAM.
    3. Dans le panneau Mettre à jour SASL SCRAM, sélectionnez la chambre forte avec les données d'identification sécurisées.
    4. Sélectionnez la clé secrète dans la chambre forte.
    5. Sélectionnez Mettre à jour.
  • Utilisez la commande cluster enable-superuser et les paramètres requis pour ajouter des propriétés SASL/SCRAM dans une configuration de grappe :

    oci kafka cluster enable-superuser --compartment-id <compartment-ocid> --kafka-cluster-id <cluster-ocid> --secret-id <secret-ocid>
                                

    Options requises

    <compartiment-ocide>
    OCID du compartiment où la clé secrète de la chambre forte est créée.
    <cluster-ocid>
    OCID de la grappe Kafka où les données d'identification SASL/SCRAM doivent être mises à jour.
    <secret-id>
    OCID de la clé secrète de la chambre forte où les nouvelles données d'identification doivent être mises à jour.

    Utilisez la commande cluster disable-superuser et les paramètres requis pour supprimer les propriétés SASL/SCRAM dans une configuration de grappe :

    oci kafka cluster disable-superuser  --kafka-cluster-id <cluster-ocid>
                                

    Pour la liste complète des paramètres et des valeurs pour les commandes de l'interface de ligne de commande, voir Informations de référence sur les commandes de l'interface de ligne de commande.

  • Exécutez l'opération enableSuperuser pour ajouter ou mettre à jour les données d'identification SASL/SCRAM pour la grappe Kafka.

Configuration des clients Kafka

Pour vous connecter à une grappe Kafka à l'aide de SASL/SCRAM, vous devez mettre à jour le fichier de propriétés du client Kafka.

Créez un fichier client.properties avec les informations suivantes :
security.protocol=SASL_SSL
sasl.mechanism=SCRAM-SHA-512
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=<your-truststore-password>
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="<your-username>" password="<your-password>";