6.6. 署名を検証するためのクライアントの設定

前提条件

  • 署名を検証するには、クライアントに sudo 権限が設定されている必要があります。

手順

  1. ターミナルタイプの場合:

    > sudo <name of editor> __/etc/containers/policy.json__

ファイルは次のようになります。

    {
        "default": [{"type": "reject"}],
        "transports": {
            "docker": {
              "quay.io": [{"type": "insecureAcceptAnything}],
              "docker.io": [{"type": "insecureAcceptAnything}],
              "_<server-address>_": [
                {
                    "type": "signedBy",
                    "keyType": "GPGKeys",
                    "keyPath": "/tmp/containersig.txt"
    }

これは、quay.io または docker.io のいずれからも検証が行われないことを示しています。これは、タイプが insecureAcceptAnything であり、デフォルトタイプの reject をオーバーライドするためです。ただし、パラメーター typesignedBy に設定されているため、<server-address> からの検証が行われます。

注記

現在サポートされている唯一の keyType は GPG キーです。

  1. <server-address> エントリーの下で、キーファイルの名前を反映するように、keyPath <1> を変更します。

        {
            "default": [{"type": "reject"}],
            "transports": {
                "docker": {
                  "quay.io": [{"type": "insecureAcceptAnything}],
                  "docker.io": [{"type": "insecureAcceptAnything}],
                  "_<server-address>_1": [
                    {
                        "type": "signedBy",
                        "keyType": "GPGKeys",
                        "keyPath": "/tmp/<key file name", 1
                        "signedIdentity": {
                          "type": "remapIdentity",
                          "prefix": "_<server-address>_",
                          "signedPrefix": "0.0.0.0:8002"
        }
  2. ファイルを保存してから閉じます。
  3. Podman または任意のクライアントを使用して、ファイルをプルします。
> podman pull _<server-address>_/<container-name>:<tag name>
--tls-verify=false

これにより、署名がエラーなしで検証されます。