Skip to content

Roles and actions ​

OpenVault ships fixed roles and actions. Custom roles are not supported in v1.0.

Actions ​

Control plane ​

ActionMeaning
project.createCreate a project
project.readRead project metadata
project.updateRename or change project settings
project.deleteSoft-delete a project
identity.createCreate a service identity
identity.readRead identity metadata
identity.revokeDisable an identity and revoke its credentials
identity.join_tokenIssue a join token
assignment.readRead assignments and access explanations
assignment.writeGrant or revoke roles
audit.readRead or export audit events
kek.rotateStart KEK rotation

Data plane ​

ActionMeaning
secret.listList secret metadata and consumer summaries
secret.readRead a secret value or version
secret.writeCreate, update, or add a version
secret.deleteSoft-delete a secret
secret.recoverRecover a soft-deleted secret
secret.purgePermanently delete a secret
certificate.listList certificate metadata
certificate.readRead a certificate chain
certificate.read_privateRead a certificate private key
certificate.writeImport, generate, or update a certificate
certificate.deleteSoft-delete a certificate
certificate.recoverRecover a soft-deleted certificate
certificate.purgePermanently delete a certificate

Role matrix ​

Actionorg.adminproject.adminsecrets.managersecrets.officersecrets.readercertificates.officercertificates.readerauditorreader
project.create✓
project.read✓✓✓✓
project.update✓✓
project.delete✓
identity.create✓✓
identity.read✓✓✓
identity.revoke✓✓
identity.join_token✓✓
assignment.read✓✓✓
assignment.write✓✓
audit.read✓✓
kek.rotate✓
secret.list✓✓✓✓✓✓✓
secret.read✓✓✓✓✓
secret.write✓✓✓✓
secret.delete✓✓✓✓
secret.recover✓✓✓✓
secret.purge✓✓✓
certificate.list✓✓✓✓✓✓
certificate.read✓✓✓✓
certificate.read_private✓✓✓
certificate.write✓✓✓
certificate.delete✓✓✓
certificate.recover✓✓✓
certificate.purge✓✓

Scope eligibility ​

Roleorgprojectobject
org.admin✓
project.admin✓✓
secrets.manager✓✓
secrets.officer✓✓
secrets.reader✓✓✓
certificates.officer✓✓
certificates.reader✓✓✓
auditor✓✓
reader✓✓

Object-scope assignments are limited to the two reader roles.

Evaluation ​

  1. Reject disabled principals.
  2. Collect active assignments at org, project, and object scope.
  3. Allow if an assignment's role contains the action and its scope covers the resource.
  4. Deny otherwise.
  5. Audit the decision with a reason code.

The server re-evaluates from the database on every request. Roles in a token or session are UI hints only.

Released under the Apache-2.0 License