Access Control

11 min read

Archestra uses a role-based access control (RBAC) system to manage user permissions within organizations. This system provides both predefined roles for common use cases and the flexibility to create custom roles with specific permission combinations.

Permissions in Archestra are defined using a resource:action format, where:

  • Resource: The type of object or feature being accessed (e.g., agent, tool, organization)
  • Action: The operation being performed (create, read, update, delete, admin)

For example, the permission agent:create allows creating new automation agents, mcpGateway:create allows creating MCP gateways, llmProxy:create allows creating LLM proxies, and organization:read allows viewing organization information.

Predefined Roles

The following roles are built into Archestra and cannot be modified or deleted:

RoleDescriptionGranted Permissions
adminFull administrative access to all organization resourcesorganization:read

organization:update

organization:delete

member:create

member:update

member:delete

invitation:create

invitation:cancel

team:create

team:read

team:update

team:delete

team:admin

ac:create

ac:read

ac:update

ac:delete

agent:create

agent:read

agent:update

agent:delete

agent:team-admin

agent:admin

mcpGateway:create

mcpGateway:read

mcpGateway:update

mcpGateway:delete

mcpGateway:team-admin

mcpGateway:admin

llmProxy:create

llmProxy:read

llmProxy:update

llmProxy:delete

llmProxy:team-admin

llmProxy:admin

tool:create

tool:read

tool:update

tool:delete

policy:create

policy:read

policy:update

policy:delete

dualLlmConfig:create

dualLlmConfig:read

dualLlmConfig:update

dualLlmConfig:delete

dualLlmResult:create

dualLlmResult:read

dualLlmResult:update

dualLlmResult:delete

interaction:create

interaction:read

interaction:update

interaction:delete

identityProvider:create

identityProvider:read

identityProvider:update

identityProvider:delete

internalMcpCatalog:create

internalMcpCatalog:read

internalMcpCatalog:update

internalMcpCatalog:delete

mcpServer:create

mcpServer:read

mcpServer:update

mcpServer:delete

mcpServer:admin

mcpServerInstallationRequest:create

mcpServerInstallationRequest:read

mcpServerInstallationRequest:update

mcpServerInstallationRequest:delete

mcpServerInstallationRequest:admin

mcpToolCall:read

conversation:create

conversation:read

conversation:update

conversation:delete

limit:create

limit:read

limit:update

limit:delete

llmModels:create

llmModels:read

llmModels:update

llmModels:delete

chatSettings:create

chatSettings:read

chatSettings:update

chatSettings:delete
editorPower user with full CRUD access to most resources but no admin privilegesagent:create

agent:read

agent:update

agent:delete

agent:team-admin

mcpGateway:create

mcpGateway:read

mcpGateway:update

mcpGateway:delete

mcpGateway:team-admin

llmProxy:create

llmProxy:read

llmProxy:update

llmProxy:delete

llmProxy:team-admin

tool:create

tool:read

tool:update

tool:delete

policy:create

policy:read

policy:update

policy:delete

interaction:create

interaction:read

interaction:update

interaction:delete

dualLlmConfig:read

dualLlmResult:read

internalMcpCatalog:create

internalMcpCatalog:read

internalMcpCatalog:update

internalMcpCatalog:delete

mcpServer:create

mcpServer:read

mcpServer:update

mcpServer:delete

mcpServerInstallationRequest:create

mcpServerInstallationRequest:read

mcpServerInstallationRequest:update

mcpServerInstallationRequest:delete

organization:read

team:read

mcpToolCall:read

conversation:create

conversation:read

conversation:update

conversation:delete

limit:create

limit:read

limit:update

limit:delete

llmModels:create

llmModels:read

llmModels:update

llmModels:delete

chatSettings:create

chatSettings:read

chatSettings:update

chatSettings:delete







memberStandard user with limited access to organization resourcesagent:create

agent:read

agent:update

agent:delete

mcpGateway:create

mcpGateway:read

