モニター用に RBAC を設定する方法

概要

モニターは、システムの潜在的な問題をチームに警告します。権限のあるユーザーだけがモニターを編集できるようにすることで、モニターの構成が誤って変更されることを防ぎます。

個々のモニターの編集権限を特定のロールに制限することで、モニターを安全に管理することができます。

ロールを設定する

デフォルトロールとカスタムロールの詳細、カスタムロールの作成方法、ロールへの権限の割り当て、ユーザーへのロールの割り当てについては、ロールベースアクセス制御を参照してください。

モニターへのアクセスを制限する

  1. 新規にモニターを作成するか、既存のモニターを編集して、モニター編集画面に移動します。
  2. フォームの下部で、作成者に加えてモニターの編集を許可されるロールを指定します。
RBAC 制限付きモニター

詳しくは、モニター権限をご覧ください。

List Roles API エンドポイントを使用して、ロールの一覧とその ID を取得します。

curl --request GET 'https://api.datadoghq.com/api/v2/roles' \
--header 'DD-API-KEY: <DD-API-KEY>' \
--header 'DD-APPLICATION-KEY: <DD-APPLICATION-KEY>'
{
    "meta": {
        "page": {
            "total_filtered_count": 4,
            "total_count": 4
        }
    },
    "data": [
        {
            "type": "roles",
            "id": "89f5dh86-e470-11f8-e26f-4h656a27d9cc",
            "attributes": {
                "name": "Corp IT Eng - User Onboarding",
                "created_at": "2018-11-05T21:19:54.105604+00:00",
                "modified_at": "2018-11-05T21:19:54.105604+00:00",
                "user_count": 4
            },
            "relationships": {
                "permissions": {
                    "data": [
                        {
                            "type": "permissions",
                            "id": "984d2rt4-d5b4-13e8-a5yf-a7f560d33029"
                        },
                        ...
                    ]
                }
            }
        },
        ...
    ]
}

Create または Edit a monitor API エンドポイントと restricted_roles パラメーターを使用すると、モニターの編集を特定のロールセットとモニターの作成者に制限することができます。

注: 1 つまたは複数のロール UUID を指定することができます。restricted_rolesnull に設定すると、Monitor Write 権限を持つすべてのユーザーに対して、モニター編集を許可します。

curl --location --request POST 'https://api.datadoghq.com/api/v1/monitor' \
--header 'Content-Type: application/json' \
--header 'DD-API-KEY: <DD-API-KEY>' \
--header 'DD-APPLICATION-KEY: <DD-APPLICATION-KEY>' \
--data-raw '{
  "message": "You may need to add web hosts if this is consistently high.",
  "name": "Bytes received on host0",
  "options": {
    "no_data_timeframe": 20,
    "notify_no_data": true
  },
  "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} \u003e 100",
  "tags": [
    "app:webserver",
    "frontend"
  ],
  "type": "query alert",
  "restricted_roles": ["89f5dh86-e470-11f8-e26f-4h656a27d9cc"]
}'

詳しくは、ロールおよびモニター API リファレンスを参照してください。

制限されたロール

Datadog では、ロール制限オプションにより、特定のロールに対してモニターの編集を制限することができます。これにより、モニターの編集を許可するユーザーを柔軟に定義することができます。

API

API または Terraform で管理されているモニターの定義を更新するには、restricted_roles パラメーターを使用します。また、制限ポリシーエンドポイントを使用して、モニターに対するアクセス制御ルールを定義し、一連の関係 (エディターやビューアーなど) を一連の許可されたプリンシパル (ロール、チーム、ユーザーなど) にマッピングすることもできます。制限ポリシーは、モニター上で誰がどのようなアクションを実行する権限を持つかを決定します。

詳細については、モニターの編集 API エンドポイントおよび制限ポリシー API を参照してください。

UI

UI から作成されるすべての新しいモニターは restricted_roles パラメーターを使用します。 また、基本的なメカニズムに関係なく、すべてのモニターはロール制限オプションを表示します。

RBAC 非制限モニター

参考資料