Sigstore Cosign によるキーレス署名
GPG キーを管理せずに OCI チャートへ署名します。
「Sigstore Cosign によるキーレス署名」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
GPG キーの問題
従来のプロベナンスでは、長期間使う GPG キーの保管、ローテーション、公開鍵の配布を管理する必要があります。Sigstore は、より軽量な方法を提供します。
Cosign の紹介
Cosign は Sigstore プロジェクトの一部で、コンテナイメージと OCI アーティファクトに署名します。OCI レジストリに push した Helm チャートは、まさにこのアーティファクトに該当します。
チャートを OCI アーティファクトとして扱う
Helm は、GHCR のような OCI レジストリにチャートを push できます。そこに保存すれば、イメージへの署名に使う同じレジストリツールでチャートにも署名できます。
helm push mychart-0.1.0.tgz oci://ghcr.io/acmeキーレスの意味
Keyless 署名では、長期間使う秘密鍵を使用しません。Cosign は、1回の署名に限ってIDに紐付いた短期間有効な証明書を発行します。
OIDC によるIDの証明
GitHub や Google などの OIDC プロバイダーで認証します。Sigstore は、手元で保持するキーではなく、検証済みのIDに署名を紐付けます。
Fulcio が証明書を発行する
Sigstore の Fulcio 認証局は、OIDC ログインに基づいて短期間有効な証明書を発行します。数分で期限切れになるため、盗まれるキーがありません。
Rekor が公開記録する
署名は、公開された改ざん検知可能な透明性ログである Rekor に記録されます。署名が行われたことを監査できる、タイムスタンプ付きの記録が残ります。
チャートに署名する
レジストリの digest で push 済みのチャートを指定し、cosign にブラウザでのログインと署名を1つのコマンドで処理させます。
cosign sign ghcr.io/acme/mychart@sha256:abc123署名を検証する
verify するには、想定する署名者のIDと OIDC issuer が必要です。透明性ログを通じて、正しい当事者が署名したことを確認します。
cosign verify --certificate-identity jane@acme.com \
--certificate-oidc-issuer https://github.com/login/oauth \
ghcr.io/acme/mychart@sha256:abc123Cosign と .prov の違い
これは Helm の .prov システムとは別の仕組みです。Cosign は、GPG キーリングやプロベナンスファイルではなく、IDベースの署名で OCI チャートを保護します。
CI に最適
パイプラインでは、runner 自身の workload identity を使ってキーレスで署名できます。そのため、秘密鍵がビルド環境に触れることはありません。
確認問題
長期間使う秘密鍵を管理せずに、OCI Helm チャートへ署名したいとします。
振り返り: キーレス署名
Cosign を使うと、OCI チャートにキーレスで署名できます。OIDC がIDを証明し、Fulcio が短期間有効な証明書を発行し、Rekor が記録します。管理すべき GPG キーはありません。🛡️
よくある質問
「Sigstore Cosign によるキーレス署名」レッスンは無料ですか?
はい。「Sigstore Cosign によるキーレス署名」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「Sigstore Cosign によるキーレス署名」で何を学びますか?
GPG キーを管理せずに OCI チャートへ署名します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Sigstore Cosign によるキーレス署名」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Provenance ファイルが保証すること
- helm package --sign によるチャート署名
- helm verify と --verify による検証
- Sigstore Cosign によるキーレス署名