Datadog MCP サーバーのWrite 権限を制御する方法を検証してみた

Datadog MCP サーバーのWrite 権限を制御する方法を検証してみた

2026.04.06

こんにちは、なおにしです。

Datadog MCP サーバーを利用する上で権限周りの検討を行う機会がありましたのでご紹介します。

はじめに

Datadog の公式MCP サーバーが2026/3/9に一般提供(GA)されています。

https://www.datadoghq.com/ja/about/latest-news/press-releases/datadog-launches-mcp-server/

MCP サーバーで使用されるツールセットは公式ドキュメントにまとまっており、ツールセットの一覧を抜粋すると以下のとおりです。

ツールセット名 説明
core ログ、メトリクス、トレース、ダッシュボード、モニター、インシデント、ホスト、サービス、イベント、ノートブックのデフォルトツールセット
alerting モニターの検証、モニターグループの検索、モニターテンプレートの取得ツール
apm APMトレース分析、スパン検索、Watchdogインサイト、パフォーマンス調査ツール
cases ケース管理(作成・検索・更新)、プロジェクト管理、Jiraイシュー連携ツール
dbm Database Monitoring連携ツール
ddsql (プレビュー)DDSQL(インフラリソース、ログ、メトリクス、RUM、スパン等に対応したSQL方言)によるDatadogデータクエリツール
error-tracking Error Tracking連携ツール
feature-flags フィーチャーフラグの作成・一覧・更新、環境管理ツール
llmobs LLM ObservabilityスパンおよびExperimentの検索・分析ツール
product-analytics Product Analyticsクエリ連携ツール
networks Cloud Network MonitoringおよびNetwork Device Monitoring分析ツール
onboarding Datadogセットアップ・設定のガイド付きエージェントオンボーディングツール
security コードセキュリティスキャン、セキュリティシグナル・セキュリティファインディング検索ツール
software-delivery Software Delivery(CI VisibilityおよびTest Optimization)連携ツール
synthetics Datadog Syntheticテスト連携ツール
workflows Workflow Automationツール(ワークフローの一覧・検査・実行・設定、エージェント利用設定を含む)

各ツールセット内で利用可能なツールのそれぞれで必要な権限についても、同ドキュメント内に記載されています。そちらを確認すると分かるのですが、一部Write 権限が必要な操作も含まれています。

Datadog MCP サーバーでは、実際に触ってみると例えばモニターの作成はドラフトまでしかできないなど、内部的にはガードレールが考えられており、冒頭の公式アナウンス内でもその辺りの考慮はなされている旨の記載があるので、Write 権限があるからといって業務影響のある操作(設定をいきなり削除する等)が実行されるようなことは基本的には無いと思います。

とはいえ、役割分担等の兼ね合いからWrite 権限に相当する操作が意図せず実行される可能性がある状況そのものがNG、それでもMCP サーバーを使ってDatadog の管理は効率化したい、というような需要もあるかと思います。

という前提で、Datadog のMCP サーバーで必要となる権限について考えてみます。

Datadog MCP サーバーで必要な権限

ドキュメントには以下のように記載されています。

(和訳)
MCP Serverツールには、以下のDatadogユーザーロール権限が必要です。

許可 必要
mcp_read Datadogからデータを読み取るツール(例えば、モニターのクエリ、ログの検索、ダッシュボードの取得など)
mcp_write Datadogでリソースを作成または変更するツール(例:モニターの作成、ホストのミュート)

ユーザーは、mcp_read または mcp_write に加えて、基盤リソースに対する標準的な Datadog 権限も必要です。例えば、モニターを読み取る MCP ツールを使用するには、mcp_readモニターの読み取り権限の両方が必要です。リソースレベルの権限の完全なリストについては、Datadog ロール権限を参照してください。

上記を踏まえ、Datadog MCP サーバーではmcp_read または mcp_write に加えてどのような権限が必要なのかを確認します。

先ほどのドキュメントでは各ツールに必要な権限が記載されてはいますが、ツールごとに個別の権限名を列挙する形ではなくアセット名でのパターンであったりorで記載されていたり(例:Permissions Required: Cloud Cost Management Read or Metrics)するので、MCP サーバーを利用する上で要求される権限は具体的にどれなのかという形で進めます。

Datadog のMCP サーバーではドキュメントに記載のとおりOAuth 2.0 による認証が標準で、それができない時にAPI キーとアプリケーションキーの組み合わせを利用するとなっています。

