Cp-ansible: Excepción SASL SCRAM User cuando la contraseña está protegida

Creado en 6 abr. 2021  ·  4Comentarios  ·  Fuente: confluentinc/cp-ansible

Describa el problema

Usando su libro de jugadas con sasl_protocol para escapar. Si establece la contraseña de usuario protegida, tiene una excepción en esta tarea :
fatal: [XXXXXXX]: ¡FALLIDO! => {"msg": "Se produjo una excepción no controlada mientras se aplicaba la plantilla '{{kafka_broker_combined_properties | combine (kafka_broker_custom_properties)}}'. [....] solo puede concatenar str (no \" AnsibleVaultEncryptedUnicode \ ") a str"}

Creo que el problema surge de la función combine_properties porque en la configuración predeterminada la contraseña es una cadena. Entonces, si la contraseña está codificada en la bóveda, puede solucionarlo con el 'método de python toString ()':


    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

Reproducir
Todas las configuraciones de 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

Solución alterna

Existe una solución alternativa , debe convertir la cadena codificada en bóveda:

    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

Todos 4 comentarios

@LGouellec ¿Podría la siguiente práctica recomendada de Ansible ser una solución alternativa válida para usted: https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#keep -vaulted-variables-safe-visible, o es tan irrelevante para ¿la cuestión?

Hola @erikgb ,

Sí, es una solución válida.
¿No podríamos administrar AnsibleVaultEncryptedUnicode en la función combine_properties?

Sí, es una solución válida.

¡Qué lindo! 👍

¿No podríamos administrar AnsibleVaultEncryptedUnicode en la función combine_properties?

Sí, creo que esto podría solucionarse. Envíe un PR para solucionar este problema y podremos revisarlo. Este error se incluirá en nuestra lista de trabajos pendientes y se manejará de acuerdo con el mejor esfuerzo, como se describe aquí . O use Confluent Support si es cliente de Confluent.

Resuelto en PR # 640

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

OneCricketeer picture OneCricketeer  ·  6Comentarios

Fobhep picture Fobhep  ·  6Comentarios

luizm picture luizm  ·  18Comentarios

sandeeprapido picture sandeeprapido  ·  9Comentarios

Fobhep picture Fobhep  ·  12Comentarios