4.4. コレクションを検証するための Ansible-Galaxy CLI の設定

Ansible-Galaxy CLI を設定して、コレクションを検証することができます。これにより、ダウンロードしたコレクションは組織によって承認され、Automation Hub にアップロードされた後に変更されません。

コレクションが Automation Hub によって署名されている場合に、サーバーは ASCII 版の GPG 割り当て解除署名を提供して、コレクションのコンテンツを検証する前に MANIFEST.json の信頼性を検証します。ansible-galaxyキーリングを設定する か、--keyring オプションでパスを指定して、署名検証をオプトインする必要があります。

前提条件

  • 署名付きコレクションが Automation Hub で署名を検証するために利用できる。
  • 認定コレクションが組織内の承認済みのロールによって署名できる。
  • 検証用の公開鍵がローカルシステムキーリングに追加されている。

手順

  1. ansible-galaxy で使用するデフォルト以外のキーリングに公開鍵をインポートするには、以下のコマンドを実行します。

    gpg --import --no-default-keyring --keyring ~/.ansible/pubring.kbx my-public-key.asc
    注記

    Automation Hub が提供する署名のほかに、署名ソースは要件ファイルとコマンドラインで指定することもできます。署名ソースは URI である必要があります。

  2. --signature オプションを使用して、CLI で提供されたコレクション名を追加の署名で検証します。

    ansible-galaxy collection install namespace.collection
    --signature https://examplehost.com/detached_signature.asc
    --signature file:///path/to/local/detached_signature.asc --keyring ~/.ansible/pubring.kbx

    このオプションを複数回使用して、複数の署名を指定できます。

  3. 以下の例のように、要件ファイルのコレクションに、コレクションの署名キーの後に追加の署名ソースが表示されていることを確認します。

    # requirements.yml
    collections:
      - name: ns.coll
        version: 1.0.0
        signatures:
          - https://examplehost.com/detached_signature.asc
          - file:///path/to/local/detached_signature.asc
    
    ansible-galaxy collection verify -r requirements.yml --keyring ~/.ansible/pubring.kbx

    Automation Hub からコレクションをインストールすると、サーバーが提供する署名はインストールされたコレクションと共に保存され、コレクションの信頼性を検証します。

  4. (オプション) Ansible Galaxy サーバーにクエリーを実行せずにコレクションの内部整合性を再度確認する必要がある場合は、--offline オプションを使用して、以前に使用したのと同じコマンドを実行します。