Ansible http get запрос не работает, но ручной curl get get работает - PullRequest
0 голосов
/ 27 марта 2019

У меня есть следующая задача в моей сборной пьесе:

- name: Test on localhost
  hosts: localhost
  gather_facts: false
  tasks:
    - name: Get vault vaules
      uri:
        url: "{{vault_address_personal}}/v1/{{vault_path_personal}}/pg"
        method: GET
        validate_certs: no
        headers:
          X-Vault-Token: "36f8a4d9-64fd-a2ec-b45a-fd041f7e28df"
      register: pg_value

Эта задача не выполняется с:

TASK [Get vault vaules] *******************************************************************************************************************************
fatal: [localhost]: FAILED! => {"cache_control": "no-store", "changed": false, "connection": "close", "content": "{\"errors\":[\"permission denied\"]}\n", "content_length": "33", "content_type": "application/json", "date": "Wed, 27 Mar 2019 15:44:29 GMT", "failed": true, "json": {"errors": ["permission denied"]}, "msg": "Status code was not [200]: HTTP Error 403: Forbidden", "redirected": false, "status": 403, "url": "https://vserv-us.sos.ibm.com:8200/v1/generic/user/xyz/pg"}

Однако, когда я скручиваюсь, я получаю правильные значения:

curl --header "X-Vault-Token: 36f8a4d9-64fd-a2ec-b45a-fd041f7e28df" https://vserv-us.sos.ibm.com:8200/v1/generic/user/xyz/pg --insecure
{"request_id":"662fb6f5-5271-0551-de6b-cdf7d873f410","lease_id":"","renewable":false,"lease_duration":2764800,"data":{"password":"p0wn-me"},"wrap_info":null,"warnings":null,"auth":null}

Выглядит как ANSIBLE, не учитывая заголовок.Здесь что-то отсутствует?

Я также пытался:

"X-Vault-Token": "36f8a4d9-64fd-a2ec-b45a-fd041f7e28df"

Я столкнулся с некоторыми проблемами, в которых говорится, что заголовки могут быть заглавными автоматически.так же попробовал

"X-VAULT-TOKEN": "36f8a4d9-64fd-a2ec-b45a-fd041f7e28df"

хорошо работает с curl.Также попробовал почтальон и заметил, что в почтальоне автоматически добавлен заголовок для авторизации со значением Basic Og== Поэтому попытался добавить этот дополнительный заголовок.Но ничего не помогло.

Также пробовал hashi_vault, но получил ту же ошибку:

- name: Return all secrets from a path
  hosts: localhost
  gather_facts: false
  tasks:
    - name: Return all secrets from a path
      debug:
        msg: "{{ lookup('hashi_vault', 'secret=generic/user/xyz/pg token=36f8a4d9-64fd-a2ec-b45a-fd041f7e28df url=https://vserv-us.sos.ibm.com:8200 validate_certs=False')}}"

1 Ответ

0 голосов
/ 27 марта 2019

После долгих отладок я понял, что возникла проблема с формированием URL. Глядя на ошибку, очень заманчиво предположить, что с заголовками что-то не так. Хотелось бы, чтобы произошла еще одна полезная ошибка, например 404 или 400, когда сам URL неверный.

...