GitLab Helm GitLabチャートのプロベナンス
Helm来歴を使用することにより、GitLab Helmチャートの整合性と起源を検証できます。
GitLab Helmチャートは、GNUPGキーペアで署名されています。チャートを検証するには、キーペアの公開部分をダウンロードし、場合によってはエクスポートする必要があります。GNU Privacyハンドブックには、GPGキーを管理する方法が詳しく記載されています。
GitLab Helmチャート署名キーをダウンロードしてエクスポートする
公式のGitLab Helmチャート公開署名キーは、GitLab Helmチャートのプロベナンスを検証するために使用する必要があります。キーは、最初にダウンロードしてから、ローカルキーリングにエクスポートする必要があります。
公開署名キーをダウンロードする
公式のGitLab Helmチャート署名キーをダウンロードするには、以下を実行します:
gpg --receive-keys --keyserver hkps://keys.openpgp.org '5E46F79EF5836E986A663B4AE30F9C687683D663'例:
$ gpg --receive-keys --keyserver hkps://keys.openpgp.org '5E46F79EF5836E986A663B4AE30F9C687683D663'
gpg: key E30F9C687683D663: public key "GitLab, Inc. Helm charts <distribution@gitlab.com>" imported
gpg: Total number processed: 1
gpg: imported: 1このコマンドはキーをダウンロードし、デフォルトのキーリングに追加します。GitLab Helmチャート署名キーを個別のキーリングに配置する必要があります。--no-default-keyring --keyring <keyring> gpgオプションを使用して、GitLabチャート署名キーのみを含む新しいキーリングを作成できます。
例:
$ gpg --keyring $HOME/.gnupg/gitlab.pubring.kbx --keyserver hkps://keys.openpgp.org --no-default-keyring --receive-keys '5E46F79EF5836E986A663B4AE30F9C687683D663'
gpg: keybox '$HOME/.gnupg/gitlab.pubring.kbx' created
gpg: key E30F9C687683D663: public key "GitLab, Inc. Helm charts <distribution@gitlab.com>" imported
gpg: Total number processed: 1
gpg: imported: 1署名キーをエクスポートする
デフォルトでは、GnuPG v2は、Helmチャートのプロベナンス検証と互換性のない形式でキーリングを格納します。Helmチャートを検証するために使用する前に、キーリングをレガシー形式にエクスポートする必要があります。キーリングを適切な形式でエクスポートするには、次のいずれかの操作を行います:
デフォルトのキーリングからエクスポートします:
gpg --export --output gitlab.pubring.gpg '5E46F79EF5836E986A663B4AE30F9C687683D663'--no-default-keyring --keyring <keyring>オプションを使用して、個別のキーリングからキーをエクスポートします:gpg --export --output $HOME/.gnupg/gitlab.pubring.gpg --keyring $HOME/.gnupg/gitlab.pubring.kbx --no-default-keyring '5E46F79EF5836E986A663B4AE30F9C687683D663'
チャートを検証する
GitLab Helmチャートは、次のいずれかの方法で検証できます:
- チャートをダウンロードして、
helm verifyを実行する。 - チャートのインストール中に
--verifyオプションを使用する。
ダウンロードしたチャートを検証する
helm verifyコマンドを使用して、ダウンロードしたチャートを検証できます。検証可能なチャートをダウンロードするには、helm pull --provコマンドを使用します。例:
helm pull --prov gitlab/gitlab--versionオプションを使用して、指定されたチャートのバージョンをダウンロードします。例:
helm pull --prov gitlab/gitlab --version 7.9.0次に、helm verifyコマンドを使用して、ダウンロードしたチャートを検証できます。
例:
helm verify --keyring $HOME/.gnupg/gitlab.pubring.gpg gitlab-7.9.0.tgz
Signed by: GitLab, Inc. Helm charts <distribution@gitlab.com>
Using Key With Fingerprint: 5E46F79EF5836E986A663B4AE30F9C687683D663
Chart Hash Verified: sha256:789ec56d929c7ec403fc05249639d0c48ff6ab831f90db7c6ac133534d0aba19--verifyオプションとhelm pull commandを使用して、プルコマンドと検証コマンドを組み合わせることができます。
例:
helm pull --prov gitlab/gitlab --verify --keyring $HOME/.gnupg/gitlab.pubring.gpg
Signed by: GitLab, Inc. Helm charts <distribution@gitlab.com>
Using Key With Fingerprint: 5E46F79EF5836E986A663B4AE30F9C687683D663
Chart Hash Verified: sha256:789ec56d929c7ec403fc05249639d0c48ff6ab831f90db7c6ac133534d0aba19インストール中にチャートを検証する
--verifyオプションをhelm installまたはhelm upgradeコマンドのいずれかで使用して、インストール中にチャートを検証できます。
たとえば、
helm installを選択します:helm install --verify --keyring $HOME/.gnupg/gitlab.pubring.gpg gitlab gitlab/gitlab --set certmanager-issuer.email=<me@example.com> --set global.hosts.domain=<example.com>たとえば、
helm upgradeを選択します:helm upgrade --install --verify --keyring $HOME/.gnupg/gitlab.pubring.gpg gitlab gitlab/gitlab --set certmanager-issuer.email=<me@example.com> --set global.hosts.domain=<example.com>