13.5. quay と cosign の使用
Go 1.16+ を使用している場合は、次のコマンドを使用して cosign を直接インストールできます。
$ go install github.com/sigstore/cosign/cmd/cosign@v1.0.0 go: downloading github.com/sigstore/cosign v1.0.0 go: downloading github.com/peterbourgon/ff/v3 v3.1.0 ...
次に、キーペアを生成します。
$ cosign generate-key-pair Enter password for private key: Enter again: Private key written to cosign.key Public key written to cosign.pub
次のコマンドでキーペアに署名します。
$ cosign sign -key cosign.key quay-server.example.com/user1/busybox:test Enter password for private key: Pushing signature to: quay-server.example.com/user1/busybox:sha256-ff13b8f6f289b92ec2913fa57c5dd0a874c3a7f8f149aabee50e3d01546473e3.sig
一部のユーザーは、次のエラーが発生する可能性があります。
error: signing quay-server.example.com/user1/busybox:test: getting remote image: GET https://quay-server.example.com/v2/user1/busybox/manifests/test: UNAUTHORIZED: access to the requested resource is not authorized; map[]
cosign は認証を ~/.docker/config.json に依存しているため、次のコマンドの実行が必要になる場合があります。
$ podman login --authfile ~/.docker/config.json quay-server.example.com Username: Password: Login Succeeded!
次のコマンドを使用して、更新された許可設定を確認できます。
$ cat ~/.docker/config.json { "auths": { "quay-server.example.com": { "auth": "cXVheWFkbWluOnBhc3N3b3Jk" } }