ログ RBAC アクセス許可

ログ 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

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

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

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

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

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 API でログコンフィギュレーションを表示、作成または変更する能力を付与します。

ログパブリックコンフィギュレーション API アクセス許可は、API を介してアクションを操作するアクセス許可のみを付与します。たとえば、ログ書き込み除外フィルターアクセス許可を持たないユーザーは、ログパブリックコンフィギュレーション API アクセス許可が付与されていても、API を介してサンプリングレートを更新できません。

ログデータアクセス

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

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

logs_read_data

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

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

:

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

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

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

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

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

制限クエリを作成する

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

制限クエリを作成

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

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

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

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

同様に、同じ “Move” インタラクションを使用してロールに Unrestricted Access を付与するか、反対に No 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 アクセス許可を削除します。その後、

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

curl -X POST \
        https://app.datadoghq.com/api/v1/role/<ROLE_UUID>/permission/<PERMISSION_UUID> \
        -H "Content-Type: application/json" \
        -H "DD-API-KEY: <YOUR_DATADOG_API_KEY>" \
        -H "DD-APPLICATION-KEY: <YOUR_DATADOG_APPLICATION_KEY>" \
        -d '{
                "scope": {
                    "indexes": ["<INDEX-1_ID>",["<INDEX-2_ID>"]
                }
            }'

logs_live_tail

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

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

その他の参考資料


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