Terraform でダッシュボードの編集を制限する方法

restricted_roles 属性を使用したダッシュボードの制限

restricted_roles 属性を使用すると、特定のロールにダッシュボードの編集を制限できます。このフィールドはロールの ID リストを取得し、関連するユーザーに編集権限を付与します。

使用例:

resource "datadog_dashboard" "example" {
  title         = "Example dashboard"
  restricted_roles = ["<role_id_1>", "<role_id_2>"]
}

: is_read_only 属性は非推奨です。ダッシュボードへのアクセスを管理するには、restricted_roles 属性または制限ポリシーを使用することをお勧めします。

制限ポリシーを使用したダッシュボードの制限

制限ポリシーは非公開ベータ版です。アクセスについては、Datadog サポートまたはカスタマーサクセスマネージャーにお問い合わせください。

制限ポリシーを使用すると、ダッシュボードやその他のリソースの編集を、ロール、チーム、ユーザー、サービスアカウントなどの特定のプリンシパルに制限できます。

使用例:

resource "datadog_dashboard" "example" {
  title         = "Example dashboard"
  # Do not use restricted_roles or is_read_only attributes
}

resource "datadog_restriction_policy" "example" {
 resource_id = "dashboard:${datadog_dashboard.example.id}"
  bindings {
     principals = ["org:<org_id>"]
     relation = "viewer"
  }
  bindings {
     principals = ["role:<role_id_1>", "role:<role_id_2>"]
     relation = "editor"
  }
}

ロール ID は Roles APIRoles UI から取得するか、datadog_role リソースの Terraform で定義したロール ID を利用します。

組織 ID は GET /api/v2/current_user API リクエストから取得できます。data.relationships.org.data.id フィールドで見つけてください。