12.3. OpenShift CLI を使用したイメージ署名の検証
oc adm verify-image-signature
コマンドを使用して、OpenShift Container レジストリーにインポートされたイメージの署名を検証できます。このコマンドは、イメージ署名に含まれるイメージ ID が信頼できるかどうかを検証します。 ここでは、パブリック GPG キーを使用して署名自体を検証し、提供される予想 ID と指定イメージの ID (プル仕様) のマッチングが行われます。
デフォルトで、このコマンドは通常 $GNUPGHOME/pubring.gpg にあるパブリック GPG キーリングをパス ~/.gnupg で使用します。デフォルトで、このコマンドは検証結果をイメージオブジェクトに保存し直すことはありません。これを実行するには、以下に示すように --save
フラグを指定する必要があります。
イメージの署名を検証するには、ユーザーに image-auditor
クラスターロールがなければなりません。クラスター管理者は、以下を使用してこれを追加できます。
oc adm policy add-cluster-role-to-user system:image-auditor <user_name>
$ oc adm policy add-cluster-role-to-user system:image-auditor <user_name>
検証済みのイメージで無効な GPG キーまたは無効な予想 ID と共に --save
フラグを使用すると、保存された検証ステータスおよびすべての署名が削除され、イメージは未検証の状態になります。
誤ってすべての署名を削除してしまうことを避けるために、最初は --save
フラグなしでコマンドを実行し、ログで潜在的な問題の有無を確認できます。
イメージ署名を検証するには、以下の形式を使用します。
oc adm verify-image-signature <image> --expected-identity=<pull_spec> [--save] [options]
$ oc adm verify-image-signature <image> --expected-identity=<pull_spec> [--save] [options]
<pull_spec>
はイメージストリームを記述することで確認でき、<image>
はイメージストリームタグを記述して確認することができます。以下のコマンド出力例を参照してください。
イメージ署名の検証例
oc adm verify-image-signature
コマンドが、x509: certificate signed by unknown authority
エラーを返す場合、レジストリーの認証局 (CA) をシステム上で信頼される CA の一覧に追加する必要がある場合があります。これには、以下の手順を実行します。
CA 証明書をクラスターからクライアントマシンに転送します。
たとえば、docker-registry.default.svc の CA を追加するには、/etc/docker/certs.d/docker-registry.default.svc\:5000/node-client-ca.crt にあるファイルを転送します。
CA 証明書を /etc/pki/ca-trust/source/anchors/ ディレクトリーにコピーします。以下に例を示します。
cp </path_to_file>/node-client-ca.crt \ /etc/pki/ca-trust/source/anchors/
# cp </path_to_file>/node-client-ca.crt \ /etc/pki/ca-trust/source/anchors/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow update-ca-trust
を実行して、信頼できる CA の一覧を更新します。update-ca-trust
# update-ca-trust
Copy to Clipboard Copied! Toggle word wrap Toggle overflow