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