(和訳)
MCPサーバーは認証にOAuth 2.0を利用しています。OAuthフローを完了できない場合(例えばサーバー上の場合)、DD_API_KEYDD_APPLICATION_KEYのHTTPヘッダーとしてDatadogのAPIキーとアプリケーションキーを提供できます。

API キーとアプリケーションキーを利用する場合は、アプリケーションキーに紐付くユーザーのロールで権限を適切に選択したり、アプリケーションキーのスコープで許可される操作を制限できます。もちろん、どの権限/どのスコープを対象にするのか選択する必要があります。スコープについては以下にまとまっています。

https://docs.datadoghq.com/api/latest/scopes/

(和訳)
スコープは、組織のDatadogデータへのアプリケーションのアクセス権限を制限および定義できる認証メカニズムです。ユーザーまたはサービスアカウントに代わってデータへのアクセス権限が付与されたアプリケーションは、割り当てられたスコープで明示的に許可された情報のみにアクセスできます。

一方で、OAuth 認証では対象のアプリケーション(今回であればMCP サーバー)で要求されるスコープ一式がMobile and Third-Party Accessのページに登録され、そのアプリケーションに対して利用するユーザーが紐付きます。

Datadog MCP サーバーの場合は、以下のようにDatadog MCP w/Proxyが登録されます。

20260406_naonishi_datadog-mcp-server-write-permission-control_1.png

上記を選択すると以下のように要求されるスコープ一覧が表示されます。このスコープはAdmin ユーザーでも追加/削除といった編集ができません。可能な操作としては、アプリケーション自体をDatadog 組織として有効/無効にするか、有効なアプリケーション内に紐づいているユーザーを削除する(ただし、ユーザーに権限があればアプリケーションを再認証可能)だけです。

20260406_naonishi_datadog-mcp-server-write-permission-control_2.png

というわけで、具体的に必要な権限については上記のMCP サーバーに要求されるスコープ一覧から判別できそうです。

ロールに付与可能な権限の一覧については以下にまとまっており、各権限名に括弧書きでスコープ名が記載されています(正確には、括弧書きの中身がスコープ名であるとドキュメントに明記されている訳ではないです。後述します)。

https://docs.datadoghq.com/account_management/rbac/permissions/#permissions-list

要求されるスコープに対応する権限名と、その権限が付与されているマネージドロールを整理した上で、Read/Write で分けて表にすると2026年4月6日時点では以下のとおりです。一覧化には生成AI を利用しているので、説明列については参考程度に留めていただければと思います。また、Datadog MCP サーバーは公開されて間もないこともあり、必要なスコープは適宜追加されていることにご注意ください。

Read スコープ一覧(47件)

