<a id="cloud-stream-catalog"></a>

# Stream Catalog on Confluent Cloud: User Guide to Manage Tags and Metadata

Stream Catalog is a searchable inventory of the schemas, topics, and other data
assets in a Confluent Cloud environment.

Teams use it to classify, find, and understand the event streams they need,
through the Confluent Cloud Console, the [Stream Catalog REST API Usage and Examples on Confluent Cloud](stream-catalog-rest-apis.md#stream-catalog-rest-apis), and the
[Stream Catalog GraphQL API Usage and Examples on Confluent Cloud](graphql.md#catalog-graphql).

With classifications, teams can constantly increase the value of the business’s
Stream Catalog by adding contextual details to data; for example, by labeling
schema fields as “PII” (personal identifiable information) or “Sensitive”.

The following high level sections are included here:

- [Search entities and tags](#data-discovery-search)
- [Tag entities, data, and schemas](#data-discovery-tagging)
- [Business metadata](#data-discovery-business-metadata)
- [Access control (RBAC) for Stream Catalog](#stream-catalog-rbac)

<!-- hide until feature is released - :ref:`stream-catalog-rbac` -->

<a id="data-discovery-search"></a>

## Search entities and tags

Stream Catalog in Confluent Cloud centralizes all entities metadata and makes them available for search and discovery using the Cloud Console and APIs.
Entity types available on the Stream Catalog are:

- Schemas
  - Schema subject name
  - Schema record name
  - Schema field name
- Topics
- Connectors
- Clusters
- Environments
- Streaming data pipelines
- Apache Flink® compute pools

These are also listed by their sub-class names under [Entity types](stream-catalog-rest-apis.md#dg-catalog-entity-types) in the [Catalog API Usage Guide](stream-catalog-rest-apis.md#stream-catalog-rest-apis).

This guide provides example workflows for some but not all entity types. All follow the same pattern with regard to workflows and API examples.
The full list of supported entities is provided with more detail in [Entity types](stream-catalog-rest-apis.md#dg-catalog-entity-types).

You can also search on tags, which will return results for all catalog-supported entities with a specified tag.
To learn more, see [Tag entities, data, and schemas](#data-discovery-tagging) and [Search for entities with a given tag](#catalog-search-tags).

#### NOTE
Under the hood, Stream Catalog only supports prefix searches; it does not support wildcard search.

<a id="catalog-global-search"></a>

### Global search

To try it out, [log into Confluent Cloud](../get-started/index.md#cloud-quickstart) [in an environment where you have Schema Registry enabled](../get-started/schema-registry.md#cloud-sr-config),
and start typing the name of a schema subject, data record, data field, or tag into the
search bar at the top. You will get results as you type. Hit enter to select an entity.

Note that you will get hits from other entities, such as topics, on the same search. Entity names that include the word you type also show
(for example, the tag `my_stocks` is shown when you search for `stock`).

![image](images/dg-global-search-schemas.png)

Click a search result to navigate to the entity. For example:

- Click `stocks-value` (listed as one of the [subjects](/platform/current/schema-registry/index.html#sr-subjects-topics-primer) under **Schema** in the search hits) to navigate to the value schema for the `stocks` topic.
- Click `stocks` (listed under **Topic** in the search hits) to navigate to the `stocks` Kafka topic.

If an entity (other than a schema) of the same name exists on multiple clusters, all are shown with associated environments.

![image](images/dg-global-search-topic-on-multiple-clusters.png)

Schema subjects live at the level of an environment, in per-environment Schema Registry clusters.
If a schema subject of the same name exists in multiple environments, all are shown.

![image](images/dg-global-search-schema-subject-multiple-env.png)

Depending on the entity selected, different filters are available in the advanced search.

For example, on topics you can filter on values for the following criteria to further narrow your topic search:

- Environments
- Tags
- Date created
- Date modified
- Retention time

As another example, on connectors you can filter on values for the following:

- Environments
- Tags
- Date created
- Date modified
- Category
- Plugin Type

These aspects of an entity also come into play for role-based access control (RBAC) in that you can provide access to some aspects of an entity and not others. To learn more, see [Access control (RBAC) for Stream Catalog](#stream-catalog-rbac).

### Search with filters

Click **See all..** or hit return on your initial search results to view a more detailed list, with an option apply more filters.

This view shows “All Results” for a search on `stocks`.

![image](images/dg-global-search-list-all.png)

You can filter this further by selecting an entity on the left menu; for example, “Schemas”.

![image](images/dg-global-search-schemas-filtered-list.png)

Also, you can use the filters across the top to filter by “Environment”, “Tag”, or “Entities”.

This example narrows the search result based on entity type to show only schema subject names that include `stock`.

![image](images/dg-catalog-filter-by-schema-subject.png)

This example filters on schema subjects, records, and fields in the demos environment that are tagged with `my_stocks`.

![image](images/dg-catalog-filter-multiple.png)

You can change the search on this detailed list view to perform an advanced search using filters.

For example, if you worked through the steps in the Quick Start to [create a schema](../get-started/schema-registry.md#ccloud-sr-create-schema-cli)
for the `employees` topic, search for `employees` in schemas. (Make sure you clear any other filters like tags
that may not match the employees schema.)

![image](images/dg-global-search-schemas-filtered-list-new.png)

Searching on **stocks** across environments shows the following hits for topics.

![image](images/dg-topic-metadata-search.png)

<a id="data-discovery-tagging"></a>

## Tag entities, data, and schemas

Stream Catalog features enables entity tagging. Tags are searchable like any other entity.

### What is it?

A fundamental aspect of governance is the ability to organize data based on a
shared vocabulary, including multiple concepts and categories. Confluent Cloud now
provides the option to create and apply tags to schemas and fine-grained
entities like data records and fields. On this version of Confluent Cloud, you can:

- Create instances of provided tags (Public, Private, Sensitive, PII) and custom (“free form”) tags
- Associate tags with schema versions, records, and fields
- Apply multiple tags to a single field, record, or schema version

### How to use it

You can create and work with tags through either the Cloud Console, as described below, or
through the Confluent Cloud REST API, as described in [Tags API examples](stream-catalog-rest-apis.md#dg-tags-api-examples).

#### IMPORTANT
- Tag definitions with attributes created with the [Confluent Cloud CATALOG API (V1)](https://docs.confluent.io/cloud/current/ccloud/entity-v-1/)
  are currently not accessible through the Confluent Cloud Console for search, update, and more.
  Tags with attributes created through the API must be managed through the API, as described in [Stream Catalog REST API Usage and Examples on Confluent Cloud](stream-catalog-rest-apis.md#stream-catalog-rest-apis).
  Tags created without attributes through the API will show in the console.
- A maximum of 1000 tag definitions (`TagDef`) is allowed per environment.

### How tags work with schema versioning

When you apply tags to schemas, you always apply them to a particular version of a schema.
As you modify schemas, they evolve to newer versions. Tags that you  applied
to previous versions of a schema are automatically propagated to new versions.

For example, if you applied the tag `my_stocks` starting with version 2 of a
schema, that tag would propagate to versions 3, 4, and so on, but version 1,
which never had the `my_stocks` applied, would not be tagged, unless you went
back and explicitly added it to version 1.

<a id="sr-tags-inline-external"></a>

### Inline and External tags

Stream Catalog and Schema Registry make use of both inline and external tags.

- Inline tags are embedded directly in a schema.
- External tags are specified external to a schema.

Only inline tags show up as the tags of a field in the Cloud Console.
External tags do not display in the console.

So, for example, if you are using the [Maven plugin](/cloud/current/sr/develop/maven-plugin.html) to
register a schema with tags included, the specified tags must be:

- Already specified in the catalog, either on the Confluent Cloud Console as [described below](#data-discovery-tag-create)
  or through the [Stream Catalog REST API](stream-catalog-rest-apis.md#catalog-api-create-tags)
- Embedded directly in the schema, also either through the Cloud Console or the [Stream Catalog REST API](stream-catalog-rest-apis.md#stream-catalog-rest-apis).

Embedded tags look like this, within a schema definition:

```bash
"confluent:tags": [ "PII", "PRIVATE" ]
```

To learn more about inline and external tags, see [the section on Tags in Data Contracts](/cloud/current/sr/fundamentals/data-contracts.html).

<a id="data-discovery-view-available-tags"></a>

### View available tags

To find tags that are already available in an environment, do one of the following:

- Select an environment, click **Catalog management** on the left menu, then click **Tags**.
  ![image](images/dg-tags-view-manage.png)
- Navigate to a topic or schema and click under the **Add tags …** label on the right panel to get a drop-down list of tags available to add to the selected entity.
  ![image](images/dg-tags-available-on-topic.png)

<a id="data-discovery-tag-create"></a>

### Create tags

To create a tag:

1. Select an environment and click **Add tags to this cluster** on the right panel.
2. Click **Create tag**.
   ![image](images/dg-tags-name-rules.png)

   When the name and description is properly filled in, the **Create** button is active.
   Click **Create** to create the tag with the current name and description.
3. View available tags.

   After a tag is created, it shows in the list under **Tags**. (To find this list, navigate to the left menu item **Catalog management**, and click the **Tags** tab.)
   ![image](images/dg-tags-management-list.png)

<a id="catalog-apply-tags"></a>

### Apply tags

Tags can be applied to any catalog-supported entity type. In the current release, you can tag schemas, data records, data fields, topics, and connectors.

#### Example: Apply a tag to a schema record or field

To apply a tag:

1. Navigate to the entity for which you want to apply the tag.

   Using schemas as an example, there are a few different ways to do this:
   - From the **Search** bar, start typing the name of a schema, record, field, or topic
     where you want to apply a tag or business metadata.
   - From the same environment level view click
     **Schema Registry** on the left menu, then click **Data contracts** tab, and select a schema subject from the list.
2. On the **Data contracts** tab for a topic, add tags as follows.
   - Click **Evolve**.
   - Click the  [tree view](../sr/schemas-manage.md#cloud-schemas-tree-and-code-view) button.
   - To add tags to a selected record or field, expand the tree view of the schema, click the plus icon ![image_reference](images/dg-tags-plus-icon.png) next to the entity,
     and select a tag from the drop-down list of available tags. You can add multiple tags to multiple elements of the schema. (You can also
     delete tags.)

   ![image](images/dg-tags-data-field.png)
   - Click **Save**.

   A new schema version is created, which incorporates your current tag updates.
3. View applied tags.

   Applied tags show next to the schema version, records, and fields with which they are associated.
   ![image](images/dg-tags-data-batch-display.png)

<a id="data-discovery-topics-tagging"></a>

#### Example: Apply a tag to a topic

To apply a tag to a topic:

1. Navigate to a topic for which you want to apply a tag.
2. On the tab for the topic, click **Add tags to this topic** in the right panel, and select a tag. (The Tags option is available in the right panel on any tab except the **Messages** tab for the topic.)
   ![image](images/dg-tags-topic.png)
3. View applied tags.

   Applied tags show next to the topic with which they are associated.
   ![image](images/dg-tags-topic-added.png)

### Remove a tag from an entity

To remove a previously applied tag from a schema record or field:

1. Navigate to the schema that includes the tag.
2. Click **Evolve**.
3. Switch to the tree view.
4. Click the delete icon (**x**) on the applied tag(s).
5. Click **Save**.

A new schema version is created, which incorporates the tag updates (in this case, deleted tags).

To remove a tag from a topic:

1. Navigate to a topic.
2. Click the tabs to go to any card except **Messages**. (For example, click **Monitor** on a topic.) Applied tags are shown on the right panel.
3. Click the delete icon (**x**) next to the tags you want to remove from the topic.

### Edit a tag

To edit a tag description:

1. Select an environment and click **Catalog management** on the left menu.
2. Select **Tags** from the **Overview** tab, or click the **Tags** tab.
3. In the **Catalog management** list, select **Edit** from the 3 dots menu next to the the tag you want to edit.
   ![image](images/dg-catalog-tags-edit.png)
4. Edit as desired, and click **Save**.

### Delete a tag

If you want to delete a tag, first make sure that the tag is not currently
applied to any entities. If the tag is in use, the delete operation will not be available.

To delete a tag from an environment:

1. Select an environment and click **Catalog management** on the left menu.
2. Select **Tags** from the **Overview** tab, or click the **Tags** tab.
3. In the **Catalog management** list, select **Delete** from the 3 dots menu next to the the tag you want to remove.
   ![image](images/dg-catalog-tags-edit.png)
   - If the tag is in use (applied to one or more entities), no Delete option will be available for the tag.
   - If the tag is not in use, you will be asked to confirm the name of the tag to continue with the operation. Click **Continue** to delete the tag.

<a id="catalog-search-tags"></a>

### Search for entities with a given tag

As shown in [Search entities and tags](#data-discovery-search), tags are discoverable through the global search.

This means that you can search for a tag name (or part of the tag name), and the
search will return all entities that have that tag applied. From there, you can
drill down into the resource as with any other search. These searches can be performed at the environment level or cluster level.

For example, searching on `stocks` returns `stocks_buy`, `stocks_sell`, and  `my_stocks` tags  results.

![image](images/dg-global-search-tags-my_stocks.png)

Click one of these, to get a list of all entities tagged accordingly.

For example, click  `my_stocks` under **Tag** in the results to get a list of all entities tagged with `my_stocks`.

![image](images/dg-global-search-tags-list-my_stocks.png)

Click an entity to drill down. For example, click `StockTrade` to drill down into the schema that has a field tagged with `my_stocks`

![image](images/dg-global-search-tags-drilldown-my_stocks.png)

<a id="data-discovery-business-metadata"></a>

## Business metadata

### What is it?

Business metadata is a collection of attributes in the form of key-value pairs
that provide more contextual information to entities across the platform. Suppose
you want to document or find out:

- Which team is responsible for a particular schema?
- Which product domain does a schema belong to?
- What is the GitHub location for a schema?

These are all examples of how owners can use metadata to provide context around
data, and that users can discover to augment their understanding of entities.
You can assign business metadata to a schema.

For example, you can create a collection named `Domain` that includes the
attributes `Name`, `Team_owner` and `Slack_contact`. Once users assign a
business metadata collection to an entity like a topic, they can input the
attributes values tailored to that specific entity.

![Screenshot of Business Metadata on Cloud Console for features page](images/dg-biz-metadata-displayed.png)

Each customer will have their own business metadata concepts. Here are some
examples of ideas for business metadata:

| Collection   | Attributes                                       |
|--------------|--------------------------------------------------|
| Team         | - name<br/>- person_of_contact<br/>- cost_center |
| Domain       | - name<br/>- team<br/>- boundary                 |
| Owner        | - name<br/>- phone<br/>- email                   |
| Data_product | - name<br/>- tier<br/>- owner                    |
| github       | - url<br/>- repo                                 |

#### NOTE
Business metadata is not supported for Unified Stream Manager entity types.

### How is business metadata different from tags?

A tag (described in [Tag entities, data, and schemas](#data-discovery-tagging)) is a word or acronym you can
associate with an entity to provide additional context in terms of meaning,
classification, and organization. For example, you can create a tag named
`PII`, `Sensitive`, or `Public`, and assign it to a topic or a schema.

Tags help to build a shared vocabulary, support data discovery and compliance,
and are a great way to enrich entities with user-generated metadata.

However, tags are less flexible metadata entity types than business metadata
because when you attach a tag to an entity (like a topic or schema), you cannot add
extra information at attach time. With tags, a user can mark a topic as `PII`,  but
with business metadata they can express more metadata information, such as this topic
has `owner=david`.

That said, one does not replace the other: business metadata is mainly used for
defining extra information for entities, while tags are used for organizing and
classifying entities. In general, although tags and business metadata are
closely related, they are different concepts and are created and used in a
different way.

### Why is it important?

Business metadata allows entities on the platform to be more self-descriptive and
helps data consumers understand what those entities mean and are used for.

### How business metadata works with schema versioning

When you apply business metadata, you always apply it to a particular version of
a schema. As you modify schemas, they evolve to newer versions. Business
metadata that you  applied to previous versions of a schema is automatically
propagated to new versions.

For example, if you applied a location label and attributes starting with
version 2 of a schema, that location metadata would propagate to versions 3, 4,
and so on, but version 1, which never had that label applied, would not have any
metadata unless you went back and explicitly added it to version 1.

### Examples

To learn more about using business metadata in context of a real-world use case,
check out the [Stream Governance use case demo](index.md#dg-end-to-end-demo) in the Stream Governance overview. You can
tune in at about 6:00 minutes into the video for a cursory overview of the application
being presented, followed by a discussion of how to add business metadata to the schemas.

### How to use it

You can create and apply business metadata through the Cloud Console as described in the sections below
or through the Confluent Cloud REST API, as described in [Business metadata API examples](stream-catalog-rest-apis.md#dg-business-metadata-api-examples).

<a id="catalog-create-biz-metadata"></a>

### Create business metadata and add attributes

To create business metadata:

1. Select an environment, click **Catalog management** on the left menu, then click the **Business metadata tab**.
2. Click **Add business metadata**.
   ![image](images/dg-biz-metadata.png)
3. If this is the first time you’ve created business metadata on this cluster, click **Yes, create now**.

   Otherwise, you are taken immediately to the Create dialog.

   On already created metadata, there is also an option to add new attributes to the currently selected label.
   To do so, click **Create attribute**.
4. Fill in values for the metadata label name, description, and attributes, then click **Create**.

   Like tags, naming rules for business metadata labels and attributes require that these names start
   with a letter and are followed by alphanumeric or `_` characters
   ![image](images/dg-biz-metadata-create.png)

   The metadata you created is listed, with its label name, under the **Catalog management** > **Business metadata** tab..
   ![image](images/dg-biz-metadata-displayed.png)

To add more business metadata, repeat this process (click **Add business metadata**, fill in the details, and click **Create**.)

### View available business metadata

To view all available business metadata:

Select an environment, click **Catalog management** on the left menu, then click the **Business metadata tab**.

![image](images/dg-biz-metadata-all-available.png)

<a id="catalog-apply-business-metadata"></a>

### Apply business metadata to an entity

Business metadata can be applied to any catalog-supported entity types, including schemas, data fields, data records, topics, and connectors.

#### Example: Apply business metadata to a schema

This example shows how to apply business metadata to a schema subject.

To apply business metadata to a schema:

1. Navigate to a schema subject for which you want to apply business metadata.

   There are a few of different ways to do this:
   - From the Search bar, start typing the name of a schema where you want to apply a tag or business metadata.
   - From the same environment level view, click **Schema Registry** on the left menu, then click **Data contracts** tab, and select the schema subject.
2. If needed, select the specific schema version to which you want to apply the business metadata.

   The schema version is shown on the top left. By default, the latest (current) version is selected.
3. Select **Add business metadata** on the right panel.
   ![image](images/dg-biz-metadata-add-from-schema-overview.png)
4. On **Add business metadata** dialog, select the data and attributes to associate with the currently displayed schema version.
   Note that:
   - On this dialog, you have the option to apply multiple labels (business metadata) to this same schema version
     by clicking **+ Add business metadata** at the bottom of the dialog.
   - You cannot create new business metadata from this dialog; only add already existing labels and attributes.
     If you want to create new labels and attributes, you must do so from the
     [View & manage business metadata](#catalog-create-biz-metadata) screen.

   When you have added all of the business metadata labels and attributes desired, click **Continue** to apply them to selected schema version.
   ![image](images/dg-biz-metadata-add-to-schema.png)

   The business metadata you applied to this schema version is displayed on right panel.
   ![image](images/dg-biz-metadata-applied.png)

<a id="data-discovery-topics-metadata"></a>

#### Example: Apply business metadata to a topic

Here is another example, showing how to apply business metadata to a topic.

1. Navigate to the topic to which you want to apply the metadata.

   For example, go to <Environment> -> <Cluster> -> **Topics** on left menu, to list topics, then click the topic you want.
2. On any of the tabs for the topic except **Messages**, click **Add business metadata** on the right panel.
   ![image](images/dg-topic-metadata-add.png)
3. On **Add business metadata** dialog, select the data and attributes to associate with the currently displayed topic.
   Note that:
   - On this dialog, you have the option to apply multiple labels (business metadata) to this same topic
     by clicking **+ Add business metadata** at the bottom of the dialog.
   - You cannot create new business metadata from this dialog; only add already existing labels and attributes.
     If you want to create new labels and attributes, you must do so from the
     [View & manage business metadata](#catalog-create-biz-metadata) screen.

   When you have added all of the business metadata labels and attributes desired, click **Continue** to apply them to the topic.
   ![image](images/dg-topic-metadata-select.png)

   The business metadata you applied to the topic is now associated, as shown on the right panel on the **Business Metadata** tab for the topic.
   ![image](images/dg-topic-metadata-applied.png)

### Edit a business metadata

To edit a existing metadata:

1. Navigate to the Environment.
2. Click **Catalog management** on the left menu.
3. Click **Business metadata** on the **Overview** tab, or click the **Business metadata** tab.
4. Select the label you want to edit from the list.
5. Edit the description and/or add attributes.
6. Click **Save** for each option.

You cannot delete attributes from an existing metadata definition/labels;
only add them. Your other option for reconstructing a business metadata definition
is to remove it from any entities to which it is applied, delete the definition/label,
and create a new one, adding only the attributes you want it to include.

### Delete business metadata

If you want to delete a metadata group, first make sure that the label is not currently
applied to any entities. If the label is in use, the delete operation will fail.

To delete a metadata group from an environment:

1. Navigate to the Environment.
2. Click **Catalog management** on the left menu.
3. Click **Business metadata** on the **Overview** tab, or click the **Business metadata** tab.
4. Select the group label you want to delete from the list.
5. Click the trash can icon associated with the metadata group you want to delete.
   - If the label is in use (applied to one or more entities), you will get a warning
     and the label will not be deleted.
   - If the label is not in use, it is deleted.

### Search for labels

If you have a long list of business metadata labels, you might want to search for label names in the
Search bar above the list. The predictive search shows matching labels as you type.

<a id="size-limits-for-tags-and-metadata"></a>

### Size limits for tags and metadata

The following limits apply to tag definitions, tags, and business metadata. Although these limits are being publicized
for the first time in January 2026, Confluent has verified that these limits are not exceeded by any previous customer deployments,
therefore no action is needed for resources created prior to January 2026.

If you have resources that exceed these limits, the Cloud Console, Confluent CLI, or API will display a warning message indicating that the given resource exceeds the limit, and the resource will not be created.

#### Tag definitions (TagDef)

| Parameter                         | Limit                  |
|-----------------------------------|------------------------|
| Tag definition name length        | Up to 1,024 characters |
| Tag definition description length | Up to 600 characters   |

#### Tags on a resource

| Parameter                 | Limit                                   |
|---------------------------|-----------------------------------------|
| Maximum tags per resource | Up to 100 tags                          |
| Total tag size limit      | Up to 12,000 characters across all tags |

#### Business metadata

| Parameter                                   | Limit                                                |
|---------------------------------------------|------------------------------------------------------|
| Business metadata definition name length    | Up to 500 characters                                 |
| Business metadata attribute key length      | Up to 500 characters                                 |
| Business metadata attribute value length    | Up to 4,500 characters                               |
| Attributes per business metadata definition | Up to 20 attributes                                  |
| Business metadata instances per resource    | Up to 20 instances                                   |
| Total business metadata size per resource   | Up to 20,000 characters across all business metadata |

#### User-defined metadata

| Parameter         | Limit                          |
|-------------------|--------------------------------|
| Description field | Up to 2,000 characters         |
| Owner field       | Up to 128 characters           |
| carbonCopyEmails  | Up to 10 valid email addresses |

<a id="stream-catalog-rbac"></a>

## Access control (RBAC) for Stream Catalog

[Role-Based Access Control (RBAC)](../security/access-control/rbac/overview.md#cloud-rbac) enables administrators to set
up and manage user access to Schema Registry subjects and topics. This allows for multiple
users to collaborate on with different access levels to various resources.

The following table shows how RBAC roles map to Stream Catalog resources.
For details on how to manage RBAC for these resources, see [List the role bindings for a principal](../security/access-control/rbac/manage-role-bindings.md#manage-rbac-using-console), [Predefined RBAC Roles in Confluent Cloud](../security/access-control/rbac/predefined-rbac-roles.md#cloud-rbac-roles), and [List the role bindings for a principal](../security/access-control/rbac/manage-role-bindings.md#cloud-rbac-cli).

| Role                                                                                                 | Scope                     | Tags & business metadata: DEFINE, MANAGE   | Tags & business metadata: APPLY, REMOVE   | Tags & business metadata: READ   | Catalog search APIs (READ)   | Catalog global search in Cloud Console (READ)   | [Data portal](data-portal.md#stream-gov-data-portal)   |
|------------------------------------------------------------------------------------------------------|---------------------------|--------------------------------------------|-------------------------------------------|----------------------------------|------------------------------|-------------------------------------------------|--------------------------------------------------------|
| [CloudClusterAdmin](../security/access-control/rbac/predefined-rbac-roles.md#cloudclusteradmin-role) | Cluster                   |                                            |                                           |                                  |                              |                                                 |                                                        |
| [ResourceOwner](../security/access-control/rbac/predefined-rbac-roles.md#resourceowner-role)         | Resource                  |                                            | ✔                                         | ✔                                |                              |                                                 |                                                        |
| [DeveloperManage](../security/access-control/rbac/predefined-rbac-roles.md#developermanage-role)     | Resource                  |                                            | ✔                                         | ✔                                |                              |                                                 |                                                        |
| [DeveloperWrite](../security/access-control/rbac/predefined-rbac-roles.md#developerwrite-role)       | Resource                  |                                            |                                           | ✔                                |                              |                                                 |                                                        |
| [DeveloperRead](../security/access-control/rbac/predefined-rbac-roles.md#developerread-role)         | Resource                  |                                            |                                           | ✔                                |                              |                                                 |                                                        |
| [OrganizationAdmin](../security/access-control/rbac/predefined-rbac-roles.md#organizationadmin-role) | Organization              | All                                        | ✔                                         | ✔                                | ✔                            | ✔                                               | ✔                                                      |
| [EnvironmentAdmin](../security/access-control/rbac/predefined-rbac-roles.md#environmentadmin-role)   | Environment               | ✔                                          | ✔                                         | ✔                                | ✔                            | ✔                                               | ✔                                                      |
| [DataDiscovery](../security/access-control/rbac/predefined-rbac-roles.md#datadiscovery-role)         | Organization, Environment |                                            |                                           | ✔                                | ✔                            | ✔                                               | ✔                                                      |
| [DataSteward](../security/access-control/rbac/predefined-rbac-roles.md#datasteward-role)             | Environment               | ✔                                          | ✔                                         | ✔                                | ✔                            | ✔                                               | ✔                                                      |
| [Operator](../security/access-control/rbac/predefined-rbac-roles.md#operator-role)                   | Organization, Environment |                                            |                                           | ✔                                | ✔                            | ✔                                               |                                                        |

Table Legend:

- ✔  = Yes
- Blank space = No
- Catalog search APIs are documented here in the Confluent Cloud API reference: [Search by Attribute](https://docs.confluent.io/cloud/current/ccloud/search-using-attribute/),
  [Search by Fulltext Query](https://docs.confluent.io/cloud/current/ccloud/search-using-basic/), and the [Catalog REST API examples guide under Searching](stream-catalog-rest-apis.md#dg-catalog-search-and-list).
- Catalog global search from the Cloud Console is described in this user guide under [Global search](#catalog-global-search).
- DeveloperManage on Data Contract Subjects cannot modify associated metadata such as tags.
- Operator (Cluster scope) and MetricsViewer (Cluster scope) cannot view or edit topic or schema metadata, including technical metadata (such as creation and modification dates) and user-defined metadata (such as descriptions, tags, and business metadata).
- Resource-level roles—ResourceOwner, CloudClusterAdmin, DeveloperManage, DeveloperWrite, and DeveloperRead cannot access Stream Catalog search APIs, GraphQL, Global Search, or Data Portal.

## Related content

- [Stream Catalog REST API Usage and Examples on Confluent Cloud](stream-catalog-rest-apis.md#stream-catalog-rest-apis)
- [CATALOG API (V1)](https://docs.confluent.io/cloud/current/ccloud/entity-v-1/)
- [Stream Catalog GraphQL API Usage and Examples on Confluent Cloud](graphql.md#catalog-graphql)
- [Quick Start for Schema Management on Confluent Cloud](../get-started/schema-registry.md#cloud-sr-config)
- [Manage Schemas and Data Contracts in Confluent Cloud](../sr/schemas-manage.md#sr-prv)
- [Stream Governance on Confluent Cloud](index.md#cloud-dg)
