アクセス制御モデル
プレビュー
Lakewatchは プライベート プレビュー段階です。アクセスをリクエストするには、Databricksアカウントチームにお問い合わせください。
Lakewatchのアクセス制御は、 Unity Catalogによって管理されます。Lakewatchリソースは、選択したカタログとスキーマに存在する Unity Catalogのセキュリティ保護可能なオブジェクトであり、 Unity Catalogの権限を使用してアクセス権を付与します。アクセス権は Unity Catalog階層の下位に継承されるため、カタログまたはスキーマに対する付与は、その下のLakewatchリソースに適用されます。
プリンシパル
アクセスはプリンシパル(個々のユーザー、Service Principal(名前またはapplicationIdで識別されます)、およびグループ)に付与されます。Lakewatchには事前定義されたロールやグループは必要なく、Unity Catalogがサポートする任意のアイデンティティを使用できます。グループをセキュリティロールにマッピングする推奨されるチームベースのセットアップについては、アクセス制御のセットアップを参照してください。
Unity Catalogで保護可能なリソースとしてLakewatchリソース
これらのLakewatchリソースは、Unity Catalogで保護可能なリソースであり、選択したカタログとスキーマの下にあります。
- データソース
- 検出ルール
環境ごとのカタログ (dev/staging/prod) とチームごとのスキーマなど、他の Unity Catalog データと同じように整理します。推奨パターンについては、「 デプロイ パターン」を参照してください。
リソースの 2 つのグループは Unity Catalog によって管理されますが、処理方法が異なります。
- クエリー はLakewatchアプリを通じて管理されます。これは、データソースと検出ルールに付与する権限ではなく、独自の権限レベルを使用します。
- シグナル と アラート は、検出ルールから 導出 されます。ルールはシグナルを生成し、それがアラートに照合されます。これらは別の保護対象オブジェクトではないため、直接権限を付与することはできません。親ルールまたはデータソースに対するセキュリティデータ権限(
READ_SECURITY_DATAおよびUPDATE_SECURITY_DATA)は、それらへのアクセスを制御します( 継承を参照してください)。
環境とフォルダ
Lakewatchは、リソースを保持するUnity Catalogのカタログとスキーマを 環境 と フォルダ として登録します。
- 環境 は、Lakewatchに登録されているカタログ(そのリソースのトップレベルスコープ)です。環境は、そのカタログがバインドされているワークスペースからのみ使用できます(ワークスペースカタログのバインディングを参照)。
- フォルダ とは、そのカタログの下でLakewatchに登録されたスキーマです。データソースと検出ルールはフォルダ内に格納され、フォルダに付与する権限はフォルダ内のすべてのリソースに適用されます。
環境とフォルダは、デプロイメントモデルで説明されている 環境ごとのカタログ、チームごとのスキーマ の構成を表示するものであり、アクセス権が付与される方法を変更するものではありません。フォルダーのアクセス許可は、基になるスキーマに対する Unity Catalog の付与であるため、 権限 と 継承 は変更されずに適用されます。
権限
カタログ、スキーマ、または個々のリソースに対するUnity Catalog権限でアクセス権を付与します。Lakewatchは、リソースの構成の読み取り、リソースの管理、リソースのアクセスの管理、およびリソースが生成するセキュリティデータ (シグナルとアラート) の読み取りまたは更新を行うための権限を定義します。リソースタイプごとの完全なリストと、各権限で許可される操作については、「役割と機能」を参照してください。
リソースを作成するには、プリンシパルにはカタログに対する USE CATALOG 権限とスキーマに対する USE SCHEMA 権限に加えて、そのスキーマまたはカタログに対する作成権限が必要です。データソースの場合は CREATE_DATASOURCE、検出ルールの場合は CREATE_RULE。USE CATALOG と USE SCHEMA はトラバーサル権限です。それ自体では、プリンシパルはカタログとスキーマに到達できますが、リソースを表示する権限 (それには READ_METADATA が必要) やリソースを作成する権限は付与されません。
すべてのLakewatchリソースはUnity Catalogの保護可能なオブジェクトであるため、リソースに対するアクション自体の権限に加えて、リソースへのアクセス(単なる表示を含む)には、カタログに対するUSE CATALOGとスキーマに対するUSE SCHEMAが必要です。Unity Catalogは、このルールをテーブルなど、管理するすべてのオブジェクトに適用するため、データソースや検出ルール(READ_METADATA)への表示アクセス権を誰かに付与することは、 USE CATALOGとUSE SCHEMAも付与することを意味します。ただし、それら2つの権限だけではリソースは表示されません。
継承
アクセス権は、Unity Catalog の階層である カタログ → スキーマ → リソース の順に引き継がれます。カタログまたはスキーマに付与された権限は、その下のすべてのLakewatchリソースに適用されるため、リソースごとに付与するのではなく、カタログまたはスキーマレベルで広範囲に付与することができます。
推奨されるセットアップでは、各グループの権限をカタログレベルで付与するため、カタログ内のすべてのスキーマとリソースに適用されます。グループのスコープをより狭くするには、代わりにスキーマレベルで同じ権限を付与します。
シグナルとアラートは派生アーティファクトであり、それ自体の権限はありません。アクセスは親の検出ルールまたはデータソースから継承されますが、親の構成を読み取る権限とは別の特権によって継承されます。
READ_METADATA検出ルールまたはデータソースに対して付与されると、そのリソースと構成を読み取ることができます。それだけでは、そのリソースが生成する シグナルとアラート へのアクセスは許可されません。- これらのシグナルとアラートを表示するには、親リソースに対する
READ_SECURITY_DATA(READ_METADATAとは別の権限)が必要です。 - アラートの更新は、親リソースに対する
UPDATE_SECURITY_DATA権限に従います。信号は不変です。
所有権
Lakewatchリソースを作成したプリンシパルは、リソースのアクセス管理を含むリソースの完全な制御権を持つ 所有者 となります。所有権は譲渡可能であり、他のプリンシパルに権限を付与することで、アクセスをより広範囲に共有できます。
設定
Lakewatchの設定はカタログに関連付けられており、そのカタログの下にあるすべてのLakewatchリソースに適用されます。カタログに対するMANAGEを持つプリンシパルは、そのカタログの設定を変更できます。
オンボーディングと管理
カタログに対するUSE CATALOG権限、スキーマに対するUSE SCHEMA権限、および関連する作成権限(CREATE_DATASOURCEまたはCREATE_RULE)を持つユーザーは、そこにLakewatchリソースを作成でき、作成したリソースを所有できます。ワークスペースのdefaultカタログでは、ワークスペースユーザーにはdefaultでUSE CATALOGとUSE SCHEMAが付与されますが、CREATE_DATASOURCEとCREATE_RULEはdefaultで付与されません。そのため、Lakewatchリソースを作成する前に、関連する作成権限をユーザーに付与する必要があります。チームのためにLakewatchをセットアップするには、アクセス制御のセットアップに従います。これにより、グループ、ラン-as Service Principal、および必要な許可が作成されます。カタログまたはスキーマに対して MANAGE を付与することで、一連のリソースの管理を委任できます。
アクセスコントロールは主として 所有者ベース です。権限チェックは明示的な付与またはリソースの所有によって満たされ、Lakewatchにはそれ自体の個別の管理者オーバーライドはありません。アカウント管理者とメタストア管理者は、Unity Catalogの管理者権限を通じて、引き続き所有権を取得するか、自身にMANAGEを付与できます。リソースの所有者が失われ(たとえば、人物が退職したり、サービスプリンシパルが削除されたりした場合)、他のプリンシパルがMANAGEを保持していない場合、アクセスを回復するのは困難になる可能性があるため、Databricksではグループで本番運用リソースを所有することをお勧めします。デプロイモデルを参照してください。
スケジュールされたジョブと実行プリンシパル
各データソースと検出ルールは、 実行者プリンシパル を記録します。リソースを作成する際にそれを選択し(自分自身のID、または使用する権限のあるService Principal)、リソースにMANAGEを持つユーザーのみがこれを変更できます。リソースのスケジュールされた取り込みおよび検出パイプラインはそのプリンシパルとして実行されるため、データソースまたは検出ルールが参照するテーブルへのアクセス権をそのプリンシパルに付与する必要があります。この目的のためにService Principalを作成し、スケジュールされたジョブに必要なアクセス権を付与するには、 「アクセス制御の設定」を参照してください。