Encryption Scheme Policy Management¶
Privacera Encryption enforces granular access control to encryption, decryption, and masking operations through Scheme Policies. These policies determine who can perform what operations on which scheme, enabling secure usage across all supported integrations.
What Is a Scheme Policy?¶
A scheme policy defines access permissions for one or more Privacera Encryption schemes. Each policy includes:
- Target Scheme(s): Encryption, Presentation, or Masking schemes
- Permission Types: What operations the user/group/role can perform
- Principals: The user, group, or role granted permission
Scheme policies are critical for ensuring that encryption functions are used only by authorized entities, and that proper data security and compliance standards are upheld.
Permission Types¶
The following permissions can be assigned via a scheme policy:
Permission | Description |
---|---|
Protect | Allows the subject to encrypt data using the scheme |
Unprotect | Allows the subject to decrypt data using the scheme |
Mask | Allows the subject to apply a one-way masking scheme |
Get Scheme | Allows the subject to retrieve scheme metadata |
Impersonate | Allows the subject to perform operations on behalf of another user (doAs) |
Policy Enforcement Points¶
Scheme policies are enforced uniformly across all interfaces:
- PEG REST API: JWT-based access authorization
- Databricks UDFs: Permissions checked during UDF execution
- File Encryption Utility (FEU): Validates scheme access via CLI
- StreamSets Pipelines: Applies protection rules based on meta file mapping
Creating a Scheme Policy¶
You can create scheme policies using the Privacera Portal:
- Navigate to Access Management > Scheme Policies
- Choose the PEG service context
- Click Add New Policy
- Fill in the following:
- Policy Name and Description
- Select the target scheme(s)
- Assign permissions (
Protect
,Unprotect
, etc.) - Define the users, groups, or roles for each permission
- Save the policy
Example Policies¶
Full Access to Encryption Schemes for Data Engineering Team¶
YAML | |
---|---|
Presentation-Only Access for Analysts¶
YAML | |
---|---|
Best Practices¶
- Follow Least Privilege: Grant minimal permissions required for each role
- Use Roles and Groups: Easier to manage than user-specific grants
- Audit Regularly: Review policy assignments periodically
- Combine with Access Policies: Use in conjunction with Ranger access policies for columns to achieve comprehensive security
Troubleshooting¶
If users report access issues with encryption or decryption:
- Verify the user is a member of the group or role specified in the scheme policy
- Check that the scheme policy grants the appropriate permission (Protect or Unprotect)
- Ensure the scheme specified in the API call matches the scheme protected by the policy
- Review audit logs to identify any permission errors
- Prev topic: Masking Scheme
- Next topic: User and Roles