# カテゴリ スコープ名 対応する権限名 ロール(※1) 説明
1 Access Management user_access_read (※2) (※2) ユーザー・ロール・設定の閲覧
2 APM apm_read APM Read Read Only APM・Trace Analyticsの読み取り・クエリ
3 APM apm_service_catalog_read Service Catalog Read Read Only サービスカタログ・定義の閲覧
4 APM apm_api_catalog_read API Catalog Read Read Only APIカタログ・定義の閲覧
5 APM continuous_profiler_read Continuous Profiler Read Read Only Continuous Profilerデータの閲覧
6 APM debugger_read Dynamic Instrumentation Read Read Only Dynamic Instrumentation設定の閲覧
7 App Builder & Workflow Automation workflows_read Workflows Read Read Only ワークフローの閲覧
8 App Builder & Workflow Automation connections_read Connections Read Read Only 接続の一覧・閲覧
9 Assistant assistant_access Assistant Access Read Only Datadog Assistantへのアクセス
10 Bits AI bits_investigations_read Bits Investigations Read Read Only Bits調査の閲覧
11 Case and Incident Management cases_read Cases Read Read Only ケースの閲覧
12 Case and Incident Management incident_read Incidents Read Read Only インシデントの閲覧
13 Cloud Cost Management cloud_cost_management_read Cloud Cost Management Read Read Only Cloud Costデータの閲覧
14 Cloud Network Monitoring network_connections_read Network Connections Read Read Only Cloud Network接続の読み取り
15 Cloud Security Platform security_monitoring_signals_read Security Signals Read Read Only Security Signalsの閲覧
16 Cloud Security Platform security_monitoring_findings_read Security Monitoring Findings Read Standard Findings(誤設定・IDリスク)の閲覧
17 Compliance audit_logs_read Audit Trail Read Admin 監査ログの閲覧
18 Cross-Product Features hosts_read (※2) (※2) ホスト一覧と属性の閲覧
19 Cross-Product Features timeseries_query (※2) (※2) 複数プロダクト横断のデータクエリ
20 Dashboards dashboards_read Dashboards Read Read Only ダッシュボードの閲覧
21 Database Monitoring dbm_read Database Monitoring Read Read Only Database Monitoringデータの閲覧
22 Error Tracking error_tracking_read Error Tracking Read Read Only Error Trackingデータの閲覧
23 Events events_read (※2) (※2) イベントデータの読み取り
24 Feature Flags feature_flag_environment_config_read Feature Flag Environment Read Read Only Feature Flag環境設定の閲覧
25 Feature Flags feature_flag_config_read Feature Flag Read Read Only Feature Flag設定の閲覧
26 Infrastructure cloudcraft_read Cloudcraft Read Read Only Cloudcraftインフラ図の閲覧
27 Integrations integrations_read Integrations Read Standard インテグレーション設定の閲覧
28 LLM Observability llm_observability_read LLM Observability Read Read Only LLM Observabilityの閲覧
29 Log Management logs_read_index_data Logs Read Index Data Read Only ログインデックスデータの読み取り
30 Log Management logs_read_data Logs Read Data Read Only ログデータの読み取り
31 MCP mcp_read MCP Read Read Only MCPサーバー経由のデータ読み取り
32 Metrics metrics_read (※2) (※2) カスタムメトリクスの閲覧
33 Monitors monitors_read Monitors Read Read Only モニターの閲覧
34 Network Device Monitoring ndm_devices_read NDM Read Read Only NDMデータの読み取り
35 Network Device Monitoring ndm_device_config_read NDM Device Config Read Admin NDMデバイス設定の読み取り
36 Notebooks notebooks_read Notebooks Read Read Only ノートブックの閲覧
37 Real User Monitoring rum_apps_read RUM Apps Read Read Only RUMアプリケーションデータの閲覧
38 Real User Monitoring rum_session_replay_read RUM Session Replay Read Read Only Session Replayの閲覧
39 Reference Tables reference_tables_read Reference Tables Read Read Only Reference Tablesの閲覧
40 Service Level Objectives slos_read SLOs Read Read Only SLO・ステータス補正の閲覧
41 Sheets sheets_read Sheets Read Read Only Sheetsの閲覧
42 Software Delivery ci_visibility_read CI Visibility Read Read Only CI Visibilityの閲覧
43 Software Delivery code_coverage_read Code Coverage Read Read Only Code Coverageデータの閲覧
44 Software Delivery test_optimization_read Test Optimization Read Read Only Test Optimizationの閲覧
45 Synthetic Monitoring synthetics_read Synthetics Read Read Only Syntheticテスト・結果の閲覧
46 Synthetic Monitoring synthetics_global_variable_read Synthetics Global Variable Read Standard Syntheticsグローバル変数の閲覧・利用
47 Teams teams_read (※2) (※2) チームデータの閲覧

Write スコープ一覧(20件)

# カテゴリ スコープ名 対応する権限名 ロール(※1) 説明
1 APM debugger_write Dynamic Instrumentation Write Admin Dynamic Instrumentation設定の編集(変数キャプチャなし)
2 APM debugger_capture_variables Dynamic Instrumentation Capture Variables Admin Dynamic Instrumentationプローブの作成・変更(変数キャプチャあり)
3 APM debugger_write_pre_prod Dynamic Instrumentation Write Pre-Prod Standard Dynamic Instrumentation設定の編集(pre-prod環境向け)
4 App Builder & Workflow Automation workflows_write Workflows Write Standard ワークフローの作成・編集・削除
5 App Builder & Workflow Automation workflows_run Workflows Run Standard ワークフローの実行
6 App Builder & Workflow Automation on_prem_runner_use Private Action Runner Contribute Standard Private Action Runnerのアタッチ
7 App Builder & Workflow Automation connections_resolve Connections Resolve Standard コネクションの解決
8 Bits AI bits_investigations_write Bits Investigations Write Standard Bits調査の実行・設定
9 Case and Incident Management cases_write Cases Write Standard ケースの作成・更新
10 Case and Incident Management incident_write Incidents Write Standard インシデントの作成・閲覧・管理
11 Dashboards dashboards_write Dashboards Write Standard ダッシュボードの作成・変更
12 Error Tracking error_tracking_write Error Tracking Issue Write Standard Error Trackingイシューの編集
13 Feature Flags feature_flag_config_write Feature Flag Write Standard Feature Flag設定の編集
14 LLM Observability llm_observability_write LLM Observability Write Standard LLM Observabilityリソースの作成・更新・削除
15 MCP mcp_write MCP Write Standard MCPサーバー経由のデータ書き込み
16 Monitors monitors_write Monitors Write Standard モニターの編集・削除・解決
17 Notebooks notebooks_write Notebooks Write Standard ノートブックの作成・変更
18 Reference Tables reference_tables_write Reference Tables Write Standard Reference Tablesの作成・変更
19 Sheets sheets_write Sheets Write Standard Sheetsの作成・変更
20 Synthetic Monitoring synthetics_write Synthetics Write Standard Syntheticテストの作成・編集・削除

