gcloud alpha container binauthz attestations sign-and-create - sign and create a Binary Authorization Attestation using a Cloud KMS key
gcloud alpha container binauthz attestations sign-and-create --artifact-url=ARTIFACT_URL (--attestor=ATTESTOR : --attestor-project=ATTESTOR_PROJECT) (--keyversion=KEYVERSION : --keyversion-key=KEYVERSION_KEY --keyversion-keyring=KEYVERSION_KEYRING --keyversion-location=KEYVERSION_LOCATION --keyversion-project=KEYVERSION_PROJECT) [--public-key-id-override=PUBLIC_KEY_ID_OVERRIDE] [--validate] [GCLOUD_WIDE_FLAG ...]
(ALPHA) This command signs and creates a Binary Authorization attestation for your project. The attestation is created for the specified artifact (e.g. a gcr.io container URL), associate with the specified attestor, and stored under the specified project.
To sign and create an attestation in the project "my_proj" as the attestor with resource path "projects/foo/attestors/bar" with the key "projects/foo/locations/us-west1/keyRings/aring/cryptoKeys/akey/cryptoKeyVersions/1", run:
$ gcloud alpha container binauthz attestations sign-and-create \ --project=my_proj \ --artifact-url='gcr.io/example-project/example-image@sha256:abcd\ --keyversion-location=us-west1 --keyversion-keyring=aring \ --keyversion-key=akey --keyversion=1
- --artifact-url=ARTIFACT_URL
Container URL. May be in the gcr.io/repository/image format, or may optionally contain the http or https scheme
- Attestor resource - The Attestor whose Container Analysis Note will be used to
host the created attestation. In order to successfully attach the attestation, the active gcloud account (core/account) must be able to read this attestor and must have the containeranalysis.notes.attachOccurrence permission for the Attestor's underlying Note resource (usually via the containeranalysis.notes.attacher role). The arguments in this group can be used to specify the attributes of this resource.
This must be specified.
- --attestor=ATTESTOR
ID of the attestor or fully qualified identifier for the attestor. To set the name attribute:
provide the argument --attestor on the command line.
This flag argument must be specified if any of the other arguments in this group are specified.
- --attestor-project=ATTESTOR_PROJECT
Project ID of the Google Cloud project for the attestor. To set the project attribute:
provide the argument --attestor on the command line with a fully specified name;
provide the argument --attestor-project on the command line;
provide the argument --project on the command line;
set the property core/project.
- CryptoKeyVersion resource - The Cloud KMS (Key Management Service)
CryptoKeyVersion to use to sign the attestation payload. The arguments in this group can be used to specify the attributes of this resource.
This must be specified.
- --keyversion=KEYVERSION
ID of the CryptoKeyVersion or fully qualified identifier for the CryptoKeyVersion. To set the version attribute:
provide the argument --keyversion on the command line.
This flag argument must be specified if any of the other arguments in this group are specified.
- --keyversion-key=KEYVERSION_KEY
The key of the CryptoKeyVersion. To set the key attribute:
provide the argument --keyversion on the command line with a fully specified name;
provide the argument --keyversion-key on the command line.
- --keyversion-keyring=KEYVERSION_KEYRING
The keyring of the CryptoKeyVersion. To set the keyring attribute:
provide the argument --keyversion on the command line with a fully specified name;
provide the argument --keyversion-keyring on the command line.
- --keyversion-location=KEYVERSION_LOCATION
The location of the CryptoKeyVersion. To set the location attribute:
provide the argument --keyversion on the command line with a fully specified name;
provide the argument --keyversion-location on the command line.
- --keyversion-project=KEYVERSION_PROJECT
Project ID of the Google Cloud project for the CryptoKeyVersion. To set the project attribute:
provide the argument --keyversion on the command line with a fully specified name;
provide the argument --keyversion-project on the command line;
provide the argument --project on the command line;
set the property core/project.
- --public-key-id-override=PUBLIC_KEY_ID_OVERRIDE
If provided, the ID of the public key that will be used to verify the Attestation instead of the default generated one. This ID should match the one found on the Attestor resource(s) which will use this Attestation.
This parameter is only necessary if the --public-key-id-override flag was provided when this KMS key was added to the Attestor.
- --validate
Whether to validate that the Attestation can be verified by the provided Attestor.
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist. This variant is also available:
$ gcloud beta container binauthz attestations sign-and-create