2.2. コマンドラインインターフェイスから Gitsign を使用したコミットの署名および検証
gitsign
ツールを使用すると、Red Hat の Trusted Artifact Signer (RHTAS) サービスを使用して、Git リポジトリーのコミットに署名し、検証することができます。
前提条件
- Red Hat OpenShift Container Platform バージョン 4.13 以降にインストールされた RHTAS。
- OpenShift Web コンソールへのアクセス。
-
oc
およびgit
バイナリーがインストールされたワークステーション。 OpenShift クラスターから
cosign
バイナリーを ダウンロード した。-
cosign
バージョン 2.2 以降を使用する必要があります。
-
手順
OpenShift クラスターからワークステーションに
gitsign
バイナリーをダウンロードします。- OpenShift Web コンソールにログインします。ホームページから、? をクリックします。アイコンをクリックして、Command line tools をクリックし、gitsign ダウンロードセクションに移動して、お使いのプラットフォームのリンクをクリックします。
ワークステーションでターミナルを開き、.gz ファイルを展開して、実行ビットを設定します。
例
$ gunzip gitsign-amd64.gz $ chmod +x gitsign-amd64
バイナリーを
$PATH
環境内の場所に移動し、名前を変更します。例
$ sudo mv gitsign-amd64 /usr/local/bin/gitsign
OpenShift クラスターにログインします。
構文
oc login --token=TOKEN --server=SERVER_URL_AND_PORT
例
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443
注記OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。入力を求められた場合はユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。
RHTAS プロジェクトに切り替えます。
構文
oc project PROJECT_NAME
例
$ oc project trusted-artifact-signer
注記RHTAS インストールのプロジェクト名を使用します。
コミットの署名と検証を行うためにシェル環境を設定します。
例
$ export TUF_URL=$(oc get tuf -o jsonpath='{.items[0].status.url}' -n trusted-artifact-signer) $ export OIDC_ISSUER_URL=https://$(oc get route keycloak -n keycloak-system | tail -n 1 | awk '{print $2}')/auth/realms/trusted-artifact-signer $ export COSIGN_FULCIO_URL=$(oc get fulcio -o jsonpath='{.items[0].status.url}' -n trusted-artifact-signer) $ export COSIGN_REKOR_URL=$(oc get rekor -o jsonpath='{.items[0].status.url}' -n trusted-artifact-signer) $ export COSIGN_MIRROR=$TUF_URL $ export COSIGN_ROOT=$TUF_URL/root.json $ export COSIGN_OIDC_CLIENT_ID="trusted-artifact-signer" $ export COSIGN_OIDC_ISSUER=$OIDC_ISSUER_URL $ export COSIGN_CERTIFICATE_OIDC_ISSUER=$OIDC_ISSUER_URL $ export COSIGN_YES="true" $ export SIGSTORE_FULCIO_URL=$COSIGN_FULCIO_URL $ export SIGSTORE_OIDC_ISSUER=$COSIGN_OIDC_ISSUER $ export SIGSTORE_REKOR_URL=$COSIGN_REKOR_URL $ export REKOR_REKOR_SERVER=$COSIGN_REKOR_URL
RHTAS サービスを使用してコミットに署名するようにローカルリポジトリー設定を指定します。
例
$ git config --local commit.gpgsign true $ git config --local tag.gpgsign true $ git config --local gpg.x509.program gitsign $ git config --local gpg.format x509 $ git config --local gitsign.fulcio $SIGSTORE_FULCIO_URL $ git config --local gitsign.rekor $SIGSTORE_REKOR_URL $ git config --local gitsign.issuer $SIGSTORE_OIDC_ISSUER $ git config --local gitsign.clientID trusted-artifact-signer
ローカルリポジトリーにコミットを作成します。
例
$ git commit --allow-empty -S -m “Test of a signed commit”
Web ブラウザーが開いて、メールアドレスでコミットに署名できます。
The Update Framework (TUF) システムを初期化します。
例
$ cosign initialize
コミットを確認します。
構文
gitsign verify --certificate-identity=SIGNING_EMAIL --certificate-oidc-issuer=$SIGSTORE_OIDC_ISSUER HEAD
例
$ gitsign verify --certificate-identity=jdoe@redhat.com --certificate-oidc-issuer=$SIGSTORE_OIDC_ISSUER HEAD
関連情報
- OpenShift への Red Hat Trusted Artifact Signer のインストール
- Red Hat Trusted Application Pipeline のカスタマイズ
- コンテナーイメージの署名と検証の詳細は RHTAS デプロイメントガイドのコマンドラインインターフェイスからの Cosign を使用したコンテナーの署名と検証 セクションを参照してください。
- The Update Framework の ホームページ