※1 ロールの凡例:

  • Admin = Datadog Admin Role
  • Standard = Datadog Standard Role
  • Read Only = Datadog Read Only Role

※ 2 Permissions list のドキュメントに該当スコープ名の記載がないもの(6件)

  • user_access_read
  • hosts_read
  • timeseries_query
  • events_read
  • metrics_read
  • teams_read

上記についてはスコープの内容およびAccess Control のドキュメントに以下の記載もあることから、権限を明示的に付与していなくてもユーザーが暗黙的に持っている閲覧権限に相当していると捉えていますが、調べた限りではドキュメントにそのように明記されているわけではないことをご留意ください。

Users without any roles cannot use Datadog effectively, but still maintain limited access.

(和訳)ロールを持たないユーザーはDatadogを効果的に使用できないが、限定的なアクセスは維持される。

さらに補足ですが、先ほどのスコープのドキュメントには注意書きとして以下の内容がありました。

(和訳)
このページには、OAuthクライアントに割り当てることができる認証スコープのみが表示されます。スコープ付きアプリケーションキーに割り当て可能な権限の全リストについては、「Datadogロール権限」を参照してください。

  • OAuthクライアント→ 認可スコープ(限定されたセット)のみを割り当てることができます。
  • スコープ付きアプリケーションキー→ 任意のDatadog権限を割り当てることができます。

ですが、実際にDatadog MCP サーバーに必要なスコープを見ると、このドキュメントには記載の無いスコープ(mcp_readなど)が割り当てられており、それらはPermissions list のドキュメントには存在します。また、このドキュメントからのリンク先がPermissions list のドキュメントなので、権限名(Monitors Read など)の下にある括弧書きは、両ドキュメントに記載があるもの(monitors_readなど)からスコープ名を表していると類推できます。(このようにScopes とPermissions で用語もドキュメントも異なるのに、実質は同じようなものになっていて個人的には若干混乱してしまったため、備忘録的な意味合いで類推の過程を残しています)

というわけで、Datadog MCP サーバーの利用に必要なスコープと権限が確認できたので、続いてMCP サーバーによるアクセスをどのように制御するか考えます。

Write 権限を抑止するアプローチ

今回はWrite 権限のみを明示的に抑止するにはということに焦点を当てて確認します。

方針としては以下2つになるかと思います。

  • mcp_write権限をアタッチしない
  • mcp_write権限をアタッチした上で特定操作(monitors_writeなど)の権限をアタッチしない

さらに、状況に応じて上記をどのような形で適用するのかを設計する必要があると思いますが、今回は上記それぞれを適用した場合の挙動を検証するまでに留めます。

適用方針については以下のような検討事項が出てくるかと思います。いずれのパターンでも、カスタムロールで制御する場合はAutomatically Receives Permissionsを設定した上でmcp_writeやその他の権限を取捨選択することで、効率的に管理できそうです。

OAuth 認証の場合

前述のとおり、OAuth 認証では専用のスコープセットが作成されるため、スコープの各項目を取捨選択することはできません。また、ブラウザでのユーザー認証操作が必要となることから、サービスアカウントを使用することもできません。
一方で、スコープセット自体はDatadog 管理となるため、必要なスコープの追加に自動で追従することが可能です。
従って、アプローチとしてはスコープセットに紐づくユーザーのロールにアタッチする権限でWrite を制限することになります。
普段使用しているDatadog ユーザーをそのまま流用するのであれば、mcp_write権限のみをアタッチしないようにカスタムロールを構成すれば良いかと思います。何らかの理由で既存ユーザーのカスタムロールを構成できない場合は、MCP サーバー用ユーザーを新規作成してDatadog Read Only Roleやその他権限を制限したカスタムロールをアタッチするやり方もあるかと思いますが、利用者ごとにユーザーを2つ管理することになります。

API キー/アプリケーションキーによる認証の場合

