Cp-ansible: Ausnahme SASL SCRAM-Benutzer, wenn das Passwort gewölbt ist

Erstellt am 6. Apr. 2021  ·  4Kommentare  ·  Quelle: confluentinc/cp-ansible

Beschreibe das Problem

Verwenden Ihres Playbooks mit sasl_protocol zum Scram. Wenn Sie ein Benutzerkennwort als Vault festlegen, gibt es bei dieser Aufgabe eine Ausnahme:
tödlich: [XXXXXXX]: FEHLGESCHLAGEN! => {"msg": "Eine unbehandelte Ausnahme ist beim Erstellen von '{{ kafka_broker_combined_properties | kombinieren(kafka_broker_custom_properties) }}' aufgetreten. [....] kann nur str (nicht \"AnsibleVaultEncryptedUnicode\") mit str verketten"}

Ich denke, dass das Problem von der Funktion "combine_properties" ausgelöst wird, da das Kennwort in der Standardkonfiguration eine Zeichenfolge ist. Wenn das Passwort also Tresor-Encode-Myabe ist, beheben Sie es mit 'toString() Python-Methode':


    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

Fortpflanzen
Alle Vars-Konfiguration:

    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

Problemumgehung

Es gibt eine

    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

Alle 4 Kommentare

@LGouellec Könnte die folgende Best Practice von Ansible eine gültige Problemumgehung für Sie sein: https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#keep -vaulted-variables-safely-visible, oder ist das irrelevant für Das Thema?

Hallo @erikgb ,

Ja, es ist ein gültiger Workaround.
Könnten wir AnsibleVaultEncryptedUnicode nicht in der Funktion combine_properties verwalten?

Ja, es ist ein gültiger Workaround.

Das ist schön! 👍

Könnten wir AnsibleVaultEncryptedUnicode nicht in der Funktion combine_properties verwalten?

Ja, ich denke, das könnte behoben werden. Bitte reichen Sie eine PR ein, um dies zu beheben, und wir können es überprüfen. Dieser Fehler wird in unser Backlog aufgenommen und nach bestem Bemühen wie hier beschrieben behandelt . Oder nutzen Sie Confluent Support, wenn Sie Confluent-Kunde sind.

Gelöst in PR #640

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen