Ansible タスクの HTTP 通信

Ansible の HTTP 要求を、対応する HTTPS 接続に切り替えます。

説明

ansible.builtin.uri で http:// URL に要求を送ると、通信経路は暗号化されません。

想定される影響

通信を傍受できる相手が、要求や応答のトークン、Cookie、データを読み取ったり改ざんしたりするおそれがあります。

対処方法

接続先で HTTPS を使えるようにし、URL を https:// に変更してください。証明書の検証を維持し、HTTP しか使えない接続先は利用範囲を絞って機密データを送らないようにしてください。

例

この例は同じ状態確認要求を HTTPS に変更しています。サーバーが HTTPS に対応し、信頼できる証明書を提供する必要があります。

変更前

yaml
- name: Check site status
  hosts: localhost
  tasks:
    - name: Request site over HTTP
      ansible.builtin.uri:
        url: "http://www.example.com"
        method: GET
      register: site_response

変更後

yaml
- name: Check site status
  hosts: localhost
  tasks:
    - name: Request site over HTTPS
      ansible.builtin.uri:
        url: "https://www.example.com"
        method: GET
      register: site_response

参考資料