8.2. GPG イメージ署名の検証
次の手順を使用して、コンテナーイメージが GPG キーで正しく署名されていることを確認できます。
前提条件
-
container-tools
メタパッケージがインストールされている。 署名読み取り用の Web サーバーがセットアップされ、その上でファイルを公開できます。
システム全体のレジストリー設定は、
/etc/containers/registries.d/default.yaml
ファイルで確認できます。lookaside
オプションは、署名読み取り用の Web サーバーを参照します。署名を検証するには、lookaside
オプションを設定する必要があります。# cat /etc/containers/registries.d/default.yaml docker: <registry>: lookaside: https://registry-lookaside.example.com lookaside-staging: file:///var/lib/containers/sigstore ...
手順
<registry>
の信頼範囲を更新します。$ podman image trust set -f <path>/key.gpg <registry>/<namespace>
オプション:
/etc/containers/policy.json
ファイルを表示して、信頼ポリシーの設定を確認します。$ cat /etc/containers/policy.json { ... "transports": { "docker": { "<registry>/<namespace>": [ { "type": "signedBy", "keyType": "GPGKeys", "keyPath": "<path>/key.gpg" } ] } } }
注記通常、
/etc/containers.policy.json
ファイルは、同じキーが使用される組織のレベルで設定されます。たとえば、公開レジストリーの場合は<registry>/<namespace>
、単一企業専用レジストリーの場合は単に<registry>
です。イメージをプルします:
# podman pull <registry>/<namespace>/<image> ... Storing signatures e7d92cdc71feacf90708cb59182d0df1b911f8ae022d29e8e95d75ca6a99776a
podman pull
コマンドは、設定どおりに署名の存在を強制します。追加のオプションは必要ありません。
/etc/containers/registries.d/default.yaml
ファイルで、システム全体のレジストリー設定を編集できます。/etc/containers/registries.d
ディレクトリーにある任意の YAML ファイルのレジストリーまたはリポジトリー設定セクションを編集することもできます。すべての YAML ファイルが読み取られ、ファイル名は任意です。単一のスコープ (default-docker、レジストリー、または名前空間) は、/etc/containers/registries.d
ディレクトリー内の 1 つのファイルにのみ存在できます。
/etc/containers/registries.d/default.yaml
ファイルのシステム全体のレジストリー設定により、公開された署名にアクセスできます。sigstore
および sigstore-staging
オプションは非推奨になりました。これらのオプションは署名ストレージを参照しており、sigstore 署名形式には関連付けられていません。代わりに、新しい同等の lookaside
および lookaside-staging
オプションを使用してください。
関連情報
-
システム上の
podman-image-trust
およびpodman-pull
man ページ