ログ RBAC アクセス許可

概要

ログの RBAC ロールを作成したら、そのロールにアクセス許可を割り当てたり削除したりできます。

Datadog サイトでロールを更新して、ロールへアクセス許可を直接割り当てたり削除したりできます。

Datadog Permission API を使用して、ロールへアクセス許可を直接割り当てたり削除したりできます。

個々のアクセス許可に関する詳細は、以下をご覧ください。

ログコンフィギュレーションアクセス

logs_generate_metrics

Generate Metrics 機能を使用する能力をロールに付与します。

このアクセス許可はグローバルで、これにより新しいメトリクスの作成と、既存のメトリクスの編集または削除の両方が可能になります。

logs_write_facets

ファセットの作成、編集、および削除を使用する能力をロールに付与します。

このアクセス許可はグローバルで、これにより新しいファセットの作成と、既存のメトリクスの編集または削除の両方が可能になります。

logs_modify_indexes

ログインデックスを作成および変更する能力をロールに付与します。それには以下が含まれます。

このアクセス許可はグローバルで、これにより新しいインデックスの作成と、既存のインデックスの編集の両方が可能になります。

logs_write_exclusion_filters

インデックス内で除外フィルターを作成または変更する能力をロールに付与します。

このアクセス許可は、グローバルに割り当てることも、インデックスのサブセットに制限することもできます。

インデックスのサブセット:

  1. ロールのグローバルなアクセス許可を削除。
  2. インデックスを編集し、“Grant editing Exclusion Filters of this index to” フィールドにロールを追加することで、Datadog サイトのインデックスページでこの権限をロールに付与します。

このコンフィギュレーションは、UI を通じてのみサポートされます。

logs_write_pipelines

ログ処理パイプラインを作成および変更する能力をロールに付与します。それには以下が含まれます。

logs_write_processors

プロセッサとネストされたパイプラインを作成、編集、または削除する能力をロールに付与します。

このアクセス許可は、グローバルに割り当てることも、パイプラインのサブセットに制限することもできます。

特定のパイプラインの Edit モーダルでロールを割り当てます。

  1. 特定のパイプラインに割り当てるロールのロール ID を取得します。
  2. 地域の logs_write_processors アクセス許可 API のアクセス許可 ID を取得します。
  3. 以下の呼び出しで、そのロールにアクセス許可を付与します。
curl -X POST \
        https://app.datadoghq.com/api/v2/roles/<ROLE_UUID>/permissions \
        -H "Content-Type: application/json" \
        -H "DD-API-KEY: <YOUR_DATADOG_API_KEY>" \
        -H "DD-APPLICATION-KEY: <YOUR_DATADOG_APPLICATION_KEY>" \
        -d '{
                "id": "<PERMISSION_UUID>",
                "type": "permissions"
            }'

logs_write_archives

ログアーカイブを作成、編集、または削除する能力を付与します。それには以下が含まれます。

  • アーカイブにルーティングするログのアーカイブフィルターを設定する
  • アーカイブの名前を設定する
  • アーカイブを並べ替える
  • ログ読み取りアーカイブアクセス許可をロールのサブセットに制限します。

このアクセス許可はグローバルで、これにより新しいアーカイブの作成と、既存のアーカイブの編集と削除が可能になります。

logs_read_archives

アーカイブコンフィギュレーションの詳細にアクセスする能力を付与します。 ログ書き込み履歴ビューと組み合わせて、このアクセス許可はアーカイブからリハイドレートをトリガーする能力も付与します。

このアクセス許可の対象はアーカイブのサブセットとなります。アクセス制限のないアーカイブは、logs_read_archives アクセス許可をもつロールに属するユーザー全員が閲覧できます。アクセスが制限されているアーカイブは、logs_read_archives が許可されているロールを除き、登録済みのロールのいずれかに属するユーザーのみしかアクセスできません。

以下の例では、Guest 以外のすべてのロールに logs_read_archive 許可が付与されていることを前提としています。

  • Staging には Guest ロールのみに属するユーザーを除くすべてのユーザーがアクセスできます。
  • Prod には Customer Support に属するすべてのユーザーがアクセスできます。
  • Security-Audit には、Customer Support に属するユーザーはアクセスできません。Audit & Security も同時に付与されている場合はアクセスが可能です。
カスタムロールを作成

アーカイブの作成に進むことも、アーカイブの編集中にいつでも更新することもできます。

カスタムロールを作成

ログアーカイブ API を使用して、特定のアーカイブからロールを割り当てまたは取り消しします。

logs_write_historical_views

Log Rehydration* をトリガーすることを意味する、履歴ビューを書き込む能力を付与します。

このアクセス許可はグローバルです。 これにより、ユーザーは、ログ読み取りアーカイブアクセス許可を持つアーカイブのリハイドレートをトリガーできます。

履歴ビューを書き込む

上記の例では

  • ADMIN ロールメンバーは、そのアーカイブに対する履歴ビューの書き込み (リハイドレート) アクセス許可と、アーカイブの読み取りアクセス許可を持っているため、Audit Archive からリハイドレートできます
  • AUDIT ロールメンバーは、履歴ビューの書き込み (リハイドレート) アクセス許可を持っていないため、Audit Archive からリハイドレートすることはできません
  • PROD ロールメンバーは、アーカイブの読み取りアクセス許可を持っていないため、Audit Archive からリハイドレートすることはできません

Audit Archive からリハイドレートされたすべてのログに team:audit タグを割り当てるときは、team:audit ログの読み取りに制限されている Audit ロールメンバーがリハイドレートされたコンテンツにのみアクセスできることを確認してください。タグの追加とリハイドレートの方法の詳細については、ログアーカイブ設定セクションを参照してください。

