Cp-ansible: Utilisateur d'exception SASL SCRAM lorsque le mot de passe est sauvegardé

Créé le 6 avr. 2021  ·  4Commentaires  ·  Source: confluentinc/cp-ansible

Décrivez le problème

Utilisation de votre playbook avec sasl_protocol pour brouiller. Si vous définissez un mot de passe utilisateur en coffre-fort, vous avez une exception dans cette tâche :
fatal : [XXXXXXX] : ÉCHEC ! => {"msg": "Une exception non gérée s'est produite lors de la création du modèle '{{ kafka_broker_combined_properties | combine(kafka_broker_custom_properties) }}'. [....] ne peut concaténer que str (pas \"AnsibleVaultEncryptedUnicode\") à str"}

Je pense que le problème est soulevé par la fonction combine_properties car dans la configuration par défaut, le mot de passe est une chaîne. Donc, si le mot de passe est un encodage de coffre-fort, myabe le corrige avec 'toString() python method' :


    def combine_properties(self, properties_dict):
        # Loops over master properties dictionary and combines sub elements if enabled
        final_dict = {}
        for prop in properties_dict:
            if properties_dict[prop].get('enabled'):
                final_dict.update(properties_dict[prop].get('properties'))
        return final_dict

Reproduire
Configuration Toutes Vars :

    sasl_protocol: scram

    sasl_scram_users:
      admin:
        principal: "admin"
        password: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          32313537636131333038303532613231653233343565303831396530393061643031303432303632
          6537306234393563343861643834336430353930643062370a663563376131653664653430363963
          62303339313937646635663032326266383439623736623462373632313934643261303634663732
          3331643634623337610a616365613231346630656564616265656231633238313932333437363461
          65626165666531656463353562323165376135653631316435653337366164653063
      client:
        principal: "client"
        password: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          35653666663833386164616630353966363231633234633561663464653931393835653830303630
          3263373337396137653637383332656539373766346438370a353164383737306535646234363065
          66643863353439663064346564333062373265653036646137306531353336323931653931363032
          3231373831366531640a323161386538333966646635353462623263346234306631383635646237
          34613764663736346362616562623061333438613461616162386532373266393166

solution de contournement

Une solution de contournement existe , vous devez convertir la chaîne encodée du coffre-fort :

    sasl_protocol: scram

    sasl_admin_password: !vault |
      $ANSIBLE_VAULT;1.1;AES256
      32313537636131333038303532613231653233343565303831396530393061643031303432303632
      6537306234393563343861643834336430353930643062370a663563376131653664653430363963
      62303339313937646635663032326266383439623736623462373632313934643261303634663732
      3331643634623337610a616365613231346630656564616265656231633238313932333437363461
      65626165666531656463353562323165376135653631316435653337366164653063

    sasl_client_password: !vault |
      $ANSIBLE_VAULT;1.1;AES256
      35653666663833386164616630353966363231633234633561663464653931393835653830303630
      3263373337396137653637383332656539373766346438370a353164383737306535646234363065
      66643863353439663064346564333062373265653036646137306531353336323931653931363032
      3231373831366531640a323161386538333966646635353462623263346234306631383635646237
      34613764663736346362616562623061333438613461616162386532373266393166

    sasl_scram_users:
      admin:
        principal: "admin"
        password: "{{sasl_admin_password|string}}"
      client:
        principal: "client"
        password: "{{sasl_client_password|string}}"
bug

Tous les 4 commentaires

@LGouellec La meilleure pratique Ansible suivante pourrait-elle être une solution de contournement valable pour vous : https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#keep -vaulted-variables-safely-visible, ou est-ce sans importance pour le problème?

Salut @erikgb ,

Oui, c'est une solution de contournement valide.
Ne pourrait-on pas gérer AnsibleVaultEncryptedUnicode dans la fonction combine_properties ?

Oui, c'est une solution de contournement valide.

C'est bien! ??

Ne pourrait-on pas gérer AnsibleVaultEncryptedUnicode dans la fonction combine_properties ?

Oui, je pense que cela pourrait être corrigé. Veuillez soumettre un PR pour résoudre ce problème, et nous pourrons l'examiner. Ce bogue sera mis dans notre backlog et traité au mieux comme décrit ici . Ou utilisez Confluent Support si vous êtes un client Confluent.

Résolu dans PR #640

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Fobhep picture Fobhep  ·  7Commentaires

sandeeprapido picture sandeeprapido  ·  9Commentaires

Fobhep picture Fobhep  ·  6Commentaires

OneCricketeer picture OneCricketeer  ·  7Commentaires

luizm picture luizm  ·  18Commentaires