ピン留めされたダイジェスト(Pinned Digest)とは?
pinned digestは、artifactを可変のtagではなく暗号的なコンテンツハッシュ(digest)で参照するもので、たとえばイメージを:latestではなくsha256:abc...で参照します。digestはコンテンツから導出されるため、参照はそのバイト単位で完全に一致するartifactにしか解決されません。digestによるpinは、version pinningの最も強力な形です。
なぜ重要か
tagは付け替えられ、セマンティックバージョンさえ再公開されえますが、digestはコンテンツを変えずに変わることはできないため、そこにpinすればサプライチェーンリスクの一群をまるごと取り除けます。GitHub Actions、ベースイメージ、依存関係は、どれもdigestでpinする方が安全です。ただしpinを更新するツールが必要になるという代償があります。
関連する概念
- 可変のtagではなくハッシュでコンテンツを参照する
- 依存関係pinningの最も強力な形
- Dependabotのようなツールがpinned digestを更新する
関連ガイド
What Is an Image Digest?An image digest is a cryptographic hash that uniquely and immutably identifies the exact contents of a contai…
What Is Dependency Pinning?Dependency pinning fixes dependencies to exact versions (or hashes) instead of ranges, so builds are predicta…
What Is an Immutable Tag?An immutable tag is a container or artifact tag that can never be reassigned after it is first pushed, guaran…