Binary Authorization for GKE clusters overview

This document describes Binary Authorization for GKE clusters. To get started installing and using the product, see Set up Binary Authorization for GKE clusters. Binary Authorization supports the following environments:

Binary Authorization for GKE clusters is a Google Cloud product that extends Binary Authorization's hosted, deploy-time enforcement to GKE clusters.

Architecture

Binary Authorization for GKE clusters connects clusters to the Binary Authorization enforcer, running on Google Cloud. Binary Authorization for GKE clusters works by relaying requests to run container images from GKE clusters clusters to the Binary Authorization enforcement API.

Binary Authorization for GKE on VMware showing
              configuration one user control plane deployed.
Binary Authorization for GKE on VMware architecture with one user control plane. (Click to enlarge)

Binary Authorization for GKE clusters installs the Binary Authorization Module, which runs as a Kubernetes validating admission webhook in your cluster.

When the Kubernetes API server for the cluster processes a request to run a Pod, it sends an admission request, through the control plane, to the Binary Authorization Module.

The module then forwards the admission request to the hosted Binary Authorization API.

On Google Cloud, the API receives the request and forwards it to the Binary Authorization enforcer. The enforcer then checks that the request satisfies the Binary Authorization policy. If it does, the Binary Authorization API returns an "allow" response. Otherwise the API returns a "reject" response.

On premises, the Binary Authorization Module receives the response. If the Binary Authorization Module and all of the other admission webhooks allow the deploy request, the container image is allowed to deploy.

For more information about validating admission webhooks, see Using Admission Controllers.

Webhook failure policy

When a failure prevents communication with Binary Authorization, a webhook-specific failure policy determines if the container is allowed to deploy. Configuring the failure policy to allow the container image to deploy is known as fail open. Configuring the failure policy to deny the container image from deploying is known as fail close.

To configure the Binary Authorization Module for fail close, modify the manifest.yaml file and change the failurePolicy from Ignore to Fail, then deploy the manifest file.

You can update the failure policy in the Binary Authorization Module.

What's next