第8章 コンテナーイメージへの署名


Red Hat Enterprise Linux 上でコンテナーイメージに署名することで、イメージの真正性と完全性を確保できます。イメージに署名するには、sigstore 署名を使用してください。この署名方法は、OCI 準拠のコンテナーレジストリーであればどれでも互換性があります。Podman を使用して、リモートレジストリーにプッシュする前にイメージに署名し、署名されていないイメージが拒否されるようにコンシューマーを設定できます。

sigstore 署名を使用すると、署名がコンテナーレジストリーに保存されるため、別途ルックアサイドサーバーを用意する必要がなくなります。コンテナーイメージに署名すると、サプライチェーンへの攻撃を防ぐことができます。

8.1. 秘密鍵を使用して sigstore 署名でコンテナーイメージに署名する

Red Hat Enterprise Linux (RHEL) 上で秘密鍵を使用して sigstore 署名でコンテナーイメージに署名するには、ローカルで管理されている鍵ペアを使用して Podman ツールを使用できます。

前提条件

  • container-tools メタパッケージがインストールされている。

手順

  1. sigstore の公開鍵または秘密鍵のペアを生成します。

    $ skopeo generate-sigstore-key --output-prefix myKey.private
  2. 次の内容を /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、registry、または namespace) は、/etc/containers/ registries.d/ディレクトリー内の 1 つのファイルにのみ存在できます。

  3. カレントディレクトリーにある Containerfile を使用して、コンテナーイメージをビルドします。

    $ podman build -t <registry>/<namespace>/<image>
  4. イメージに署名し、レジストリーにプッシュします。

    $ podman push --sign-by-sigstore-private-key ./myKey.private <registry>/<namespace>/<image>

    podman push コマンドは、<registry>/<namespace>/<image> ローカルイメージを <registry>/<namespace>/<image> としてリモートレジストリーにプッシュします。--sign-by-sigstore-private-key オプションは、myKey.private 秘密鍵を使用して <registry>/<namespace>/<image> イメージに sigstore 署名を追加します。イメージと sigstore 署名がリモートレジストリーにアップロードされます。

    注記

    既存のイメージをコンテナーレジストリー間で移動するときに署名する必要がある場合は、skopeo copy コマンドを使用できます。

    詳細は、お使いのシステムの podman-push(1) および podman-build(1) の man ページを参照してください。

検証

  • イメージをプルします。

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

    設定したとおりに署名の存在を強制するには、podman pull コマンドを実行する必要があります。設定済みのレジストリーから、署名されていないイメージ、または誤ったキーで署名されたイメージを取得しようとすると、コマンドは失敗します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る