mcpGateway:update

mcpGateway:delete

llmProxy:create

llmProxy:read

llmProxy:update

llmProxy:delete

tool:create

tool:read

tool:update

tool:delete

policy:read

interaction:create

interaction:read

interaction:update

interaction:delete

dualLlmConfig:read

dualLlmResult:read

internalMcpCatalog:read

mcpServer:create

mcpServer:read

mcpServer:delete

mcpServerInstallationRequest:create

mcpServerInstallationRequest:read

mcpServerInstallationRequest:update

organization:read

team:read

mcpToolCall:read

conversation:create

conversation:read

conversation:update

conversation:delete

limit:read

llmModels:read

chatSettings:read







Custom Roles

Organization administrators can create custom roles by selecting specific permission combinations. Custom roles allow fine-grained access control tailored to your organization's needs.

Permission Requirements

  • Role Creation: Only users with organization:update permission can create custom roles
  • Permission Granting: You can only grant permissions that you already possess
  • Role Limits: Up to 50 custom roles per organization

Available Permissions

The following table lists all available permissions that can be assigned to custom roles:

PermissionDescription
ac:createCreate new RBAC roles
ac:readView and list RBAC roles
ac:updateModify existing RBAC roles
ac:deleteRemove existing RBAC roles
agent:createCreate new automation agents with prompts and configurations
agent:readView and list automation agents with prompts and configurations
agent:updateModify existing automation agents with prompts and configurations
agent:deleteRemove existing automation agents with prompts and configurations
agent:team-adminTeam-level administrative control over the resource automation agents with prompts and configurations
agent:adminAdministrative control over automation agents with prompts and configurations
chatSettings:createCreate new chat feature configuration and settings
chatSettings:readView and list chat feature configuration and settings
chatSettings:updateModify existing chat feature configuration and settings
chatSettings:deleteRemove existing chat feature configuration and settings
conversation:createCreate new chat conversations with automation experts
conversation:readView and list chat conversations with automation experts
conversation:updateModify existing chat conversations with automation experts
conversation:deleteRemove existing chat conversations with automation experts
dualLlmConfig:createCreate new dual llm security configuration settings
dualLlmConfig:readView and list dual llm security configuration settings
dualLlmConfig:updateModify existing dual llm security configuration settings
dualLlmConfig:deleteRemove existing dual llm security configuration settings
dualLlmResult:createCreate new results from dual llm security validation
dualLlmResult:readView and list results from dual llm security validation
dualLlmResult:updateModify existing results from dual llm security validation
dualLlmResult:deleteRemove existing results from dual llm security validation
identityProvider:createCreate new identity providers for authentication
identityProvider:readView and list identity providers for authentication
identityProvider:updateModify existing identity providers for authentication
identityProvider:deleteRemove existing identity providers for authentication
interaction:createCreate new conversation history and agent interactions
interaction:readView and list conversation history and agent interactions
interaction:updateModify existing conversation history and agent interactions
interaction:deleteRemove existing conversation history and agent interactions
internalMcpCatalog:createCreate new internal mcp server catalog management
internalMcpCatalog:readView and list internal mcp server catalog management
internalMcpCatalog:updateModify existing internal mcp server catalog management
internalMcpCatalog:deleteRemove existing internal mcp server catalog management
invitation:createCreate new member invitations and onboarding
invitation:cancelCancel member invitations and onboarding
limit:createCreate new usage limits and quotas
limit:readView and list usage limits and quotas
limit:updateModify existing usage limits and quotas
limit:deleteRemove existing usage limits and quotas
llmModels:createCreate new llm models and pricing configuration
llmModels:readView and list llm models and pricing configuration
llmModels:updateModify existing llm models and pricing configuration
llmModels:deleteRemove existing llm models and pricing configuration
llmProxy:createCreate new llm proxies for security, observability, and cost management
llmProxy:readView and list llm proxies for security, observability, and cost management
llmProxy:updateModify existing llm proxies for security, observability, and cost management
llmProxy:deleteRemove existing llm proxies for security, observability, and cost management
llmProxy:team-adminTeam-level administrative control over the resource llm proxies for security, observability, and cost management
llmProxy:adminAdministrative control over llm proxies for security, observability, and cost management
mcpGateway:createCreate new mcp gateways that provide unified mcp endpoints for tools
mcpGateway:readView and list mcp gateways that provide unified mcp endpoints for tools
mcpGateway:updateModify existing mcp gateways that provide unified mcp endpoints for tools
mcpGateway:deleteRemove existing mcp gateways that provide unified mcp endpoints for tools
mcpGateway:team-adminTeam-level administrative control over the resource mcp gateways that provide unified mcp endpoints for tools
mcpGateway:adminAdministrative control over mcp gateways that provide unified mcp endpoints for tools
mcpServer:createCreate new mcp servers for tool integration
mcpServer:readView and list mcp servers for tool integration
mcpServer:updateModify existing mcp servers for tool integration
mcpServer:deleteRemove existing mcp servers for tool integration
mcpServer:adminAdministrative control over mcp servers for tool integration
mcpServerInstallationRequest:createCreate new requests for new mcp server installations
mcpServerInstallationRequest:readView and list requests for new mcp server installations
mcpServerInstallationRequest:updateModify existing requests for new mcp server installations
mcpServerInstallationRequest:deleteRemove existing requests for new mcp server installations
mcpServerInstallationRequest:adminAdministrative control over requests for new mcp server installations
mcpToolCall:readView and list tool execution logs and results
member:createCreate new organization members and their roles
member:updateModify existing organization members and their roles
member:deleteRemove existing organization members and their roles
organization:readView and list organization settings
organization:updateModify existing organization settings
organization:deleteRemove existing organization settings
policy:createCreate new tool invocation and trusted data policies for security
policy:readView and list tool invocation and trusted data policies for security
policy:updateModify existing tool invocation and trusted data policies for security
policy:deleteRemove existing tool invocation and trusted data policies for security
team:createCreate new teams for organizing members and access control
team:readView and list teams for organizing members and access control
team:updateModify existing teams for organizing members and access control
team:deleteRemove existing teams for organizing members and access control
team:adminAdministrative control over teams for organizing members and access control
tool:createCreate new individual tools that can be assigned to agents
tool:readView and list individual tools that can be assigned to agents
tool:updateModify existing individual tools that can be assigned to agents
tool:deleteRemove existing individual tools that can be assigned to agents

