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.geton the requested policy. | 
| updatePolicy | binaryauthorization.policy.updateon the policy to update. | 
| policy.getIamPolicy | binaryauthorization.policy.getIamPolicyon the requested policy. | 
| policy.setIamPolicy | binaryauthorization.policy.setIamPolicyon the requested policy. | 
| policy.testIamPermissions | None. | 
| attestors.list | binaryauthorization.attestors.liston the containing Cloud project. | 
| attestors.get | binaryauthorization.attestors.geton the requested attestor. | 
| attestors.create | binaryauthorization.attestors.createon the containing Cloud project. | 
| attestors.delete | binaryauthorization.attestors.deleteon the attestor to delete. | 
| attestors.update | binaryauthorization.attestors.updateon the attestor to update. | 
| attestors.getIamPolicy | binaryauthorization.attestors.getIamPolicyon the requested attestor. | 
| attestors.setIamPolicy | binaryauthorization.attestors.setIamPolicyon the requested attestor. | 
| attestors.testIamPermissions | None. | 
| continuousValidationConfig.get | binaryauthorization.continuousValidationConfig.geton the requested continuousValidationConfig. | 
| continuousValidationConfig.update | binaryauthorization.continuousValidationConfig.updateon the requested continuousValidationConfig. | 
| continuousValidationConfig.getIamPolicy | binaryauthorization.continuousValidationConfig.getIamPolicyon the requested continuousValidationConfig. | 
| continuousValidationConfig.setIamPolicy | binaryauthorization.continuousValidationConfig.setIamPolicyon 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.policyViewerpermissions, as well as: | 
| binaryauthorization.policy.update | |
| binaryauthorization.continuousValidationConfig.update | |
| roles/binaryauthorization.policyAdmin | All of the roles/binaryauthorization.policyEditorpermissions, 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.attestorsViewerpermissions, as well as: | 
| binaryauthorization.attestors.verifyImageAttested | |
| roles/binaryauthorization.attestorsAdmin | All of the roles/binaryauthorization.attestorsViewerpermissions, 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.