Get desktop application:
View/edit binary Protocol Buffers messages
Google Cloud Management Service for Binary Authorization admission policies and attestation authorities. This API implements a REST model with the following objects: * [Policy][google.cloud.binaryauthorization.v1beta1.Policy] * [Attestor][google.cloud.binaryauthorization.v1beta1.Attestor]
A [policy][google.cloud.binaryauthorization.v1beta1.Policy] specifies the [attestors][google.cloud.binaryauthorization.v1beta1.Attestor] that must attest to a container image, before the project is allowed to deploy that image. There is at most one policy per project. All image admission requests are permitted if a project has no policy. Gets the [policy][google.cloud.binaryauthorization.v1beta1.Policy] for this project. Returns a default [policy][google.cloud.binaryauthorization.v1beta1.Policy] if the project does not have one.
Request message for [BinauthzManagementService.GetPolicy][].
Required. The resource name of the [policy][google.cloud.binaryauthorization.v1beta1.Policy] to retrieve, in the format `projects/*/policy`.
Creates or updates a project's [policy][google.cloud.binaryauthorization.v1beta1.Policy], and returns a copy of the new [policy][google.cloud.binaryauthorization.v1beta1.Policy]. A policy is always updated as a whole, to avoid race conditions with concurrent policy enforcement (or management!) requests. Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT if the request is malformed.
Request message for [BinauthzManagementService.UpdatePolicy][].
Required. A new or updated [policy][google.cloud.binaryauthorization.v1beta1.Policy] value. The service will overwrite the [policy name][google.cloud.binaryauthorization.v1beta1.Policy.name] field with the resource name in the request URL, in the format `projects/*/policy`.
Creates an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor], and returns a copy of the new [attestor][google.cloud.binaryauthorization.v1beta1.Attestor]. Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT if the request is malformed, ALREADY_EXISTS if the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] already exists.
Request message for [BinauthzManagementService.CreateAttestor][].
Required. The parent of this [attestor][google.cloud.binaryauthorization.v1beta1.Attestor].
Required. The [attestors][google.cloud.binaryauthorization.v1beta1.Attestor] ID.
Required. The initial [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] value. The service will overwrite the [attestor name][google.cloud.binaryauthorization.v1beta1.Attestor.name] field with the resource name, in the format `projects/*/attestors/*`.
Gets an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor]. Returns NOT_FOUND if the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] does not exist.
Request message for [BinauthzManagementService.GetAttestor][].
Required. The name of the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] to retrieve, in the format `projects/*/attestors/*`.
Updates an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor]. Returns NOT_FOUND if the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] does not exist.
Request message for [BinauthzManagementService.UpdateAttestor][].
Required. The updated [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] value. The service will overwrite the [attestor name][google.cloud.binaryauthorization.v1beta1.Attestor.name] field with the resource name in the request URL, in the format `projects/*/attestors/*`.
Lists [attestors][google.cloud.binaryauthorization.v1beta1.Attestor]. Returns INVALID_ARGUMENT if the project does not exist.
Request message for [BinauthzManagementService.ListAttestors][].
Required. The resource name of the project associated with the [attestors][google.cloud.binaryauthorization.v1beta1.Attestor], in the format `projects/*`.
Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default.
A token identifying a page of results the server should return. Typically, this is the value of [ListAttestorsResponse.next_page_token][google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.next_page_token] returned from the previous call to the `ListAttestors` method.
Response message for [BinauthzManagementService.ListAttestors][].
The list of [attestors][google.cloud.binaryauthorization.v1beta1.Attestor].
A token to retrieve the next page of results. Pass this value in the [ListAttestorsRequest.page_token][google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest.page_token] field in the subsequent call to the `ListAttestors` method to retrieve the next page of results.
Deletes an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor]. Returns NOT_FOUND if the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] does not exist.
Request message for [BinauthzManagementService.DeleteAttestor][].
Required. The name of the [attestors][google.cloud.binaryauthorization.v1beta1.Attestor] to delete, in the format `projects/*/attestors/*`.
An [admission rule][google.cloud.binaryauthorization.v1beta1.AdmissionRule] specifies either that all container images used in a pod creation request must be attested to by one or more [attestors][google.cloud.binaryauthorization.v1beta1.Attestor], that all pod creations will be allowed, or that all pod creations will be denied. Images matching an [admission whitelist pattern][google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern] are exempted from admission rules and will never block a pod creation.
Used in:
Required. How this admission rule will be evaluated.
Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
Required. The action when a pod creation is denied by the admission rule.
Defines the possible actions when a pod creation is denied by an admission rule.
Used in:
Do not use.
Enforce the admission rule by blocking the pod creation.
Dryrun mode: Audit logging only. This will allow the pod creation as if the admission request had specified break-glass.
Used in:
Do not use.
This rule allows all all pod creations.
This rule allows a pod creation if all the attestors listed in 'require_attestations_by' have valid attestations for all of the images in the pod spec.
This rule denies all pod creations.
An [admission whitelist pattern][google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern] exempts images from checks by [admission rules][google.cloud.binaryauthorization.v1beta1.AdmissionRule].
Used in:
An image name pattern to whitelist, in the form `registry/path/to/image`. This supports a trailing `*` as a wildcard, but this is allowed only in text after the `registry/` part.
An [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] that attests to container image artifacts. An existing attestor cannot be modified except where indicated.
Used as response type in: BinauthzManagementServiceV1Beta1.CreateAttestor, BinauthzManagementServiceV1Beta1.GetAttestor, BinauthzManagementServiceV1Beta1.UpdateAttestor
Used as field type in:
, ,Required. The resource name, in the format: `projects/*/attestors/*`. This field may not be updated.
Optional. A descriptive comment. This field may be updated. The field may be displayed in chooser dialogs.
Required. Identifies an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] that attests to a container image artifact. This determines how an attestation will be stored, and how it will be used during policy enforcement. Updates may not change the attestor type, but individual attestor fields may be updated
A Drydock ATTESTATION_AUTHORITY Note, created by the user.
Output only. Time when the attestor was last updated.
An [attestor public key][google.cloud.binaryauthorization.v1beta1.AttestorPublicKey] that will be used to verify attestations signed by this attestor.
Used in:
Optional. A descriptive comment. This field may be updated.
The ID of this public key. Signatures verified by BinAuthz must include the ID of the public key that can be used to verify them, and that ID must match the contents of this field exactly. Additional restrictions on this field can be imposed based on which public key type is encapsulated. See the documentation on `public_key` cases below for details.
Required. A public key reference or serialized instance. This field may be updated.
ASCII-armored representation of a PGP public key, as the entire output by the command `gpg --export --armor foo@example.com` (either LF or CRLF line endings). When using this field, `id` should be left blank. The BinAuthz API handlers will calculate the ID and fill it in automatically. BinAuthz computes this ID as the OpenPGP RFC4880 V4 fingerprint, represented as upper-case hex. If `id` is provided by the caller, it will be overwritten by the API-calculated ID.
A raw PKIX SubjectPublicKeyInfo format public key. NOTE: `id` may be explicitly provided by the caller when using this type of public key, but it MUST be a valid RFC3986 URI. If `id` is left blank, a default one will be computed based on the digest of the DER encoding of the public key.
A public key in the PkixPublicKey format (see https://tools.ietf.org/html/rfc5280#section-4.1.2.7 for details). Public keys of this type are typically textually encoded using the PEM format.
Used in:
A PEM-encoded public key, as described in https://tools.ietf.org/html/rfc7468#section-13
The signature algorithm used to verify a message against a signature using this key. These signature algorithm must match the structure and any object identifiers encoded in `public_key_pem` (i.e. this algorithm must match that of the public key).
Represents a signature algorithm and other information necessary to verify signatures with a given public key. This is based primarily on the public key types supported by Tink's PemKeyType, which is in turn based on KMS's supported signing algorithms. See https://cloud.google.com/kms/docs/algorithms. In the future, BinAuthz might support additional public key types independently of Tink and/or KMS.
Used in:
Not specified.
RSASSA-PSS 2048 bit key with a SHA256 digest.
RSASSA-PSS 3072 bit key with a SHA256 digest.
RSASSA-PSS 4096 bit key with a SHA256 digest.
RSASSA-PSS 4096 bit key with a SHA512 digest.
RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
ECDSA on the NIST P-256 curve with a SHA256 digest.
ECDSA on the NIST P-384 curve with a SHA384 digest.
ECDSA on the NIST P-521 curve with a SHA512 digest.
A [policy][google.cloud.binaryauthorization.v1beta1.Policy] for container image binary authorization.
Used as response type in: BinauthzManagementServiceV1Beta1.GetPolicy, BinauthzManagementServiceV1Beta1.UpdatePolicy
Used as field type in:
Output only. The resource name, in the format `projects/*/policy`. There is at most one policy per project.
Optional. A descriptive comment.
Optional. Controls the evaluation of a Google-maintained global admission policy for common system-level images. Images not covered by the global policy will be subject to the project admission policy. This setting has no effect when specified inside a global admission policy.
Optional. Admission policy whitelisting. A matching admission request will always be permitted. This feature is typically used to exclude Google or third-party infrastructure images from Binary Authorization policies.
Optional. Per-cluster admission rules. Cluster spec format: `location.clusterId`. There can be at most one admission rule per cluster spec. A `location` is either a compute zone (e.g. us-central1-a) or a region (e.g. us-central1). For `clusterId` syntax restrictions see https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.
Required. Default admission rule for a cluster without a per-cluster, per- kubernetes-service-account, or per-istio-service-identity admission rule.
Output only. Time when the policy was last updated.
Used in:
Not specified: DISABLE is assumed.
Enables global policy evaluation.
Disables global policy evaluation.
An [user owned drydock note][google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote] references a Drydock ATTESTATION_AUTHORITY Note created by the user.
Used in:
Required. The Drydock resource name of a ATTESTATION_AUTHORITY Note, created by the user, in the format: `projects/*/notes/*` (or the legacy `providers/*/notes/*`). This field may not be updated. An attestation by this attestor is stored as a Drydock ATTESTATION_AUTHORITY Occurrence that names a container image and that links to this Note. Drydock is an external dependency.
Optional. Public keys that verify attestations signed by this attestor. This field may be updated. If this field is non-empty, one of the specified public keys must verify that an attestation was signed by this attestor for the image specified in the admission request. If this field is empty, this attestor always returns that no valid attestations exist.
Output only. This field will contain the service account email address that this Attestor will use as the principal when querying Container Analysis. Attestor administrators must grant this service account the IAM role needed to read attestations from the [note_reference][Note] in Container Analysis (`containeranalysis.notes.occurrences.viewer`). This email address is fixed for the lifetime of the Attestor, but callers should not make any other assumptions about the service account email; future versions may use an email based on a different naming pattern.