Red Hat Training

A Red Hat training course is available for RHEL 8

8.4. 公開鍵を使用した sigstore イメージ署名の検証

次の手順を使用して、コンテナーイメージが正しく署名されていることを確認できます。

前提条件

  • container-tools モジュールがインストールされている。

手順

  1. 次の内容を /etc/containers/registries.d/default.yaml ファイルに追加します。

    docker:
        <registry>:
            use-sigstore-attachments: true

    use-sigstore-attachments オプションを設定することで、Podman と Skopeo はコンテナーの sigstore 署名をイメージと共に読み書きし、署名されたイメージと同じリポジトリーに保存できます。

    注記

    /etc/containers/registries.d/default.yaml ファイルで、システム全体のレジストリー設定を編集できます。/etc/containers/registries.d ディレクトリーにある任意の YAML ファイルのレジストリーまたはリポジトリー設定セクションを編集することもできます。すべての YAML ファイルが読み取られ、ファイル名は任意です。単一のスコープ (default-docker、レジストリー、または名前空間) は、/etc/containers/registries.d ディレクトリー内の 1 つのファイルにのみ存在できます。

  2. /etc/containers/policy.json ファイルを編集して、sigstore 署名の存在を強制します。

    ...
    "transports": {
                "docker": {
                    "<registry>/<namespace>": [
                        {
                            "type": "sigstoreSigned",
                            "keyPath": "/some/path/to/cosign.pub"
                        }
                    ]
                }
            }
    ...

    /etc/containers/policy.json 設定ファイルを変更することにより、信頼ポリシーの設定を変更します。Podman、Buildah、および Skopeo は、コンテナーイメージの署名の存在を強制します。

  3. イメージをプルします:

    $ podman pull <registry>/<namespace>/<image>

podman pull コマンドは、設定どおりに署名の存在を強制します。追加のオプションは必要ありません。