Prod Archive からリハイドレートされた service:ci-cd ログの場合、次の点に注意してください。

削除: logs_public_config_api

Datadog は logs_public_config_api 権限を削除しました。

以下の 5 つの権限が、Datadog API を通じて、ログ構成の表示、作成、修正の能力を制御します。

ログデータアクセス

次のアクセス許可を付与してログデータのサブセットの読み取りアクセス権を管理します。

  • ログ読み取りデータ (推奨) は、ログ制限クエリに一致するログへのロールのアクセスを制限することにより、よりきめ細かなアクセス制御を提供します。
  • ログ読み取りインデックスデータは、インデックスごとにインデックス付きログデータへのデータアクセスを制限するレガシーアプローチです。(インデックスされたデータにアクセスする際にもこのアクセス許可を有効にすることが求められます)

logs_read_data

ログデータへの読み取りアクセス権。付与された場合、他の制限が適用されます (logs_read_index_data または制限クエリなど)。

ロールは付加的です。ユーザーが複数のロールに属している場合、ユーザーがアクセスできるデータは、各ロールからのすべてのアクセス許可の結合になります。

:

  • ユーザーがログ読み取りデータのあるロールに属し、ログ読み取りデータのないロールにも属している場合、ユーザーにはデータを読み取るアクセス許可があります。
  • ユーザーが 1 つのロールで service:sandbox に制限されており、別のロールで env:prod に制限されている場合、ユーザーはすべての env:prodservice:sandbox ログにアクセスできます。
データ読み取りアクセス権

制限クエリに一致するログ以外は見られないようユーザーを制限するには、Data Access ページを使用します。

  1. 制限クエリを作成
  2. その制限クエリにロール(複数可)を割り当て
  3. それぞれの制限クエリに割り当てられたロールおよびユーザーを確認

このビューには以下が表示されます。

  • Restricted Access セクション: すべての制限クエリと、それらにアタッチされているロール
  • Unrestricted Access セクション: log_read_data 許可が付与されているすべてのロール(それ以上の制限はなし)
  • No Access セクション: log_read_data 許可が付与されていないすべてのロール

制限クエリを作成する

クエリフィルターを定義する新しい制限クエリを作成します。新しいクエリは、ロールなしで制限リストに表示されます。

制限クエリにロールを割り当てる

任意のロールを選択し、目的の制限クエリに割り当てます。

: ロールを割り当てられるのは、1 つの制限クエリのみです。つまり、ロールを制限クエリに割り当てると、このロールにすでにアタッチされていた制限クエリとの関係性を失います。

同様に、同じ “Move” インタラクションを使用してロールに Unrestricted Access を付与するか、反対に No Access ロールに変更します。

制限クエリの確認

Data Access ページには、セクションごとに最大 50 の制限クエリ、50 のロールが表示されます。ページで表示可能な数よりも多くのロールと制限クエリがある場合、フィルターを使用してこの表示を絞り込みます。

  • 制限クエリフィルターを使用:

    制限クエリフィルター
  • ロールフィルターを使用:

    ロールビュー
  • ユーザーフィルターを使用(複数ロールに属する特定のユーザーが実際に持つアクセス許可を確認するのに便利):

    ロールビュー

Roles API を使用して、ロールからこのアクセス許可を取り消すか付与します。 制限クエリを使用して、ログデータのサブセットにアクセス許可をスコープします。

レガシーアクセス許可

これらのアクセス許可は、デフォルトですべてのユーザーに対してグローバルに有効になっています。

ログ読み取りデータアクセス許可は、これらのレガシーアクセス許可の上にあります。たとえば、ユーザーがクエリ service:api に制限されているとします。

  • このユーザーが audit および errors インデックスのスコープ読み取りインデックスデータアクセス許可を持っている場合、このユーザーにはこれらのインデックス内の service:api ログのみが表示されます。
  • このユーザーが livetail 権限を持っている場合、このユーザーには livetail の service:api ログのみが表示されます。

logs_read_index_data

いくつかのログインデックスでロールに読み取りアクセス権を付与します。これは、グローバルに割り当てることも、ログインデックスのサブセットに制限することもできます。

このアクセス許可の範囲をインデックスのサブセットに設定するには、まずロールの logs_read_index_data および logs_modify_indexes アクセス許可を削除します。その後、

このロールにコンフィギュレーションページのインデックスへのアクセスを許可します。

特定のロールにインデックスの読み取りアクセス権を付与する
  • 特定のパイプラインに割り当てるロールのロール ID を取得します。
  • 地域の logs_write_processors アクセス許可 API のアクセス許可 ID を取得します。
  • 以下の呼び出しで、そのロールにアクセス許可を付与します。
curl -X POST \
        https://app.datadoghq.com/api/v2/roles/<ROLE_UUID>/permissions \
        -H "Content-Type: application/json" \
        -H "DD-API-KEY: <YOUR_DATADOG_API_KEY>" \
        -H "DD-APPLICATION-KEY: <YOUR_DATADOG_APPLICATION_KEY>" \
        -d '{
                "id": "<PERMISSION_UUID>",
                "type": "permissions"
            }'

logs_live_tail

ロールに Live Tail 機能を使用する能力を付与します。

このアクセス許可はグローバルで、ログ読み取りインデックスデータアクセス許可に関係なく、livetail へのアクセスを許可します。

参考資料


*Log Rehydration は Datadog, Inc. の商標です