Role-Based Access Control for Pipelines With Stream Designer on Confluent Cloud

Stream Designer controls access to pipeline models by using the Role-Based Access Control (RBAC) model provided by Confluent Cloud. Pipeline models are RBAC resources, and actions on these resources are checked by Stream Designer, which issues permissions as required.

Stream Designer RBAC

Stream Designer is a multi-user and multi-player system, which means that multiple users can collaborate on a pipeline model, even at the same time. It’s possible that one user activates a pipeline, and later a different user reactivates or deactivates the same pipeline model. Stream Designer ensures that if both users have the privilege to activateand deactivate the pipeline, Stream Designer provisions, updates, or deletes the actual resources, like connectors, topics, schema subjects, and ksqlDB queries. To accomplish this, Stream Designer gives the pipeline its own identity by using a service account and API keys.

Any user with the CloudClusterAdmin role on the Confluent Cloud cluster can view the pipeline’s settings and toggle whether the pipeline has the privileges to provision, manage, and delete connectors, topics, queries and schema subjects.

Only users that have the OrganizationAdmin role can grant privileges to a pipeline.

Stream Designer checks whether the current pipeline has the required permissions, and adds privileges as necessary. Stream Designer checks existing role bindings on the internal service account and adds any missing role bindings. The RBAC system syncs the role bindings to the underlying clusters, allowing any users with existing privileges on the pipeline model to be able to activate, deactivate, pause, and resume the pipeline. When such requests are made, Stream Designer uses the pipeline’s API keys, which are owned by the pipeline’s service account that now has the necessary roles, to submit requests to the Connect, the Kafka, ksqlDB, and Schema Registry clusters that are associated with the pipeline.

If you’re an administrator and you need to remove permissions from the pipeline, you can view the pipeline’s settings and uncheck whether the pipeline is to be allowed to provision, manage, and delete connectors, topics, queries and schema subjects. Stream Designer removes the necessary role bindings from the internal service account. These role bindings are synced to the underlying clusters in Confluent Cloud, and no Stream Designer instance will be able to submit requests to Connect, Kafka, ksqlDB, and Schema Registry clusters that are associated with the pipeline. For more information, see List the role bindings for a principal.

Role assignments for pipelines

The following table shows how RBAC roles map to operations on pipeline resources.

Namespace Name Display Name Scope Description Operations
public OrganizationAdmin OrganizationAdmin organization Allows all operations on all pipeline models in the organization. Activate, Alter, AlterAccess, Create, Deactivate, Delete, Describe, DescribeAccess, Pause, Restore, Resume, View
public EnvironmentAdmin EnvironmentAdmin environment Allows all operations on all pipeline models in the environment. Activate, Alter, AlterAccess, Create, Deactivate, Delete, Describe, DescribeAccess, Pause, Restore, Resume, View
public NetworkAdmin NetworkAdmin organization Network admins inherit no privileges on pipeline models. none
public CloudClusterAdmin CloudClusterAdmin cloud-cluster Allows all operations on all pipeline models in the cloud cluster. Activate, Alter, AlterAccess, Create, Deactivate, Delete, Describe, DescribeAccess, Pause, Restore, Resume, View
public MetricsViewer MetricsViewer organization Metrics viewers inherit no privileges on pipeline models. none
datagovernance DataDiscovery DataDiscovery environment Allows operations related to viewing pipeline metadata for all pipelines in the environment. Describe
datagovernance DataSteward DataSteward environment Allows operations related to viewing pipeline metadata for all pipelines in the environment. Describe
public PipelineResourceOwner ResourceOwner pipeline All operations on the pipeline, except for granting privileges to the pipeline, which requires Org Admin privileges because it an internal service account must be created. Activate, Alter, AlterAccess, Create, Deactivate, Delete, Describe, DescribeAccess, Pause, Restore, Resume, View
public PipelineDeveloperRead DeveloperRead pipeline Allows operations related to viewing the pipeline model. Describe, View
public PipelineDeveloperWrite DeveloperWrite pipeline Allows operations related to viewing and updating the pipeline model. Alter, Describe, View
public PipelineDeveloperManage DeveloperManage pipeline Allows operations related to viewing, updating, activating, deactivating, and pausing/resuming the pipeline model. Activate, Alter, AlterAccess, Create, Deactivate, Delete, Describe, DescribeAccess, Pause, Restore, Resume, View
dataplane OrganizationOperator Operator organization Allows operations related to viewing all pipeline metadata and models in the organization. Describe, View
dataplane EnvironmentOperator Operator environment Allows operations related to viewing all pipeline metadata and models in the environment. Describe, View
dataplane CloudClusterOperator Operator cloud-cluster Allows operations related to viewing all pipeline metadata and models in the cloud cluster. Describe, View