Module access policy debugger
Use the module access policy debugger to review logging information and understand why your users are or aren’t granted access to an encryption context.
Module access policies (MAPs) define instance-level controls for access to cryptographic modules. Callers (for example, a user or script) require explicit access in order to use a cryptographic module for encryption and decryption. It's not always clear which MAPs are evaluated when callers attempt to access a cryptographic module. Use the debugger to see which policies are evaluated when a caller attempts to access a cryptographic module, and learn why access is or isn’t being granted.
This flowchart shows how your instance evaluates requests for access to a cryptographic module.
Control access to the debug logs
Access to the module access debug logs is determined by role. Users with the sn_kmf.admin and sn_kmf.cryptographic_manager roles always have access to the debugger. Grant access to other roles using the glide.kmf.module_access_policies.debugger.authorized.roles system property. The value of this property is a comma-separated list of roles that access the debug logs.
Enable or disable the debugger
To enable debug logging messages for module access policies, navigate to
When you’re finished debugging, you can disable the logging messages by navigating to
Access the logs
In this example, a caller invokes two access requests to the global.fuji cryptographic module. A symmetric encryption, which is granted, and a symmetric decryption, which was denied.
Understanding log entries
Debugging information is structured using this format.
- This first line displays the cryptographic module receiving the access request.
- The lines between the first and last line displays the evaluated MAPs in the order that they were evaluated, and includes their name, type, target, granular operation, and result.
- The last line displays the Policy Decision (if applicable) and the net access result for the caller (whether the caller is granted access).
Each line starts with an icon that indicates its message type.
| Icon | Message type |
|---|---|
| Informational message | |
| Module access policy grants access | |
| Module access policy denies access | |
| Caller is granted access | |
| Caller is denied access | |
| No module access policy to evaluate |
Debug log examples
- Access granted message
- Access denied message
- Access denied (No module access policies to evaluate
- Access denied (insufficient privileges)