Setup Authorization Policy
Before we can start storing secrets into the newly created Secret Ring, we must define our access policy. This access policy will determine the resources and permissions that users will need to authorize with to recover secrets.
This section will assume you are using the Zanzi Authorization GRPC Service that is included in the example docker-compose.yaml file from the previous step. If you are using the SourceHub ACP module instead, you can reference the Create a SourceHub ACP Policy doc.
Create a Policy
The Zanzi Authorization GRPC Service is a Zanzibar based global decentralized authorization system. Developers write policies using our Relation-Based Access Control (RelBAC) DSL, which allows you to define resources, relations, and permissions.
-
Resources: Generic container for some kind of "thing" you wish to gate access to or provide authorization for. It can be anything from a secret on Orbis, a document on DefraDB, or any other resource.
-
Relation: Named connections between resources. Similar to a database table that might have relations between its schema types, so does the SourceHub ACP module. This allows us to create expressive policies that go beyond traditional Role-Based or Attribute-based access control.
-
Permissions: Computed queries over resources, relations, and even other permissions (they're recursive!).