GCP.BinaryAuthorization reference
Attestor
Section titled “Attestor”Source:
src/GCP/BinaryAuthorization/Attestor.ts
A Binary Authorization attestor that verifies container-image attestations against a Grafeas Attestation Authority note.
Attestors have no labels field, so Alchemy stamps ownership into
description for list / nuke. attestorId and noteReference are
identity — changing either replaces the attestor. Description and
public keys update in place.
Attestor: Creating an Attestor
Section titled “Attestor: Creating an Attestor”Generated name
const note = yield* GCP.ContainerAnalysis.Note("Authority", { attestation: { hint: { humanReadableName: "QA" } },});const attestor = yield* GCP.BinaryAuthorization.Attestor("Qa", { noteReference: note.name,});Explicit id, description, and PKIX key
const attestor = yield* GCP.BinaryAuthorization.Attestor("Qa", { attestorId: "qa-attestor", noteReference: note.name, description: "signs production images", publicKeys: [ { comment: "ci", pkixPublicKey: { publicKeyPem: pem, signatureAlgorithm: "EC_SIGN_P256_SHA256", }, }, ],});Attestor: Updating an Attestor
Section titled “Attestor: Updating an Attestor”const attestor = yield* GCP.BinaryAuthorization.Attestor("Qa", { description: "signs staging and production images",});EvaluateGkePolicy
Section titled “EvaluateGkePolicy”Source:
src/GCP/BinaryAuthorization/EvaluateGkePolicy.ts
Runtime binding for Binary Authorization
platforms.gke.policies.evaluate.
Bind this operation to a PlatformsPolicy in a Function/Action
init phase. Provide EvaluateGkePolicyHttp.
EvaluateGkePolicy: Evaluating a GKE Policy
Section titled “EvaluateGkePolicy: Evaluating a GKE Policy”const evaluate = yield* GCP.BinaryAuthorization.EvaluateGkePolicy(policy);const result = yield* evaluate({ resource: { apiVersion: "v1", kind: "Pod", metadata: { name: "web", namespace: "default" }, spec: { containers: [{ name: "nginx", image: "nginx" }] }, },});EvaluateGkePolicyHttp
Section titled “EvaluateGkePolicyHttp”Source:
src/GCP/BinaryAuthorization/EvaluateGkePolicyHttp.tsKind: Layer · Provides:GCP.BinaryAuthorization.EvaluateGkePolicy
HTTP implementation of EvaluateGkePolicy.
GetAttestor
Section titled “GetAttestor”Source:
src/GCP/BinaryAuthorization/GetAttestor.ts
Runtime binding for Binary Authorization attestors.get.
Bind this operation to an Attestor in a Function/Action init
phase. Provide GetAttestorHttp.
GetAttestor: Reading an Attestor
Section titled “GetAttestor: Reading an Attestor”const getAttestor = yield* GCP.BinaryAuthorization.GetAttestor(attestor);const live = yield* getAttestor();GetAttestorHttp
Section titled “GetAttestorHttp”Source:
src/GCP/BinaryAuthorization/GetAttestorHttp.tsKind: Layer · Provides:GCP.BinaryAuthorization.GetAttestor
HTTP implementation of GetAttestor.
GetPlatformsPolicy
Section titled “GetPlatformsPolicy”Source:
src/GCP/BinaryAuthorization/GetPlatformsPolicy.ts
Runtime binding for Binary Authorization platforms.policies.get.
Bind this operation to a PlatformsPolicy in a Function/Action
init phase. Provide GetPlatformsPolicyHttp.
GetPlatformsPolicy: Reading a Platform Policy
Section titled “GetPlatformsPolicy: Reading a Platform Policy”const getPolicy = yield* GCP.BinaryAuthorization.GetPlatformsPolicy( policy,);const live = yield* getPolicy();GetPlatformsPolicyHttp
Section titled “GetPlatformsPolicyHttp”Source:
src/GCP/BinaryAuthorization/GetPlatformsPolicyHttp.tsKind: Layer · Provides:GCP.BinaryAuthorization.GetPlatformsPolicy
HTTP implementation of GetPlatformsPolicy.
PlatformsPolicy
Section titled “PlatformsPolicy”Source:
src/GCP/BinaryAuthorization/PlatformsPolicy.ts
A Binary Authorization platform policy. Platform policies apply to a
specific runtime (gke by default) and evaluate images independently of
the project-level admission policy.
Platform policies have no labels field, so Alchemy stamps ownership into
description for list / nuke. policyId and platform are identity —
changing either replaces the policy. Description and gkePolicy update
in place via replace.
PlatformsPolicy: Creating a Platform Policy
Section titled “PlatformsPolicy: Creating a Platform Policy”Allow all images on GKE
const policy = yield* GCP.BinaryAuthorization.PlatformsPolicy( "Default", {},);Allowlist Google system images
const policy = yield* GCP.BinaryAuthorization.PlatformsPolicy( "Default", { policyId: "gke-default", description: "allowlisted system images", gkePolicy: { imageAllowlist: { allowPattern: ["gcr.io/google-containers/*"], }, }, },);PlatformsPolicy: Updating a Platform Policy
Section titled “PlatformsPolicy: Updating a Platform Policy”const policy = yield* GCP.BinaryAuthorization.PlatformsPolicy( "Default", { gkePolicy: { checkSets: [ { displayName: "default", checks: [{ displayName: "deny", alwaysDeny: true }], }, ], }, },);ValidateAttestation
Section titled “ValidateAttestation”Source:
src/GCP/BinaryAuthorization/ValidateAttestation.ts
Runtime binding for Binary Authorization
attestors.validateAttestationOccurrence.
Bind this operation to an Attestor in a Function/Action init
phase. Provide ValidateAttestationHttp.
ValidateAttestation: Validating an Attestation
Section titled “ValidateAttestation: Validating an Attestation”const validate = yield* GCP.BinaryAuthorization.ValidateAttestation( attestor,);const result = yield* validate({ occurrenceNote: note.name, occurrenceResourceUri: imageUri, attestation: { serializedPayload: btoa("payload"), signatures: [{ publicKeyId: keyId, signature: btoa("sig") }], },});ValidateAttestationHttp
Section titled “ValidateAttestationHttp”Source:
src/GCP/BinaryAuthorization/ValidateAttestationHttp.tsKind: Layer · Provides:GCP.BinaryAuthorization.ValidateAttestation
HTTP implementation of ValidateAttestation.