Index
BinauthzManagementServiceV1Beta1
(interface)SystemPolicyV1Beta1
(interface)AdmissionRule
(message)AdmissionRule.EnforcementMode
(enum)AdmissionRule.EvaluationMode
(enum)AdmissionWhitelistPattern
(message)Attestor
(message)AttestorPublicKey
(message)CreateAttestorRequest
(message)DeleteAttestorRequest
(message)GetAttestorRequest
(message)GetPolicyRequest
(message)GetSystemPolicyRequest
(message)ListAttestorsRequest
(message)ListAttestorsResponse
(message)PkixPublicKey
(message)PkixPublicKey.SignatureAlgorithm
(enum)Policy
(message)Policy.GlobalPolicyEvaluationMode
(enum)UpdateAttestorRequest
(message)UpdatePolicyRequest
(message)UserOwnedDrydockNote
(message)
BinauthzManagementServiceV1Beta1
Google Cloud Management Service for Binary Authorization admission policies and attestation authorities.
This API implements a REST model with the following objects:
CreateAttestor |
---|
Creates an
|
DeleteAttestor |
---|
Deletes an
|
GetAttestor |
---|
Gets an
|
GetPolicy |
---|
A Gets the
|
ListAttestors |
---|
Lists
|
UpdateAttestor |
---|
Updates an
|
UpdatePolicy |
---|
Creates or updates a project's
|
SystemPolicyV1Beta1
API for working with the system policy.
GetSystemPolicy |
---|
Gets the current system policy in the specified location.
|
AdmissionRule
An admission rule
specifies either that all container images used in a pod creation request must be attested to by one or more attestors
, that all pod creations will be allowed, or that all pod creations will be denied.
Images matching an admission allowlist pattern
are exempted from admission rules and will never block a pod creation.
Fields | |
---|---|
evaluation_mode |
Required. How this admission rule will be evaluated. |
require_attestations_by[] |
Optional. The resource names of the attestors that must attest to a container image, in the format Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty. |
enforcement_mode |
Required. The action when a pod creation is denied by the admission rule. |
EnforcementMode
Defines the possible actions when a pod creation is denied by an admission rule.
Enums | |
---|---|
ENFORCEMENT_MODE_UNSPECIFIED |
Do not use. |
ENFORCED_BLOCK_AND_AUDIT_LOG |
Enforce the admission rule by blocking the pod creation. |
DRYRUN_AUDIT_LOG_ONLY |
Dryrun mode: Audit logging only. This will allow the pod creation as if the admission request had specified break-glass. |
EvaluationMode
Enums | |
---|---|
EVALUATION_MODE_UNSPECIFIED |
Do not use. |
ALWAYS_ALLOW |
This rule allows all all pod creations. |
REQUIRE_ATTESTATION |
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. |
ALWAYS_DENY |
This rule denies all pod creations. |
AdmissionWhitelistPattern
An admission allowlist pattern
exempts images from checks by admission rules
.
Fields | |
---|---|
name_pattern |
An image name pattern to allowlist, in the form |
Attestor
An attestor
that attests to container image artifacts. An existing attestor cannot be modified except where indicated.
Fields | |
---|---|
name |
Required. The resource name, in the format: |
description |
Optional. A descriptive comment. This field may be updated. The field may be displayed in chooser dialogs. |
update_time |
Output only. Time when the attestor was last updated. |
etag |
Optional. A checksum, returned by the server, that can be sent on update requests to ensure the attestor has an up-to-date value before attempting to update it. See https://google.aip.dev/154. |
Union field attestor_type . Required. Identifies an 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. attestor_type can be only one of the following: |
|
user_owned_drydock_note |
A Drydock ATTESTATION_AUTHORITY Note, created by the user. |
AttestorPublicKey
An attestor public key
that will be used to verify attestations signed by this attestor.
Fields | |
---|---|
comment |
Optional. A descriptive comment. This field may be updated. |
id |
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 |
Union field public_key . Required. A public key reference or serialized instance. This field may be updated. public_key can be only one of the following: |
|
ascii_armored_pgp_public_key |
ASCII-armored representation of a PGP public key, as the entire output by the command |
pkix_public_key |
A raw PKIX SubjectPublicKeyInfo format public key. NOTE: |
CreateAttestorRequest
Request message for [BinauthzManagementService.CreateAttestor][].
Fields | |
---|---|
parent |
Required. The parent of this Authorization requires the following IAM permission on the specified resource
|
attestor_id |
Required. The |
attestor |
Required. The initial |
DeleteAttestorRequest
Request message for [BinauthzManagementService.DeleteAttestor][].
Fields | |
---|---|
name |
Required. The name of the Authorization requires the following IAM permission on the specified resource
|
GetAttestorRequest
Request message for [BinauthzManagementService.GetAttestor][].
Fields | |
---|---|
name |
Required. The name of the Authorization requires the following IAM permission on the specified resource
|
GetPolicyRequest
Request message for [BinauthzManagementService.GetPolicy][].
Fields | |
---|---|
name |
Required. The resource name of the Authorization requires the following IAM permission on the specified resource
|
GetSystemPolicyRequest
Request to read the current system policy.
Fields | |
---|---|
name |
Required. The resource name, in the format |
ListAttestorsRequest
Request message for [BinauthzManagementService.ListAttestors][].
Fields | |
---|---|
parent |
Required. The resource name of the project associated with the Authorization requires the following IAM permission on the specified resource
|
page_size |
Requested page size. The server may return fewer results than requested. If unspecified, the server will pick an appropriate default. |
page_token |
A token identifying a page of results the server should return. Typically, this is the value of |
ListAttestorsResponse
Response message for [BinauthzManagementService.ListAttestors][].
Fields | |
---|---|
attestors[] |
The list of |
next_page_token |
A token to retrieve the next page of results. Pass this value in the |
PkixPublicKey
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.
Fields | |
---|---|
public_key_pem |
A PEM-encoded public key, as described in https://tools.ietf.org/html/rfc7468#section-13 |
signature_algorithm |
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 |
SignatureAlgorithm
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.
Enums | |
---|---|
SIGNATURE_ALGORITHM_UNSPECIFIED |
Not specified. |
RSA_PSS_2048_SHA256 |
RSASSA-PSS 2048 bit key with a SHA256 digest. |
RSA_SIGN_PSS_2048_SHA256 |
RSASSA-PSS 2048 bit key with a SHA256 digest. |
RSA_PSS_3072_SHA256 |
RSASSA-PSS 3072 bit key with a SHA256 digest. |
RSA_SIGN_PSS_3072_SHA256 |
RSASSA-PSS 3072 bit key with a SHA256 digest. |
RSA_PSS_4096_SHA256 |
RSASSA-PSS 4096 bit key with a SHA256 digest. |
RSA_SIGN_PSS_4096_SHA256 |
RSASSA-PSS 4096 bit key with a SHA256 digest. |
RSA_PSS_4096_SHA512 |
RSASSA-PSS 4096 bit key with a SHA512 digest. |
RSA_SIGN_PSS_4096_SHA512 |
RSASSA-PSS 4096 bit key with a SHA512 digest. |
RSA_SIGN_PKCS1_2048_SHA256 |
RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest. |
RSA_SIGN_PKCS1_3072_SHA256 |
RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest. |
RSA_SIGN_PKCS1_4096_SHA256 |
RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest. |
RSA_SIGN_PKCS1_4096_SHA512 |
RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest. |
ECDSA_P256_SHA256 |
ECDSA on the NIST P-256 curve with a SHA256 digest. |
EC_SIGN_P256_SHA256 |
ECDSA on the NIST P-256 curve with a SHA256 digest. |
ECDSA_P384_SHA384 |
ECDSA on the NIST P-384 curve with a SHA384 digest. |
EC_SIGN_P384_SHA384 |
ECDSA on the NIST P-384 curve with a SHA384 digest. |
ECDSA_P521_SHA512 |
ECDSA on the NIST P-521 curve with a SHA512 digest. |
EC_SIGN_P521_SHA512 |
ECDSA on the NIST P-521 curve with a SHA512 digest. |
Policy
A policy
for Binary Authorization.
Fields | |
---|---|
name |
Output only. The resource name, in the format |
description |
Optional. A descriptive comment. |
global_policy_evaluation_mode |
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. |
admission_whitelist_patterns[] |
Optional. Admission policy allowlisting. 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. |
cluster_admission_rules |
Optional. Per-cluster admission rules. Cluster spec format: |
kubernetes_namespace_admission_rules |
Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: |
kubernetes_service_account_admission_rules |
Optional. Per-kubernetes-service-account admission rules. Service account spec format: |
istio_service_identity_admission_rules |
Optional. Per-istio-service-identity admission rules. Istio service identity spec format: |
default_admission_rule |
Required. Default admission rule for a cluster without a per-cluster, per- kubernetes-service-account, or per-istio-service-identity admission rule. |
update_time |
Output only. Time when the policy was last updated. |
etag |
Optional. A checksum, returned by the server, that can be sent on update requests to ensure the policy has an up-to-date value before attempting to update it. See https://google.aip.dev/154. |
GlobalPolicyEvaluationMode
Enums | |
---|---|
GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED |
Not specified: DISABLE is assumed. |
ENABLE |
Enables system policy evaluation. |
DISABLE |
Disables system policy evaluation. |
UpdateAttestorRequest
Request message for [BinauthzManagementService.UpdateAttestor][].
Fields | |
---|---|
attestor |
Required. The updated Authorization requires the following IAM permission on the specified resource
|
UpdatePolicyRequest
Request message for [BinauthzManagementService.UpdatePolicy][].
Fields | |
---|---|
policy |
Required. A new or updated Authorization requires the following IAM permission on the specified resource
|
UserOwnedDrydockNote
An user owned drydock note
references a Drydock ATTESTATION_AUTHORITY Note created by the user.
Fields | |
---|---|
note_reference |
Required. The Drydock resource name of a ATTESTATION_AUTHORITY Note, created by the user, in the format: 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. |
public_keys[] |
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. |
delegation_service_account_email |
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 ( 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. |