Security in Pega applications ensures data and system integrity, protecting against unauthorized access, breaches, and misuse. It comprises authentication (verifying users), authorization (controlling access), data security, and audit and compliance measures.
Authentication verifies a user's identity to allow secure access to Pega applications. Pega supports multiple authentication methods to accommodate enterprise requirements and industry standards.
LDAP (Lightweight Directory Access Protocol) is a protocol used to authenticate users against a centralized directory service, such as Microsoft Active Directory or OpenLDAP.
Scenario: A company uses Active Directory for centralized user management.
Steps:
Create an Authentication Service:
Configure LDAP Server Details:
ldap.company.com:389).dc=company,dc=com.Map User Attributes:
sAMAccountName) to Pega properties like Operator ID.Test the Configuration:
Assign Access Groups:
SAML (Security Assertion Markup Language) Single Sign-On enables users to authenticate once using an identity provider (IdP), such as Okta, Azure AD, or Google, and access multiple systems (including Pega) without re-entering credentials.
Scenario: A company uses Okta as the Identity Provider (IdP).
Flow:
Create a SAML Authentication Service:
Configure Identity Provider Details:
Map User Attributes:
email, role) to Pega properties like Operator ID and Access Group.Test SSO Login:
OAuth 2.0 is an industry-standard protocol for API authentication. It allows secure access to APIs by using access tokens rather than user credentials.
Scenario: A third-party application wants to access a Pega REST API.
Flow:
The client application sends a request to the OAuth server to obtain an access token.
The OAuth server validates the request and issues a token.
The token is included in the API call to Pega:
GET /api/v1/cases
Authorization: Bearer <AccessToken>
Pega validates the token and processes the API request.
Set Up OAuth Authentication:
Register a Client Application:
Configure Token Validation:
Secure APIs:
MFA adds an extra layer of security to user authentication by requiring two or more verification factors. This ensures that even if one factor (e.g., password) is compromised, unauthorized access is prevented.
| Authentication Method | Purpose | Use Case |
|---|---|---|
| LDAP Authentication | Verify users with a directory service. | Authenticate corporate users via LDAP. |
| SAML SSO | Enable single sign-on for applications. | Users log in once to access multiple systems. |
| OAuth 2.0 | Secure API authentication with tokens. | Third-party apps access Pega APIs securely. |
| MFA | Add extra verification layers. | High-security applications (e.g., banking). |
Authorization determines the level of access a user has within a Pega application. It ensures that users can only view or interact with the parts of the application that are relevant to their roles and permissions.
An Access Group is a Pega rule that defines the roles, application versions, and portal access for a group of users. It acts as a bridge between users and their permissions.
| Access Group | Roles | Application | Portal |
|---|---|---|---|
| LoanAdminAccessGroup | AdminRole, ManagerRole | LoanApp 01.01.01 | Admin Portal |
| LoanManagerAccessGroup | ManagerRole | LoanApp 01.01.01 | Case Manager Portal |
| LoanUserAccessGroup | UserRole | LoanApp 01.01.01 | User Portal |
An Access Role is a collection of permissions that determines what actions a user can perform within an application. Roles are linked to Access Control rules that define these permissions.
Access Control Lists (ACLs) are rules that specify the level of access (e.g., read, write, delete) a user has to specific classes or rules.
| Access Level | Description |
|---|---|
| Read | View records or data. |
| Write | Modify or create records. |
| Delete | Delete records. |
| Execute | Run activities or specific rules. |
Scenario: A loan system has the following roles:
| Role | Permission |
|---|---|
| LoanAdminRole | Read/Write/Delete access to LoanApplication class. |
| LoanManagerRole | Read/Write access to LoanApplication class. |
| LoanUserRole | Read-only access to LoanApplication class. |
Steps to Configure Access Roles and ACLs:
Access Roles can control access to specific rules (like activities, sections, or data transforms). You can specify whether a role can execute, modify, or view the rule.
A Privilege is a security rule that restricts access to specific functionalities or rules within the application. Privileges are often used to control sensitive actions.
Scenario: Only managers can approve loans greater than $100,000.
Steps to Configure:
ApproveHighValueLoan.ApproveHighValueLoan privilege.ApproveHighValueLoan privilege.| Component | Purpose | Example |
|---|---|---|
| Access Groups | Define user roles, application versions, and portals. | LoanAdminAccessGroup for admin users. |
| Access Roles | Control permissions (read, write, delete) for rules. | LoanUserRole has read-only permissions. |
| Privileges | Restrict access to specific functionalities. | Privilege to approve loans > $100,000. |
Data Security ensures that only authorized users can access, view, or modify sensitive data within a Pega application. It applies to both application data and user-specific data. Data security is implemented at the following levels:
Row-Level Security controls access to specific records (rows) based on the user’s role, attributes, or context. This ensures that users only see or interact with data that they are authorized to access.
Pega uses Access When Rules and Access Control Policies to implement Row-Level Security:
Scenario:
Steps to Implement Row-Level Security:
Create an Access When Rule:
Go to Records → Security → Access When.
Define the condition:
.AssignedTo == pxRequestor.OperatorID
This condition ensures that a record is visible only if it is assigned to the current user.
Create an Access Control Policy:
Test Access:
Field-Level Security controls access to specific fields (properties) within a record. It is useful for masking or hiding sensitive data from unauthorized users.
Field-Level Security is implemented using:
Scenario:
XXX-XX-1234).Steps to Implement Field-Level Security:
Create a Property for SSN:
CustomerSSN.Configure Field Visibility in Section Rules:
Apply Field Masking:
Add custom logic to display only the last 4 digits for non-admin users:
return "XXX-XX-" + .CustomerSSN.substring(7);
Add Access Control Policy:
Encryption protects sensitive data by converting it into an unreadable format. It ensures that data remains secure at rest (stored in databases) and in transit (during communication between systems).
Pega supports database encryption to protect sensitive data fields stored in tables.
Use Pega Platform Data Encryption:
Enable Encryption for Specific Properties:
To ensure data security during communication:
CustomerSSN.| Security Level | Purpose | Implementation |
|---|---|---|
| Row-Level Security | Restrict access to specific records (rows). | Access When Rules, Access Control Policies |
| Field-Level Security | Mask or hide sensitive fields from users. | Field masking, Access Control Policies |
| Encryption | Protect sensitive data at rest and in transit. | Database encryption, HTTPS/TLS |
Audit and compliance mechanisms ensure that user actions and data changes within a Pega application are tracked, monitored, and logged. These mechanisms are critical for maintaining accountability, transparency, and security while adhering to regulatory requirements.
An Audit Trail records and displays a history of user actions, data changes, and case updates. It provides a detailed log of who performed an action, what the action was, and when it occurred.
Scenario: A loan application case is updated multiple times.
Audit Trail Details:
| Date/Time | User | Action | Details |
|---|---|---|---|
| 2024-06-10 10:00 AM | JohnDoe | Created Case | Loan ID: 001, Status: Pending |
| 2024-06-10 11:00 AM | MarySmith | Updated Loan Amount | Changed LoanAmount: $50K → $75K |
| 2024-06-10 12:00 PM | JohnDoe | Changed Case Status | Status: Pending → Approved |
Enable History for Case Types:
Field-Level Audit:
Customize the Audit Trail (Optional):
Logging records detailed information about system events, errors, and security-related activities. Logs help administrators monitor application health, identify security breaches, and troubleshoot issues.
| Log File | Purpose |
|---|---|
PegaRULES.log |
General log for system errors and exceptions. |
PegaSecurity.log |
Logs security-related events. |
PegaAlert.log |
Captures performance and alert information. |
PegaStackTrace.log |
Provides detailed stack traces for errors. |
Access Logs in Admin Studio:
Configure Logging Levels:
Security Event Monitoring:
PegaSecurity.log.Add Custom Log Messages:
Use the Log-Message method in an activity to write custom log entries:
Log-Message "Loan application status updated to Approved by user: " + .OperatorID
Scenario: Track failed login attempts for a user.
Log Entry in PegaSecurity.log:
2024-06-10 12:05:00 [SECURITY] Login failed for user: JohnDoe.
IP Address: 192.168.1.10.
Reason: Invalid password.
PegaSecurity.log for suspicious activities.| Feature | Purpose | Implementation |
|---|---|---|
| Audit Trails | Track user actions, case changes, and field edits. | Enable case history, use field-level tracking. |
| Logging | Record system events, errors, and security breaches. | Use system logs (PegaRULES.log, PegaSecurity.log). |
We have now covered all topics in Security Design:
These security measures ensure that Pega applications are protected against unauthorized access, data breaches, and misuse.
While both SAML and OAuth 2.0 are supported in Pega, they are generally suited for different use cases:
| Protocol | Best Fit | Use Case Example |
|---|---|---|
| SAML SSO | B2B (Enterprise-level) | Employees accessing Pega via Okta or Azure AD |
| OAuth 2.0 | B2C / API Integration | Mobile apps or 3rd-party systems consuming Pega APIs |
Explanation:
SAML is commonly used in enterprise (B2B) environments where centralized Identity Providers (IdPs) manage internal users.
OAuth 2.0 is more flexible and lighter for consumer-grade or system-to-system (B2C/API) authentication, where token-based access is required.
Pega does not natively implement a full-featured MFA experience. Instead, it relies on external Identity Providers (IdPs) such as Okta, Azure AD, or Ping Identity, which enforce MFA as part of their login workflows.
Key Notes:
MFA can be enforced before the user reaches the Pega application.
Pega acts as the Service Provider (SP) in a federated authentication model.
All verification (OTP, biometric) is handled by the IdP.
Pega uses numeric access levels (0 to 5) to define what a role can do within a class. Here's how they work:
| Level | Permission Description |
|---|---|
| 0 | No access |
| 1 | View |
| 2 | Modify (limited) |
| 3 | Create |
| 4 | Modify (full) |
| 5 | Delete / Full Control |
Best Practice:
Only grant level 5 (delete access) when absolutely necessary.
This numeric system is applied in Access of Role to Object (ARO) rules under each Access Role.
In complex enterprise use cases, multiple privileges may be required simultaneously to access sensitive actions or rules.
Example Scenario: To approve a high-value loan over $250,000, a user must:
Have ApproveLoanPrivilege
AND possess FinanceManagerPrivilege
This is configured in the Flow Action or Activity using a condition such as:
@HasPrivilege("ApproveLoanPrivilege") && @HasPrivilege("FinanceManagerPrivilege")
This ensures fine-grained, layered authorization, often required in regulated industries like banking or insurance.
When using the Encrypt checkbox on properties (e.g., SSN, credit card numbers), it’s critical to understand limitations:
Encrypted fields cannot be used in indexes or referenced in report filters, as their stored values are unreadable to SQL.
Encrypted properties should not be exposed in Search or Reporting unless decrypted at runtime in a secure UI layer.
Best Practice:
Use encryption only for PII (Personally Identifiable Information) such as:
CustomerSSN
BankAccountNumber
NationalID
Avoid encrypting high-usage keys like CaseID, Status, or LoanType.
For secure system-to-system integration:
All external systems consuming Pega REST APIs should access endpoints via HTTPS only.
Pega allows enforcement via:
Reverse proxy (e.g., Apache, NGINX)
API Gateway (e.g., Apigee, AWS API Gateway)
Direct server configuration (tomcat.xml or load balancer rules)
Why It Matters:
While Field-Level Tracking provides visibility into specific data changes, it can degrade performance if applied to:
| Field Type | Reason to Avoid Audit Trail |
|---|---|
| Large Text Areas | High storage & query load |
| Frequently Updated Fields | Excessive log volume |
| System-generated fields | No meaningful user activity |
Best Practice:
ApprovalStatus, LoanAmount, or CustomerType.To meet enterprise security and observability standards:
Pega logs (PegaSecurity.log, PegaRULES.log) can be piped into SIEM tools such as:
Splunk
QRadar
Elastic Stack (ELK)
This allows centralized monitoring, anomaly detection, and audit compliance.
Example Use Case: Detect repeated login failures across nodes and raise alerts via SIEM dashboard.
LSA Relevance:
What is the difference between role-based access control (RBAC) and attribute-based access control (ABAC) in Pega?
RBAC grants access based on user roles, while ABAC evaluates dynamic attributes such as user, data, and context.
RBAC is simpler and easier to manage, making it suitable for static access requirements. ABAC provides fine-grained control using conditions, such as location or case properties. A common mistake is overusing RBAC in complex scenarios where ABAC would offer better flexibility. Choosing the right model ensures both security and maintainability.
Demand Score: 87
Exam Relevance Score: 92
How do access groups and roles work together in Pega security design?
Access groups define the application context and available roles, while roles control permissions through access control policies and rule access.
Users are assigned access groups, which determine their roles and application access. Roles then define what actions users can perform. A common mistake is misconfiguring roles within access groups, leading to excessive or insufficient permissions. Proper alignment ensures secure and appropriate access control.
Demand Score: 86
Exam Relevance Score: 91
How should dependent role hierarchies be designed in Pega?
Dependent roles should be structured hierarchically to inherit permissions while minimizing redundancy.
Higher-level roles inherit permissions from lower-level roles, simplifying management. Designers should avoid duplicating permissions across roles. A common mistake is creating flat role structures, which increase maintenance complexity. Proper hierarchy ensures scalability and clarity in access control.
Demand Score: 85
Exam Relevance Score: 89
What are common security risks in Pega applications?
Common risks include improper access control, unsecured APIs, injection vulnerabilities, and inadequate authentication mechanisms.
Weak configurations can expose sensitive data or allow unauthorized actions. A common mistake is neglecting security testing during development. Implementing best practices such as input validation, secure authentication, and proper role configuration mitigates these risks.
Demand Score: 89
Exam Relevance Score: 93
How can security event logging be used effectively in Pega?
Security event logging tracks and records security-related activities for monitoring and auditing purposes.
Logs help detect suspicious activities and support compliance requirements. Designers should ensure proper logging levels and monitoring tools are in place. A common mistake is enabling logging without reviewing logs regularly, reducing its effectiveness. Proper use enhances visibility and incident response.
Demand Score: 84
Exam Relevance Score: 88
How should a Pega application be secured in production?
Production security requires strong authentication, secure configurations, regular updates, and continuous monitoring.
This includes implementing multi-factor authentication, securing APIs, managing access controls, and applying patches. A common mistake is relying solely on default configurations. Ongoing monitoring and vulnerability assessments are essential to maintain security posture.
Demand Score: 88
Exam Relevance Score: 94