データアクセス¶
ログ、RUM、APM、メトリクスなどのデータには機密情報が含まれる可能性があるため、セキュリティ上の理由から、たとえ同一のビジネス組織内であっても、データアクセス権限を細かく区分する必要があります。
データアクセス機能は以下の方法で実現します。
- 異なるソースのインデックスに基づき、訪問者に対してメンバーロールレベルのデータアクセス範囲を設定します。
- 正規表現やマスキングフィールドなどのツールを利用して、アクセス制限に加えてデータに必要な処理を施し、機密情報がデータの価値を損なうことなく適切に保護されるようにします。
管理 > データアクセスページでは、以下の2つの方法で新しいルールの作成を開始できます。
ページ左上のルールを作成ボタンをクリックすると、作成を開始できます。
現在のページに過去のアクセスルールが存在する場合、そのルールの右側にある操作の アイコンをクリックすると、既存のルールを複製してから作成できます。
設定¶
- データタイプを選択します。
- 現在のルールの名前を定義します。
- 現在のルールの説明を入力します。
- 現在のルールを適用するワークスペースサイトを選択します。
- 選択したデータタイプに対応するインデックス、サービス、アプリケーション、メトリクスを選択します。
- 現在のルールにおけるデータのアクセス範囲を定義します。
- マスキングが必要な単一または複数のフィールドを追加します。
- 正規表現を使用して、フィールドコンテンツ内の機密情報をマスキングします。
- 現在のアクセスルールを適用可能な単一または複数のメンバーロール(システム内のデフォルトロールおよび自作ロールを含む)を選択します。
- 保存します。
設定の注意事項¶
データアクセス範囲の定義¶
データ範囲: アクセスルール内のメンバーは、フィルター条件に一致するデータのみを表示および検索できます。
異なるフィールド間の論理関係は、任意 (OR) またはすべて (AND) からカスタム選択できます。
- デフォルトではすべて (AND) が選択されており、任意 (OR) に切り替え可能です。
- 論理関係の例は以下の通りです。
- 例1:(デフォルトの AND)
- host=[host1,host2] AND service = [service1,service2]
- 例2:(任意 OR に切り替え)
- host=[host1,host2] OR service = [service1,service2]
- 例1:(デフォルトの AND)
タグ/属性による値のフィルタリングが可能で、前方フィルタリング、後方フィルタリング、あいまい一致、後方あいまい一致、存在、非存在など、複数のフィルタリング方法をサポートします。
正規表現によるマスキング¶
アクセスルールを設定する際、データ範囲は定義済みですが、機密情報や不要な情報の漏洩を防ぐために追加の対策が必要です。その際、マスキングフィールドや正規表現を利用してデータをさらに処理し、データ保護を強化できます。
設定ページでは、単一のマスキングフィールドを直接追加するだけでなく、ログの message 内の特定部分をさらにマスキング処理する必要がある場合(例:トークンやIP情報を表示しない)、正規表現を追加することでこの要件を満たせます。
- 複数の正規表現を設定可能で、1つのアクセスルールあたり最大10個の式を設定できます。
- 特定の正規表現を無効化または有効化できます。以降の適用とプレビューは、有効化された正規表現のみに基づいてマスキングが適用されます。
- ここで正規表現を直接編集または削除できます。
- ドラッグ&ドロップで正規表現の位置を移動できます。データがこのマスキングルールに一致した場合、上から下の順序で正規表現が適用され、マスキング処理が行われます。
- ここで直接新しい正規表現を作成できます。
ポップアップウィンドウで、必要な情報を入力します。
ルールに適用にチェックを入れると、そのルールが正規表現の下に直接追加されます。
ロールシナリオとクエリ権限¶
単純なケース¶
あるメンバーが read-only など、単一のロールのみを担っている場合、そのロールを選択すると、システムは設定されたこのロールに対してのみマスキングを適用して表示します。
ここで、「すべて」のロールを選択した場合、Owner 以外のすべてのロールがマスキングの影響を受けます。
注意
- デフォルトロールにデータアクセスルールが設定されていない場合、すべてのデータのクエリ権限を持ちます。
- ユーザーロールにデータクエリ権限が存在することを前提として、データアクセスのルールが有効になります。
- ロールがルールに一致した場合、ルールで設定された基本範囲内でのみフィルターを追加できます。この範囲を超えてクエリを実行すると、返されるデータは空になります。
複数ロールの権限オーバーラップ¶
あるメンバーが複数のロールを持ち、これらのロールのクエリ権限の適用範囲がそれぞれ異なる場合(下図参照)、そのメンバーの最終的なデータクエリ権限は、すべてのロールのデータアクセス表示範囲の合計となります。
複数ルールの権限制御¶
ビジネスデータが複雑で階層が多い場合、異なるソースや属性を持つデータに対して、異なるデータアクセス要件に対応するために複数のアクセスルールを設定する必要がある場合があります。
- 1つのルール内の複数のフィルター間の関係:同じキーの複数の値の関係は OR、異なるキー間の関係は AND です。
- 複数のルール間の関係は OR です。
したがって、次のようになります。
ルール 1:host = [ホスト1,ホスト2] AND service = [サービス1,サービス2] ルール 2:host = [ホスト3,ホスト4] AND source = [ソース1,ソース2]
同じロールが上記2つの権限ルールを同時に持つ場合、実際のデータは ルール1 OR ルール2 として表示され、和集合の効果が得られます。
実際に表示可能なデータ範囲は次の通りです。
(host = [ホスト1,ホスト2] AND service = [サービス1,サービス2])OR (host = [ホスト3,ホスト4] AND source = [ソース1,ソース2])
同じロールが複数の権限ルールを持ち、そのうちルール 1 にマスキングルールが設定されている場合、すべての権限ルールで返されるすべてのデータがマスキングルールの影響を受けます。
ロール管理での関連付けの維持¶
データアクセスルールで適用ロールを選択する他に、管理 > ロール管理でロールに関連付けられたデータアクセスルールを一元的に表示および管理することもできます。
- ロール一覧のデータアクセスルール列には、現在のロールに関連付けられたルールの数が表示されます。
- 数字をクリックまたはホバーすると、右側のドロワーでルールを検索、ページネーション選択、関連付けの保存ができ、データアクセスページに移動して設定を続行することもできます。
- このエントリポイントでは、ロールとルールの関連付けのみを管理し、ルールのデータ範囲、フィルター条件、データタイプ、マスキング設定は変更しません。
- ルールの保存が成功すると、ロール一覧の関連付け数が同期して更新されます。
この関連付けの表示と編集は、それぞれロール表示、データアクセス表示、データアクセス管理の権限によって制御されます。詳細については、ロール管理を参照してください。
設定例¶
- このワークスペースのインデックス
rp70を選択します。 - データ範囲を
host:cn-hangzhou.172.**.**およびservice:kodoに設定します。 - ここではマスキングフィールドを設定せず、正規表現
tkn_[\da-z]*を作成し、token情報を暗号化します。 - 最後に、現在のアクセスルールをこのワークスペース内のすべての
Read-onlyメンバーに直接付与します。 - 保存をクリックします。必要に応じて、左下のプレビューをクリックしてマスキング効果を確認できます。
上記のアクセスルールは、このワークスペース内のすべての Read-only メンバーを対象としており、ログインデックス rp70 内の host:cn-hangzhou.172.**.** および service:kodo のデータのみにアクセスでき、これらのデータ内ではすべての token 情報が表示されません。
ユースケース¶
既に有効なデータアクセスルールに基づき、ルールに該当するメンバーが受信するスナップショットデータは、自動的にその権限ルールに従ってフィルタリングされます。スナップショットにメンバーのアクセス権限を超えるデータが含まれている場合でも、システムが事前にフィルタリングし、最終的にメンバーは自身のアクセスルールに一致するデータのみを表示できます。
管理一覧¶
- ルールに関連付けられたインデックス、クエリ条件、マスキングの有無、関連付けられたロール数、メンバー数などの情報を表示できます。ロール管理でロールごとに関連ルールを表示および管理することもできます。
- 自分に関連するルールのみ表示:デフォルトは「オフ」で、すべてのルールを表示します。有効にすると、現在のロールに関連するルールのみが表示されます。
- ルールの有効化/無効化:ルールの状態を変更します。無効にするとロールのアクセス制限はなくなり、有効にすると復元されます。
- 編集:ルールの名前、説明、バインドするインデックス、フィルター条件、許可ロールを変更できます。
- 複製:現在のルールをすばやくコピーします。
- 操作監査:ルールに関連する操作を記録します。
- 削除:現在のルールを削除します。
- 一括操作:複数のルールの一括有効化、無効化、削除をサポートします。





