Permissions
The Haute Chai SDK uses a granular permissions system to control access to different methods and resources. Permissions are defined through the MethodsPermissions
interface, which specifies what actions an account can perform.
Permission Structure
Permissions are organized by resource type and their associated actions. Each permission is a boolean value that determines whether the action is allowed.
Access Control
access.add
: Add access permissions to resourcesaccess.remove
: Remove access permissions from resources
Account Management
accounts.create
: Create new accountsaccounts.read
: Read account information
Balance Management
balances.read
: View balance informationbalances.update
: Modify balance values
Collection Management
collections.create
: Create new collectionscollections.read
: View collection informationcollections.update
: Modify collection metadata- Collection relationships:
collections.children
: Manage child collectionsadd
: Add child collectionsread
: View child collectionsremove
: Remove child collections
collections.parents
: Manage parent collectionsadd
: Add parent collectionsread
: View parent collectionsremove
: Remove parent collections
collections.stacks
: Manage stack associationsadd
: Add stacks to collectionsremove
: Remove stacks from collections
Group Management
groups.create
: Create new groupsgroups.delete
: Delete existing groups- Group membership:
groups.accounts.add
: Add accounts to groupsgroups.accounts.remove
: Remove accounts from groups
Image Management
images.create
: Create/upload new imagesimages.read
: View image information and URLs
Operation Management
operations.create
: Create new operationsoperations.read
: View operation informationoperations.update
: Modify operation metadata
Stack Management
stacks.create
: Create new stacksstacks.read
: View stack informationstacks.update
: Modify stack metadata- Stack operations:
stacks.operations.add
: Add operations to stacksstacks.operations.remove
: Remove operations from stacks
Storage Management
storage.create
: Create storage recordsstorage.read
: Read storage recordsstorage.update
: Update storage recordsstorage.delete
: Delete storage records
Access Roles
When granting access to resources (collections or stacks), three roles are available:
reader
: Can view the resourcewriter
: Can view and modify the resourcemaintainer
: Full control over the resource, including managing access
Default Permissions
Root Accounts
By default all root accounts have full access to all resources and actions.
Regular Accounts
For regular accounts we grant all permissions except for the following:
accounts.create
accounts.read
balances.update
However, you can always override these defaults when creating a token in the Server SDK.