MCP サーバー用のアプリケーションキーを発行し、スコープまたはロールでWrite 権限を制御することができます。OAuth 認証と異なり、MCP サーバーが要求するスコープへの自動追従ができないため、アプリケーションキーのスコープで制御した場合はMCP サーバーが要求するスコープに変化があった際に、最新のスコープで実現可能な機能を利用したい場合は手動で対応が必要です。
また、ブラウザでのユーザー認証操作を必要としないため、MCP サーバー用のサービスアカウントを作成し、サービスアカウントに紐づくアプリケーションキーで権限を制御することも可能です。

やってみた

mcp_write権限をアタッチしない場合

普段はDatadog Admin Roleを使用しているけどMCP サーバーからWrite 操作は実行して欲しくない、という状況でOAuth 認証によるDatadog MCP サーバーの利用を試してみます。

まず、mcp_write権限を無効にしたカスタムロールを作成します。Datadog Admin Roleはマネージドロールなので編集はできませんが、クローンを作成することは可能なので、既存の権限がアタッチされたクローンを作成するところから始めます。

20260406_naonishi_datadog-mcp-server-write-permission-control_3.jpg

ロール名を変更し、Automatically Receives PermissionsDatadog Admin Roleを指定します。こうすることで、今後Datadog Admin Roleに付与される新しい権限を今回作成するロールが自動的に受け取れるようになります。

20260406_naonishi_datadog-mcp-server-write-permission-control_4.jpg

Datadog Admin RoleにはデフォルトでMCP Write (mcp_write) が付与されているので、明示的に権限をデタッチします。

20260406_naonishi_datadog-mcp-server-write-permission-control_5.jpg

上記で作成したカスタムロールを付与したユーザーで、Datadog MCP サーバーのOAuth 認証を実行します。MCP サーバーはClaude Code から呼び出します。mcp_write権限がなくてもMCP サーバーの認証自体は成功しています。また、利用可能なツールは「42個」になっています。

20260406_naonishi_datadog-mcp-server-write-permission-control_6.png

例として、現在設定されているモニターの取得を指示してみると、以下のとおり問題なく取得できました。

20260406_naonishi_datadog-mcp-server-write-permission-control_7.png

続いて、新しいモニターの作成を指示すると、モニター作成用のツール自体が存在しない旨が出力されました。

20260406_naonishi_datadog-mcp-server-write-permission-control_8.jpg

先ほど作成したカスタムロールで、MCP Write (mcp_write) をアタッチしてMCP サーバーを再接続します。

20260406_naonishi_datadog-mcp-server-write-permission-control_9.jpg

再接続はClaude Code 上で実行可能です。

20260406_naonishi_datadog-mcp-server-write-permission-control_10.png

再接続後は以下のとおりです。利用可能なツールが「50個」に増えています。

20260406_naonishi_datadog-mcp-server-write-permission-control_11.png

どのツールが増えたのか聞いてみると以下のとおりでした。MCP Write (mcp_write) をアタッチしていない場合、Write 関連のツール自体が有効にならないことが分かります。

20260406_naonishi_datadog-mcp-server-write-permission-control_12.png

ちなみに、そのままモニター作成を指示すると、以下のとおりドラフト作成までがサポートされている範囲となります。

20260406_naonishi_datadog-mcp-server-write-permission-control_13.jpg

mcp_write権限をアタッチした上で特定操作(monitors_writeなど)の権限をアタッチしない場合

Datadog MCP サーバーで提供されるツールセットの内、特定ツールセット内の特定のWrite 権限だけは無効化したいという場合には、このパターンでのアプローチが必要になるかと思います。

先ほどカスタムロールでMCP Write (mcp_write) をアタッチしているので、同じカスタムロールで今度はMonitors Write (monitors_write) をデタッチしてみます。

20260406_naonishi_datadog-mcp-server-write-permission-control_14.jpg

MCP サーバーを再接続します。利用可能なツール数は「50個」のまま変わりませんでした。

20260406_naonishi_datadog-mcp-server-write-permission-control_15.png

改めて新しいモニターの作成を指示してみると、作成を試行するものの権限不足のエラーが発生して処理が停止されました。

20260406_naonishi_datadog-mcp-server-write-permission-control_16.jpg

権限不足ですぐに処理を停止してくれる場合は良いのですが、パラメーターの問題の可能性等を疑って処理を継続しようとする場合もあるので、トークンの消費を考えるとMCP Write (mcp_write) による制御で要件を十分満たすのであればそうした方が良さそうです。

まとめ

便利そうだけど本番影響があるか分からないから活用は慎重に、というような環境に対してDatadog MCP サーバーの活用を推進したい状況のため、権限周りを確認してみました。

本記事がどなたかのお役に立てれば幸いです。

この記事をシェアする

関連記事