Best Practices

Principle of Least Privilege

Grant users only the minimum permissions necessary for their role. Start with the member role and add specific permissions as needed.

Team-Based Organization

Combine roles with team-based access control for fine-grained resource access:

  1. Create teams for different groups (e.g., "Data Scientists", "Developers")
  2. Assign agents and MCP servers to specific teams
  3. Add members to teams based on their role and responsibilities

Default Team

New members are automatically added to the "Default Team" when they accept an invitation. This ensures all users have immediate access to Archestra resources assigned to this team.

Team Access Control Rules

For Agents (MCP Gateways, LLM Proxies, Automation Agents):

  • Team members can only see agents assigned to teams they belong to
  • Exception: Users with agent:admin permission can see all agents
  • Exception: Agents with no team assignment are visible to all organization members

For MCP Servers:

  • Team members can only access MCP servers assigned to teams they belong to
  • Exception: Users with mcpServer:admin permission can access all MCP servers
  • Exception: MCP servers with no team assignment are accessible to all organization members

Associated Artifacts:

Team-based access extends to related resources like interaction logs, policies, and tool assignments. Members can only view these artifacts for agents and MCP servers they have access to.

Regular Review

Periodically review custom roles and member assignments to ensure they align with current organizational needs and security requirements.

Role Naming

Use clear, descriptive names for custom roles that indicate their purpose (e.g., "Agent-Manager", "Read-Only-Analyst", "Tool-Developer").