PermissionSet resource defines a collection of permissions that can be granted to one or more Identity resources. Permission sets allow you to centrally manage authorization rules and reuse them across multiple identities.
Basic Configuration
Required Fields
| Field | Type | Description |
|---|---|---|
resource_type | string | Must be "PermissionSet" |
permissions | string | The permission level to grant. Currently only "full" is supported |
Permission Levels
Full Permissions
Currently, Edge Server supports a single permission level:full permission level grants complete access to:
- All HTTP API endpoints
- All data plane operations
- All database operations on Edge Server
Future versions of Edge Server may introduce more granular permission levels to support fine-grained access control (e.g., read-only permissions, per-database permissions, or per-endpoint permissions).
Complete Examples
Basic Permission Set
Shared Permission Set for Multiple Identities
A common pattern is to define one permission set and reuse it across multiple identities:Complete Configuration with HTTP Server
Using Permission Sets
Referencing in Identities
Permission sets are referenced by their resource key name in Identity configurations:Multiple Permission Sets
You can define multiple permission sets for organizational purposes, even if they currently all grantfull permissions:
Authorization Flow
When an authenticated request arrives at an Edge Server HTTP API:- Authentication: The API key from the request is validated against configured Identity resources
- Permission Lookup: The Identity’s
permissionsfield is used to locate the associated PermissionSet - Authorization Check: The PermissionSet’s
permissionsvalue determines what operations are allowed - Request Processing: If authorized, the request proceeds; otherwise, an authorization error is returned
Future Enhancements
Future versions of Edge Server may introduce additional permission levels such as:- Read-only: Allow read operations but deny writes
- Per-database: Grant access to specific databases only
- Per-endpoint: Allow access to specific API endpoints
- Custom permissions: Define custom permission rules using a policy language
Best Practices
- Semantic naming: Use descriptive names for permission sets that reflect their intended purpose (e.g.,
admin_permissions,read_only_permissions,service_account_permissions) - Reuse permission sets: Define permission sets once and reference them from multiple identities to maintain consistency
- Prepare for granularity: Organize permission sets by role or function now, even if they all grant
fullpermissions, to make future permission refinements easier - Document intent: Add comments in your YAML configuration to explain the intended use of each permission set
Important Notes
- Current Limitation: Only
"full"permissions are currently supported. Attempting to use other values will result in a configuration error - Resource Key Reference: Identities reference permission sets by their YAML resource key name, not by any internal ID
- Validation: Edge Server validates that all Identity resources reference valid PermissionSet resources at startup
- No Dynamic Updates: Changes to permission sets require Edge Server restart to take effect