Tengo un sencillo manual de estrategias de Ansible para
- Obtenga una configuración de conexión de base de datos desde una RestAPI,
- Extraiga el objeto de configuración de la carga útil,
- Usar el JSON de configuración (como cuerpo de la solicitud) para crear una solicitud PUT a otra RestAPI.
En la tercera etapa descubrí que la combinación de nombre de usuario y contraseña de la base de datos es incorrecta. Más tarde, mientras imprimía los resultados, descubrí que la contraseña se reemplazó con una cadena llamada "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER".
Después de buscar en Google, descubrí que se trata de una característica de seguridad de Ansible. Desafortunadamente, no he encontrado ninguna configuración o algo así para desactivar esta función.¿Es posible desactivar esta función? ¿O alguna otra solución?
---
- name: my-playbook
gather_facts: no
hosts: all
vars_files:
- secret
tasks:
- name: Fetch the config payload from the API
uri:
url: "{{get_config}}"
method: GET
user: "{{username}}"
password: "{{password}}"
validate_certs: no
return_content: yes
status_code: 200
body_format: json
register: config
- name: Extract the config object
set_fact:
config_raw: "{{ config.json | json_query(jmesquery) }}"
vars:
jmesquery: '{{name}}.config'
- name: print the config
debug:
msg: "{{config_raw}}"
- name: Creating object using config
uri:
url: "{{create_ocject}}"
method: PUT
user: "{{username}}"
password: "{{password}}"
validate_certs: no
body: "{{config_raw}}"
body_format: json
return_content: yes
status_code: 200
headers:
Content-Type: "application/json"
register: test_res
- name: output value
debug:
msg: "{{test_res.json}}"
Respuesta1
Puedes no_log: False
configurar ansible.cfg
.
Como
Sin embargo, el atributo no_log no afecta el resultado de la depuración, así que tenga cuidado de no depurar guías en un entorno de producción.documento ansible
los secretos deben mostrarse en la salida detallada. Simplemente agregue -vvv
al ansible-playbook
comando.