Cluster Access

  • Capella Operational
  • concept
Cluster-level role-based access control (RBAC) defines cluster access permissions for programmatic access to your clusters.

Cluster access credentials provide programmatic and application-level access to data on a cluster. These credentials are separate from organization roles and project roles. Your Capella user account’s organization and project roles control your access to the Capella UI, while cluster access credentials control programmatic and application-level access to data.

Cluster access credentials are specific to a cluster and consist of a cluster access name, password, and a set of access levels or roles, depending on the chosen credential type.

Cluster Access Credential Types

The available access credential types are:

Basic access credentials

Read, write, or read/write access at the bucket, scope, and collection level.

Advanced access credentials

Custom combinations of fine-grained privileges and access roles.

When choosing between basic and advanced access credentials, consider the following:

Basic Access Credentials Advanced Access Credentials

Availability

All plans

Paid plans only

Access Control

Predefined permission sets:

  • Read

  • Write

  • Read/Write

Fine-grained privileges and custom access roles with precise control over individual operations

Reusability

Permissions configured individually for each credential

Create reusable access roles that you can assign to multiple advanced credentials

Best For

  • Standard read/write operations

  • Quick setup and deployment

  • Straightforward security requirements

  • Least-privilege security models

  • Providing specific operation access, such as query only

  • Compliance and audit requirements

  • Standardized access patterns across multiple credentials

You cannot convert basic access credentials to advanced access credentials, or advanced access credentials to basic access credentials. If you need to change credential types, you must create new credentials with the desired type and migrate your applications to use them. A cluster may have both credential types active simultaneously.

Basic Access Credentials

When using basic access credentials, you can assign cluster access credentials on a per-bucket, per-scope, and per-collection basis. For example, you can grant access to all buckets and scopes in a cluster, assign different access levels to individual buckets, or grant access to just a single collection. This system allows you to mix and match access levels to different buckets, scopes, and collections in a cluster to match your application and security requirements.

The following table outlines the access levels available for basic access credentials and their corresponding privileges.

Access Description

Read

Write

Read/Write

Grants the privileges of the following Couchbase roles:

  • All the privileges of Read.

  • All the privileges of Write.

Advanced Access Credentials

Advanced access credentials use access roles. Access roles are reusable collections of preconfigured privileges applied at the container level, which you can assign to 1 or more advanced cluster credentials.

Advanced access credentials have no predefined access roles, instead you need to create custom access roles for your access requirements. Access roles simplify permission management when multiple users or applications require the same set of privileges. By creating access roles that match common access patterns in your organization, you can:

  • Maintain consistent security policies across multiple credentials.

  • Simplify credential management by updating role definitions rather than individual credentials.

  • Document intended access patterns for different user types or applications.

The following diagram illustrates the relationship between credentials, access roles, and privileges:

Diagram

Privilege Levels and Data Containers

Each privilege applies at a specific data container level. For example, a global privilege applies across the entire cluster, while a collection-level privilege applies to a specific collection.

Privileges have the following levels:

Global

Applies across all buckets in the entire cluster.

Bucket

Applies to all or specified buckets.

Bucket/Scope

Applies to all or specified scopes within a bucket.

Bucket/Scope/Collection

Applies to all or specified collections within a bucket and scope.

When you assign a non-global privilege, you can choose to use the default and apply it to all data containers at its privilege level or to specific ones. This flexibility lets you implement least-privilege security models tailored to your application architecture.

Privileges for Advanced Access Credentials

The following table lists the available privileges for advanced access credentials, their mapping to Couchbase Server roles, and data container access levels.

Privilege Server Role Access Level

Global

Global Function Execute

Global

Query Catalog

query_system_catalog

Global

Global Function Manage

Global

Analytics Read

analytics_reader

Global

Analytics Admin

analytics_admin

Global

Stats Read

external_stats_reader

Global

Query Manage Catalog

query_manage_system_catalog

Global

Query Curl Access

query_external_access

Global

Analytics

Analytics Manage

analytics_manager

Bucket

Analytics Select

analytics_select

Bucket/Scope/Collection

Data

Data Read

Bucket/Scope/Collection

Data Manage

data_writer

Bucket/Scope/Collection

Data Monitor

data_monitoring

Bucket/Scope/Collection

Eventing

Eventing Manage

eventing_manage_functions

Bucket/Scope

Search

FTS Manage

fts_admin

Bucket

FTS Read

fts_searcher

Bucket/Scope/Collection

Query

Query Insert

query_insert

Bucket/Scope/Collection

Query Update

query_update

Bucket/Scope/Collection

Query Index

query_manage_index

Bucket/Scope/Collection

Query Read

query_select

Bucket/Scope/Collection

Query Manage

Bucket/Scope

Query Delete

query_delete

Bucket/Scope/Collection

Query Execute

Bucket/Scope

Query Use Sequences

query_use_sequences

Bucket/Scope

Query Manage Sequences

query_manage_sequences

Bucket/Scope

Managing Cluster RBAC

For detailed instructions on implementing cluster RBAC, see: