RousselTMLEARNING

Observability

Dynatrace: managing permissions (IAM, groups, policies and boundaries)

Manage access in Dynatrace: the IAM model (users, groups, policies, boundaries), default policies, writing statements, API tokens and least-privilege best practices.

1. The IAM model #

Groups, policies, boundaries.

The concepts #

Dynatrace IAM model
Permissions are granted to groups, never directly to users.
ConceptRole
UserAn authenticated person (SAML/OIDC SSO recommended)
GroupA set of users with the same needs (team, role)
PolicyA set of ALLOW rules on permissions (read problems, modify settings...)
BoundaryA condition that restricts a policy (by management zone, by entity tag)
Default policyPolicies predefined by Dynatrace (e.g. Standard User, Pro User, Admin User)

2. Writing a policy #

Statement syntax.

Example #

// Politique « Lecteur - équipe paiement » (Account Management > Identity & access management > Policies)
ALLOW environment:roles:viewer;
ALLOW storage:logs:read, storage:metrics:read, storage:spans:read
  WHERE storage:k8s.namespace.name = "paiement";
ALLOW settings:objects:read WHERE settings:schemaId = "builtin:alerting.profile";

The WHERE part of a statement restricts the permission to a subset of data (for example a Kubernetes namespace). For Grail data, these conditions apply to storage fields.

Common mistake: Avoid giving write permissions (settings:objects:write) to broad groups: they allow changing the monitoring configuration of the whole organization.

3. Organizing access #

A role-based approach.

Typical matrix #

GroupPoliciesScope
Platform administratorsAdmin UserEverything
Application teamsStandard User + log readBoundary on their management zones
SRE / on-callPro User + problem managementProduction
AuditorsRead-onlyEverything, no write
Automation (CI/CD)OAuth client token with limited scopesOne environment
  • Manage groups through SSO (SAML group mapping) so that arrivals/departures are automatic.
  • Define groups and policies as code with Terraform (dynatrace_iam_group, dynatrace_iam_policy).
  • Review access periodically (inactive accounts, obsolete rights).

4. Automating and auditing #

API and Terraform.

Terraform and API #

# Terraform : groupe + politique + liaison
resource "dynatrace_iam_policy" "lecteur_paiement" {
  name            = "Lecteur équipe paiement"
  account         = var.account_uuid
  statement_query = <<-EOT
    ALLOW environment:roles:viewer;
    ALLOW storage:logs:read WHERE storage:k8s.namespace.name = "paiement";
  EOT
}
resource "dynatrace_iam_group" "paiement" {
  name = "equipe-paiement"
  permissions {
    permission { name = "tenant-viewer"  type = "account"  scope = var.account_uuid }
  }
}
terraform init && terraform plan && terraform apply
# Lister les groupes via l'API Account Management (jeton OAuth)
curl -s -H "Authorization: Bearer $DT_OAUTH_TOKEN" https://api.dynatrace.com/iam/v1/accounts/$ACCOUNT_UUID/groups | jq '.items[].name'
# Journal d'audit des changements de configuration
# Settings > Audit logs   (ou API v2 /api/v2/auditlogs)
Good practice: Apply the principle of least privilege: start from no access, add what is necessary and test with a test account before rolling out.

Related articles

Accessing the Dynatrace playground and getting started

The Dynatrace playground is a demo environment full of real data: how to access it, what it allows and does n…

Grail buckets in Dynatrace: creation, routing, retention, rights and costs

Complete guide to Grail buckets: purpose, default buckets, creation in Storage management, with the API or Te…

The Dynatrace QuickStart app: getting your first data in minutes

Discover the QuickStart app: add data with Auto Discovery or a dedicated tile, read Findings, explore with da…

Keep learning

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!