This tutorial shows you how to use Dynatrace default groups and policies to grant users access to platform features and data, and how to refine that access with policy boundaries and dt.security_context to restrict data to specific apps or teams.
This tutorial is for Dynatrace account administrators who need to grant users access to platform features and data stored inside Dynatrace. It also helps new Dynatrace users who want to understand group-based permissions.
In this tutorial, you'll learn how to:
dt.security_context to restrict data access to specific apps or teams.Predefined user groups in Dynatrace
Access rights for different groups
Role-based access control; a security model for managing user access
An attribute you attach to data points—such as logs, metrics, and spans—to identify which app or team they belong to. Use it in policy boundary queries to restrict data access to specific apps or teams.
A condition you apply to a policy permission that narrows the scope of access to only the resources or data that match the boundary query.
This step adds users to Dynatrace so that you can assign roles and access rights to them.
This opens https://myaccount.dynatrace.com/, which you can bookmark for easy access to Account Management.
Assigning a user to a default group is the fastest way to give them access to Dynatrace features and data. This step also lays the baseline for applying advanced controls, such as creating custom groups and policy boundaries.
To assign users to default groups:
Use this step when default groups don't align with your internal structure or access needs. Custom groups let you tailor access to specific organizational needs by combining default and custom policies.
Use default policies as your first choice. They are maintained by Dynatrace and automatically updated as new features are released. Only switch to a custom policy when a default policy doesn't meet your specific requirements.
To create a custom group:
To grant a team read-only access to Dynatrace and their app's data, add the following two permissions to the group:
| Permission | Category | What it grants |
|---|---|---|
Standard User | Dynatrace access | Access to the Dynatrace environment and the ability to run apps |
All Grail data read access | Data access | Read access to all data across Grail Buckets and Tables |
To allow a team to update monitoring configuration—such as alerting thresholds or OneAgent settings:
You can use policy boundaries to refine access further and restrict policies. Policy boundaries limit access to specific apps, workflows, or data partitions, narrowing the policy's scope to only the defined conditions.
To create a policy boundary:
Use dt.security_context in your boundary query to limit data access to a specific app or team. Before applying this boundary, ensure your data ingestion pipeline sets the dt.security_context attribute on the relevant logs, metrics, and spans.
The following example restricts access to data for a single application. It covers both the Grail storage attribute and the management zone name used for monitored entities:
storage:dt.security_context IN ("my-app", "MyApp");// "MyApp" matches the management zone name used as the Grail security context for monitored entitiesenvironment:management-zone IN ("MyApp");
To match values that share a common prefix, use the MATCH operator instead of IN. For example: storage:dt.security_context MATCH ("my-app-*");
To apply the boundary to a group policy:
To learn more about policy boundaries, see Policy boundaries.
Create a custom policy when a default policy doesn't meet your requirements—for example, when you need write access to specific settings without granting full administrative permissions. Unlike default policies, which Dynatrace maintains and updates automatically, custom policies require you to keep them current as new features are released.
To create a custom policy:
Use the following policy statements to grant write access to monitoring configuration without full administrative privileges. This is useful when teams manage alerting thresholds or OneAgent settings for their own apps but should not have access to pipeline routing or other administrative settings:
ALLOW settings:schemas:read;ALLOW settings:objects:read, settings:objects:write;ALLOW environment:roles:manage-settings;
Apply a policy boundary to this permission to limit write access to the team's own data scope.
After you assign groups and apply boundaries, confirm that users have the expected access by reviewing their effective policies.
To verify effective permissions:
Use Effective policies to troubleshoot unexpected access denials. You can see which policy granted or restricted a specific permission and which boundary condition was applied.
You've successfully set up user access in Dynatrace. You now know how to: