メインコンテンツまでスキップ

Lakewatchアクセス制御を設定する

備考

プレビュー

Lakewatchは プライベート プレビュー段階です。アクセスをリクエストするには、Databricksアカウントチームにお問い合わせください。

グループ、実行者Service Principal、およびUnity Catalogの許可を設定することは、セキュリティチームのためにLakewatchのアクセス制御を構成する推奨される方法です。このガイドでは、最小権限の下で取り込み、検出作成、アナリストの業務を分離する4つのグループを持つ単一のLakewatchカタログを設定します。基になるデータに既にアクセスできる単一ユーザーは、この設定なしでLakewatchを使用できます。シングルユーザーモデルとチームベースモデルのどちらかを選択するには、デプロイメントモデルを参照してください。

付与では、カタログとしてlakewatchを、スキーマとしてlakewatch.prodを使用します。それらを自分の名前に置き換え、<sp>をラン実行者Service PrincipalのapplicationIdに置き換えます。

ペルソナ​

このセットアップでは、一般的なセキュリティチームのロールごとに1つずつ、4つのグループがプロビジョニングされます。グループは推奨されますが、任意です。すべての Unity Catalog プリンシパルに同じ権限を付与できます。

グループ

ロール

lakewatch-admins

Lakewatchの管理:リソース、設定、他のユーザーのアクセス権を管理します。

lakewatch-data-engineers

データソースのオンボードと管理を行い、データをテーブルに格納します。

lakewatch-detection-engineers

検出ルールを作成および調整し、その結果を確認します。

lakewatch-analysts

アラートキューの処理:アラートの読み取り、ステータスの更新、データに対するクエリーの実行。

グループ

ロール

lakewatch-admins

Lakewatchの管理:リソース、設定、他のユーザーのアクセス権を管理します。

lakewatch-data-engineers

データソースのオンボードと管理を行い、データをテーブルに格納します。

lakewatch-detection-engineers

検出ルールを作成および調整し、その結果を確認します。

lakewatch-analysts

アラートキューの処理:アラートの読み取り、ステータスの更新、データに対するクエリーの実行。

前提条件​

  • ステップ 1 のアカウント管理者。グループ、Service Principal、および代理実行(run-as delegation)の作成は、アカウントレベルのタスクです。
  • ステップ2のメタストア管理者、またはメタストアのCREATE CATALOG。アカウント管理者はこれを付与しません。
  • SQL Warehouseおよびステップ4で使用するCAN_MANAGE。warehouseはLakewatchが実行されるコンピュートです。
  • ステップ6で付与した外部ロケーション、接続、またはソーステーブルに対する所有者権限。

ステップ2、3、5、および6を、ノートブックまたはSQLエディタでSQLとしてランします。ステップ1と4は、アカウントコンソールとワークスペースUIでの1回限りのアクションです。

1. グループ、Service Principal、実行用委任の作成​

スケジュールされたデータソースと検出ルールは Service Principal として実行されるため、Service Principalを作成し、Lakewatchを操作するグループにそれとしてリソースをランする権限を付与してください。アカウントコンソールで:

  1. ユーザー管理 > グループ に移動し、次の4つのグループを作成してください:lakewatch-admins、lakewatch-data-engineers、lakewatch-detection-engineers、lakewatch-analysts。
  2. [ユーザー管理] > [Service Principal] に移動し、LakewatchランService Principalを作成します。後続のステップで<sp>として使用するために、そのapplicationId(UUID)をコピーします。
  3. Service Principalの [ 権限 ] tabで、[ Service Principalマネージャー ] を lakewatch-admins に割り当てます。
  4. 同じtabで、 Service Principal ユーザー を lakewatch-data-engineers と lakewatch-detection-engineers に割り当てます。これにより、それらのグループのメンバーは、Service Principalとして実行されるリソースを作成できます。

2. カタログとスキーマを作成する​

Lakewatchリソースを保持するカタログとスキーマを作成します。次のコマンドをランします。

SQL
CREATE CATALOG IF NOT EXISTS lakewatch;
CREATE SCHEMA IF NOT EXISTS lakewatch.prod;

3. Service Principal にデータへのアクセス権を付与する​

実行Service Principalは、スキーマ内のデータを読み書きする必要があります。ベースラインアクセスを付与するには、以下をラン。

SQL
GRANT USE CATALOG ON CATALOG lakewatch TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT CREATE TABLE ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT MODIFY ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT SELECT ON SCHEMA lakewatch.prod TO `<sp>`;

4. Service PrincipalにSQLウェアハウスの使用権限を付与する​

Service Principalは、warehouseでSQLをランします。warehouseの使用権限の付与はワークスペースの権限であり、Unity Catalogの付与ではありません。

  1. SQLウェアハウス に移動し、Lakewatchで使用するwarehouseを開きます。
  2. その アクセス許可 で、Service Principal に 使用可能 を付与します。これにはwarehouseに対する CAN_MANAGE が必要です。

5. 各グループに権限を付与する​

各グループにカタログに対する権限を付与します。権限はUnity Catalog階層の下位に継承されるため、カタログへの権限付与はその下にあるすべてのLakewatchリソースに適用されます。各権限が許可するものについては、 ロールと機能を参照してください。

管理者特権を付与するには、以下をラン:

SQL
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MANAGE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;

データエンジニアに権限を付与するには、以下を実行します:

SQL
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE TABLE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;

検出エンジニアの権限を付与するには、次のコマンドをランします。

SQL
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-detection-engineers`;

アナリストに権限を付与するには、以下を実行します:

SQL
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-analysts`;

6. ソースへのアクセス権を付与する(オプション)​

これらは、使用するソースに対してのみ許可してください。それぞれについて、許可を与える保護対象の所有者である必要があります。

Service Principalが外部ロケーションから読み取れるようにするには、以下を実行します:

SQL
GRANT READ FILES ON EXTERNAL LOCATION <external_location> TO `<sp>`;

Service Principalにメタストア内のすべての接続を使用させるには、以下を実行します。

SQL
GRANT USE CONNECTION ON METASTORE TO `<sp>`;

Service Principalが既存のソーステーブルを読み取れるようにするには、以下を実行します:

SQL
GRANT USE CATALOG ON CATALOG <src_catalog> TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA <src_catalog>.<src_schema> TO `<sp>`;
GRANT SELECT ON TABLE <src_catalog>.<src_schema>.<src_table> TO `<sp>`;

7. 認証​

付与が適用されたことを確認します。カタログとスキーマの権限を一覧表示するには、次のコマンドを実行します。

SQL
SHOW GRANTS ON CATALOG lakewatch;
SHOW GRANTS ON SCHEMA lakewatch.prod;

制限​

  • USE CONNECTION ON METASTOREを付与すると、Service Principalはメタストア内のすべての接続を使用できるようになります。これは最小特権よりも広範囲な権限です。Lakewatch専用のメタストアでのみ使用してください。

関連​