> For the complete documentation index, see [llms.txt](https://knowledgebase.fabricdata.com/fabric-knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knowledgebase.fabricdata.com/fabric-knowledge-base/learn-the-application/destinations/preferences/catalogs/understanding-catalog-assignment-and-security-features.md).

# Understanding Catalog Assignment and Security Features

## Overview

In Fabric, the Catalog Assignment feature is a critical component of our security and data access management. It ensures that users can only interact with records that are relevant and authorized for their specific role. This guide explains how catalogs are assigned to user profiles and how they control access to records within the application.

***

## :busts\_in\_silhouette:Catalog Assignment to User Profiles

1. **Definition of Catalogs:** A catalog is a collection or category that is assigned to both user role policies and records within the application. It acts as a key to access control.
2. **User-Catalog Association:** Each user role policy can be assigned one or more catalogs. These assignments dictate the records that the user can view or edit.
3. **Security Implications:** A user can only interact with records where there is at least one catalog match between the record and the catalogs assigned to their profile.

***

## :clipboard:Record-Catalog Association and Default Behavior

1. **Catalog Assignment to Records:** When a record is created or modified, it can be assigned specific catalogs. This assignment is crucial in determining who can access the record.
2. **Default Behavior for Record Creation:**
   * If a record is created without any catalog specified (ie. the "catalogs" key is not present), the system automatically applies all the catalogs assigned to the creating user's profile to this record.
     * This ensures that the record is accessible to the creator and any other users sharing at least one of the same catalogs.
3. **Implications of Default Behavior:**
   * The default assignment aids in preventing records from being unassigned and inaccessible.
   * It maintains a baseline level of access control, aligning with the user’s existing permissions.

{% hint style="warning" %}
To hide records from all users in the UI, you can remove catalogs via the API by sending an empty array in the Catalogs field (`"catalogs": []`).
{% endhint %}

***

## :thumbsup:Best Practices for Catalog Management

1. **Consistent Catalog Assignment:** Ensure consistency in catalog assignment to both users and records for streamlined access control.
2. **Review and Update Catalog Assignments:** Regularly review and update catalog assignments to user profiles to reflect changes in roles or responsibilities.
3. **Awareness of Default Behavior:** Be aware of the default behavior in record creation to understand access implications.

***

## :unlock:Permissions

{% hint style="info" %}
For a user to utilize the "Catalogs" feature effectively, the user role must have the Catalog permission added to a Policy.&#x20;
{% endhint %}

This permission ensures that the user has the requisite rights to associate records with specific catalogs.

**Steps to Verify Permission:**

For example, if you wish to enable a user role to associate records to a catalog called `core-catalog` you should:

1. Navigate to User Role Management>Policies.
2. Select the Policy that applies to your desired User Role.
3. Under the "Catalog Access" tab, ensure that `core-catalog` is listed.
4. If not, select `core-catalog` from the list.

<figure><img src="https://1453363788-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPS7xvtVOuEwjKjl1m1Xs%2Fuploads%2Fu0iDZ0uvDssYB9efAppg%2FScreenshot%202023-10-31%20at%2018.47.33.png?alt=media&amp;token=5d1bedcf-992b-4378-bf87-d1de04adbfd7" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
For more information on permissions, visit our documentation on [Role Management](/fabric-knowledge-base/learn-the-application/destinations/role-management.md) and [Users](/fabric-knowledge-base/learn-the-application/destinations/preferences/users.md).
{% endhint %}

***

### Conclusion

Catalog assignment is a fundamental feature of Fabric, designed to enhance security and data access management. By understanding how catalogs are assigned and how they control access, users can efficiently manage their data within the application.

For any further assistance or clarification, please contact our support team.

***

Learn how to manage and assign records to catalogs in this tutorial:

{% content-ref url="/pages/xyAnXtuEHtCxrRULoOj5" %}
[Managing Catalogs](/fabric-knowledge-base/learn-the-application/destinations/preferences/catalogs/managing-catalogs.md)
{% endcontent-ref %}

***

<details>

<summary>Related Articles</summary>

* [Record Properties](/fabric-knowledge-base/learn-the-application/discovery-record-tabs/record-properties.md)
* [Managing Catalogs](/fabric-knowledge-base/learn-the-application/destinations/preferences/catalogs/managing-catalogs.md)
* [User Policies](/fabric-knowledge-base/learn-the-application/destinations/role-management/user-policies.md)

</details>

> We hope you found this article helpful.&#x20;
>
> If you have a technical problem that this article does not address, go to [<mark style="color:blue;">service desk</mark>](/fabric-knowledge-base/support/service-desk.md)<mark style="color:blue;">.</mark>
>
> Help us improve the Fabric Knowledge Base by giving feedback here: [FKB Feedback Form](/fabric-knowledge-base/feedback/fkb-feedback-form.md)
