This page describes permissions used in Binary Authorization.
Required permissions
The following table lists the permissions that the caller must have to call each API method:
Method | Required Permission(s) |
---|---|
getPolicy |
binaryauthorization.policy.get on the requested policy. |
updatePolicy |
binaryauthorization.policy.update on the policy to update. |
policy.getIamPolicy |
binaryauthorization.policy.getIamPolicy on the requested policy. |
policy.setIamPolicy |
binaryauthorization.policy.setIamPolicy on the requested policy. |
policy.testIamPermissions |
None. |
attestors.list |
binaryauthorization.attestors.list on the containing Cloud project. |
attestors.get |
binaryauthorization.attestors.get on the requested attestor. |
attestors.create |
binaryauthorization.attestors.create on the containing Cloud project. |
attestors.delete |
binaryauthorization.attestors.delete on the attestor to delete. |
attestors.update |
binaryauthorization.attestors.update on the attestor to update. |
attestors.getIamPolicy |
binaryauthorization.attestors.getIamPolicy on the requested attestor. |
attestors.setIamPolicy |
binaryauthorization.attestors.setIamPolicy on the requested attestor. |
attestors.testIamPermissions |
None. |
continuousValidationConfig.get |
binaryauthorization.continuousValidationConfig.get on the requested continuousValidationConfig. |
continuousValidationConfig.update |
binaryauthorization.continuousValidationConfig.update on the requested continuousValidationConfig. |
continuousValidationConfig.getIamPolicy |
binaryauthorization.continuousValidationConfig.getIamPolicy on the requested continuousValidationConfig. |
continuousValidationConfig.setIamPolicy |
binaryauthorization.continuousValidationConfig.setIamPolicy on the requested continuousValidationConfig. |
continuousValidationConfig.testIamPermissions |
None. |
Project types
The following table lists roles and permissions for different types of projects:
Project type | Description |
---|---|
Deployer | A project that manages the Google Kubernetes Engine (GKE) clusters where your images are deployed, as well as the Binary Authorization policy that governs deployment. |
Image | A project that contains the image(s) to be verified. |
Attestor | A project that stores attestor definitions. You can also use the note project for this purpose. |
Note | A project that stores attestor notes for a particular attestor definition. You can also use the attestor project for this purpose. |
Attestation | A project that stores attestations for a particular attestor. You can also use the attestor project or the image project for this purpose. |
Predefined roles
The following table lists the predefined Binary Authorization IAM roles with corresponding permissions each role includes. Note that every permission is applicable to a particular resource type.
Basic roles of Owner, Editor and Viewer are available for use on Binary Authorization resources, in addition to predefined type-specific roles of Admin, Editor and Viewer for Binary Authorization attestors and policies.
Roles for the policy resource
Role | Includes permission(s): |
---|---|
roles/binaryauthorization.policyViewer |
binaryauthorization.policy.get |
binaryauthorization.continuousValidationConfig.get |
|
roles/binaryauthorization.policyEditor |
All of the roles/binaryauthorization.policyViewer permissions, as well as:
|
binaryauthorization.policy.update |
|
binaryauthorization.continuousValidationConfig.update |
|
roles/binaryauthorization.policyAdmin |
All of the roles/binaryauthorization.policyEditor permissions, as well as:
|
binaryauthorization.policy.getIamPolicy |
|
binaryauthorization.policy.setIamPolicy |
|
binaryauthorization.continuousValidationConfig.getIamPolicy |
|
binaryauthorization.continuousValidationConfig.setIamPolicy |
Roles for the attestor resource
Role | Includes permission(s): |
---|---|
roles/binaryauthorization.attestorsViewer |
binaryauthorization.attestors.get |
binaryauthorization.attestors.list |
|
roles/binaryauthorization.attestorsVerifier |
All of the roles/binaryauthorization.attestorsViewer permissions, as well as: |
binaryauthorization.attestors.verifyImageAttested |
|
roles/binaryauthorization.attestorsAdmin |
All of the roles/binaryauthorization.attestorsViewer permissions, as well as: |
binaryauthorization.attestors.getIamPolicy |
|
binaryauthorization.attestors.setIamPolicy |
Note that the roles roles/owner
, roles/editor
, and
roles/viewer
include permissions for other Google Cloud services
as well.
Checking permissions
binaryauthorization.policy.testIamPermissions
and
binaryauthorization.attestors.testIamPermissions
can be run by any identity.