AW Roles & Attributes
Keycloak custom Roles & Attributes ..
Keycloak Custom Roles
In this hands-on workshop, you'll learn how to create custom roles and attributes in Keycloak that establish the identity federation layer supporting PDC's data governance framework. We'll walk through designing Adventure Works - specific roles with detailed compliance attributes that create the foundation for audit trails, regulatory compliance, and business-aligned data access controls meeting GDPR, CCPA, and SOX requirements.
By the end of this workshop, you will be able to:
Create custom business-specific roles in Keycloak for enterprise data governance
Design comprehensive role attributes that support regulatory compliance requirements
Implement audit-ready role structures for GDPR, CCPA, LGPD, and SOX compliance
Configure role-based access controls that align with business functions and data domains
Establish retention policies and access levels through role attributes
Build the identity foundation that integrates with PDC's data governance capabilities
Create scalable role architectures for complex organizational compliance needs
Workshop Role Structure: You'll create and configure roles including:
aw-system-administratorwith full governance oversight and permanent retentionaw-datasource-administratorwith full data source accessaw-data-stewardwith cross-domain quality oversight and 7-year retentionaw-sales-managerwith sales analytics access and customer relationship complianceaw-hr-managerwith employee data access and employment law compliance
This workshop establishes the critical "WHO" component with detailed attributes that enable PDC to make sophisticated "WHAT" decisions about data access based on compliance scope, business function, and audit requirements.

Log into Keycloak:
Username: admin
Password: admin
Ensure you select the Pentaho Data Catalog Realm.
Select: Realm Roles:
Enter the following:
Role name: aw-system-administrator
Description: Adventure Works enterprise data governance with full technical compliance oversight.

Click Save.
Click on Attributes.
The attributes are not 'leveraged' in this implementation. The AW Roles are going to be 'mapped'

Add the following attributes:
aw-system-administrator
business_function
system_administrator
compliance_scope
techical_custodian
data_access_level
all_permissions
emergency_access
enabled
data_domains
all_adventureworks

Click: Save
Repeat to create the roles and add the attributes:
AW Sales Analyst
A Sales Analyst leverages the AdventureWorks2022 database to extract, analyze, and interpret sales performance data to drive business insights and strategic decision-making. This role involves querying and analyzing data from the Sales schema, including customer transactions, order details, sales territories, and product performance metrics to identify trends, forecast revenue, and evaluate sales effectiveness.
The Sales Analyst creates reports and dashboards that track key performance indicators such as sales growth, customer acquisition, product profitability, and regional performance, while collaborating with sales leadership to translate data findings into actionable recommendations. They also conduct comparative analyses across time periods and territories, investigate anomalies in sales patterns, and support pricing and promotional strategies by analyzing historical data and market trends within the AdventureWorks catalog.
Click: Create role
Enter: Role name: aw-sales-analyst
Description: Adventure Works sales data analysis and customer insights.
business_function
sales_analytics
compliance_scope
gdpr_legitimate_interest,ccpa_business_purpose
data_access_level
sales_domain_only
audit_category
business_analytics
retention_policy
7_years_customer_relationship
data_domains
sales,customer,product_catalog

Role Attribute Suggestions:
So what's missing?
HR_Managers
Sales_Managers
You should assign appropriate roles to HR_Managers and Sales_Managers groups to complete your role structure.
aw-sales-manager (new role):
{
"compliance_scope": ["gdpr_legitimate_interest", "ccpa_business_purpose"],
"data_domains": ["sales", "customer", "product_catalog", "revenue_analytics"],
"data_access_level": ["sales_management_oversight"],
"retention_policy": ["7_years_customer_relationship"],
"business_function": ["sales_management"],
"audit_category": ["management_analytics"],
"special_permissions": ["team_performance", "revenue_forecasting"]
}aw-hr-manager (new role):
{
"compliance_scope": ["gdpr_employment_data", "employment_law"],
"data_domains": ["human_resources", "employee_personal_data", "performance_data"],
"data_access_level": ["hr_management_oversight"],
"retention_policy": ["30_years_employment_law"],
"business_function": ["human_resources_management"],
"audit_category": ["employee_management"],
"special_permissions": ["performance_reviews", "compensation_management"]
}Last updated
Was this helpful?
