Access Control

API Reference: Authentication | Roles | Permissions | API Keys

FoxNose offers a robust role-based access control system to manage user permissions at various levels across the organization, project, and environment. This approach helps secure content while providing team members with the specific permissions needed to perform their roles effectively.

Authentication Methods

FoxNose uses two primary authentication methods that align with its role-based access structure:

JWT Authentication

  • User-based authentication available only for email-verified accounts
  • Suited for user interactions, especially in administrative tasks within the Management API
  • Supports access tokens and refresh tokens for user-specific, session-based interactions
  • Can hold any role within an organization, project, or environment, enabling high-level and environment-specific control

API Key Authentication

  • Service-based authentication ideal for automated interactions
  • Enables API keys to securely access both the Management API and Flux API
  • Each API type has dedicated API keys and roles
  • API keys are restricted to the Granular Role, limiting access based on designated entities and actions

Available Roles

Access control in FoxNose is organized by roles that assign specific permissions across the organization's hierarchy. These roles define access within organizational, project, and environment contexts.

RoleAPI AccessIncluded Permissions
Organization OwnerOrganizations, projects, environmentsFull access to organization management, all projects and environments
Organization AdministratorSpecific organization and all its projects/environmentsProject management and project-level data access, without ability to manage other organization administrators
Project AdministratorFull access to specific project and its environmentsProject settings, full environment management, including role assignment to users in environments
Granular RoleOnly specific environmentConfigurable access to entities and actions. Can set full access, but without environment deletion rights

Granular Permissions

The Granular Role offers fine-tuned access to specific entities within an environment. It is available to both users and Management API keys, making it ideal for scenarios where restricted, focused access is needed.

Environment Management

PermissionDescriptionAvailable Actions
Environment SettingsView and modify environment configurations, including enabling or disabling environments. Does not permit environment deletion.Read, Update

Content Management

PermissionDescriptionAvailable Actions
Collection SchemasCreate and manage schemas for collection foldersCreate, Read, Update, Delete
ComponentsManage reusable data schemas (components)Create, Read, Update, Delete
Folder ContentsView the list of resources and subfolders within folders without accessing their contents. Enables precise control through object-level permissions for foldersRead
Folder StructureView and manage the hierarchy of foldersCreate, Read, Update, Delete
ResourcesCreate, view, and manage resources within folders, including opening and editing their contentsCreate, Read, Update, Delete

Access Control Management

PermissionDescriptionAvailable Actions
Management API RolesCreate, view, and manage roles for accessing the system via web application or Management API keysCreate, Read, Update, Delete
Management API KeysCreate, view, and manage API keys for accessing the Management APICreate, Read, Update, Delete
User Role AssignmentsAssign and manage roles for users interacting with the environment through the web applicationCreate, Read, Update, Delete

Flux API Management

PermissionDescriptionAvailable Actions
Flux APIsCreate and manage Flux APIsCreate, Read, Update, Delete
Flux API RolesManage access to the Flux API through associated API keys and role assignmentsCreate, Read, Update, Delete
Flux API KeysCreate, view, and manage API keys for accessing the Flux APICreate, Read, Update, Delete

Was this page helpful?