Customer access attributes and custom user attributes overview
Tag conversations with customer access attributes and define user entitlements with custom user attributes. Attribute-based access control (ABAC) policies compare the two to decide who can access conversation data.
Customer access attributes
A customer access attribute is a field on a conversation that identifies a customer-defined access segment, such as a legal entity or client category. A conversation can have more than one customer access attribute. Each attribute represents a separate access control dimension, for example LegalEntity and ClientCategory.
- Each customer access attribute has a single value.
- The value is a text string. The default maximum length is 36 characters, and the absolute limit is 100 characters.
- Customer access attributes are saved as conversation-level metadata. They are available to ABAC policy evaluation, search restriction, and API enforcement.
- To add, edit, or remove customer access attribute values on a conversation, you need the Conversation > Access Attributes – Edit permission.
- To view the values, you need the Conversation > Access Attributes – View permission.
Conversations without a customer access attribute
If a conversation has no customer access attribute, existing role-based and division-based permissions continue to apply. Any ABAC policy that applies to the requested resource is also evaluated. Policies can explicitly allow or deny access when a customer access attribute value is null or empty.
Conversations that existed before you started using customer access attributes are treated as having empty values. If you want those conversations to remain accessible after you create a policy, write the policy to allow empty values.
Reporting and analytics
For native Genesys Cloud reporting, analytics, and search experiences, customer access attribute values support the access control and search restriction behavior. Because the values are part of the conversation metadata, other services that process conversation data might make them available. Whether those services filter or enforce access using the values depends on how each service is implemented.
Custom user attributes
A custom user attribute is a field that you define on user profiles to record a user’s entitlements. For example, a LegalEntity attribute might list the legal entities a user is allowed to work with.
To create custom user attributes and assign values to users through the API, performing the following steps:
- Create custom attributes for user profiles by using the create schema API.
- Assign specific values to users by using the assign custom attribute API.
- Use the attributes in ABAC policies for supported policy targets. The policy compares the user’s values with the conversation’s customer access attributes to allow or deny access.
To define and assign custom user attributes to users, you must have the following permissions:
- Users > Custom Attributes Schema – Add
- Users > Custom Attributes Schema – Edit
- Users > Custom Attributes Schema – Delete
- Users > Custom Attributes Schema – View
- Directory > User – Edit
Administrators can manage only the users and configurations within their authorized scope.
If you save an ABAC policy that references a custom user attribute that is not defined or is specified incorrectly, Genesys Cloud returns an error that describes the problem.
How policies compare the two
An ABAC policy compares a user’s custom user attribute values with a conversation’s customer access attribute values. The following examples are illustrative.
| Policy condition | User’s attribute values | Conversation’s Customer Access Attribute | Result |
|---|---|---|---|
| The user’s values contain at least one value that matches the conversation | SwissBanking, GermanWealth | GermanWealth | Allow |
| The user’s values contain at least one value that matches the conversation | SwissBanking, GermanWealth | SwissRetail | No match, so this policy does not allow access |
| Legal entity matches and client category matches | LegalEntity = 001, ClientCategory = Wealth | LegalEntity = 001, ClientCategory = Wealth | Allow |
| Legal entity matches and client category matches | LegalEntity = 001, ClientCategory = Wealth | LegalEntity = 001, ClientCategory = Retail | The client category does not match, so this policy does not allow access |
Non-user clients
[NEXT] Was this article helpful?
Get user feedback about articles.