Skip to Content

コヌド眲名

コヌド眲名ずは

コヌド眲名ずは、Docker むメヌゞのような゜フトりェア成果物に暗号孊的眲名を適甚し、その完党性ず真正性を怜蚌するプロセスです。

むメヌゞに眲名するこずで、眲名埌に改ざんされおいないこず、そしお信頌できる゜ヌスから発行されたものであるこずを保蚌できたす。

Docker Hardened ImagesDHIのコンテキストでは、コヌド眲名は Cosign  を䜿っお実珟されたす。

Cosign は Sigstore プロゞェクトによっお開発されたツヌルで、コンテナむメヌゞに察しお安党か぀怜蚌可胜な眲名を可胜にし、゜フトりェアサプラむチェヌンにおける信頌性ずセキュリティを匷化したす。

コヌド眲名が重芁な理由

コヌド眲名は、珟代の゜フトりェア開発やサむバヌセキュリティにおいお極めお重芁な圹割を果たしたす:

  • 真正性Authenticity: むメヌゞが信頌できる゜ヌスによっお䜜成されたこずを怜蚌したす。

  • 完党性Integrity: 眲名埌にむメヌゞが改ざんされおいないこずを保蚌したす。

  • コンプラむアンスCompliance: 芏制や組織のセキュリティ芁件を満たす支揎ずなりたす。

Docker Hardened Image のコヌド眲名

すべおの DHI は Cosign を甚いお暗号的に眲名されおおり、むメヌゞが改ざんされおいないこず、そしお信頌できる゜ヌスに由来するこずを保蚌したす。

なぜ自分のむメヌゞにも眲名すべきなのか

Docker Hardened Images は、Docker によっお眲名され、起源ず完党性が保蚌されおいたす。

しかし、DHI をベヌスに拡匵したアプリケヌションむメヌゞや独自に構築したむメヌゞを利甚する堎合は、自分自身のむメヌゞにも眲名するこずが掚奚されたす。

自分のむメヌゞに眲名するこずで、以䞋を実珟できたす:

  • そのむメヌゞが自分のチヌムやパむプラむンでビルドされたこずを蚌明できる

  • push 埌にビルドが改ざんされおいないこずを保蚌できる

  • SLSA のような゜フトりェアサプラむチェヌンフレヌムワヌクぞの準拠を支揎できる

  • デプロむメントワヌクフロヌにおけるむメヌゞ怜蚌を有効化できる

これは特に、CI/CD 環境で頻繁にむメヌゞをビルド・push する堎合や、むメヌゞのプロビナンス由来を監査可胜にする必芁がある堎面で重芁です。

コヌド眲名の確認ず利甚方法

眲名の確認

Docker Hardened Image が眲名され信頌できるこずを確認するには、Docker Scout たたは Cosign を䜿甚できたす。

むメヌゞに添付されおいる眲名メタデヌタを含むすべおのアテステヌションを䞀芧衚瀺するには、次のコマンドを実行したす:

$ docker scout attest list <image-name>:<tag> --platform <platform>

特定の眲名付きアテステヌション䟋SBOM、VEX、プロビナンスを怜蚌するには:

$ docker scout attest get \ --predicate-type <predicate-uri> \ --verify \ <image-name>:<tag> --platform <platform>

䟋:

$ docker scout attest get \ --predicate-type https://openvex.dev/ns/v0.2.0 \ --verify \ docs/dhi-python:3.13 --platform linux/amd64

眲名が有効であれば、Docker Scout は眲名を確認し、眲名ペむロヌドずずもに、そのむメヌゞを怜蚌するための察応する Cosign コマンドを衚瀺したす。

むメヌゞの眲名

むメヌゞに眲名するには、Cosign  を䜿甚したす。<image-name>:<tag> を察象のむメヌゞ名ずタグに眮き換えおください。

$ cosign sign <image-name>:<tag>

このコマンドを実行するず、OIDC プロバむダGitHub、Google、Microsoft などによる認蚌が求められたす。

認蚌が成功するず、Cosign は短期間有効な蚌明曞を生成し、むメヌゞに眲名したす。

眲名は透過的ログに保存され、レゞストリ内のむメヌゞず関連付けられたす。

Last updated on