LoginSignup
0
0

More than 1 year has passed since last update.

Databricksで利用できるデータストアにおけるデータへの権限付与機能(認可、アクセス制御)に関する検証

Last updated at Posted at 2021-11-23

概要

Databricksで利用できるデータストアにおけるデータへの権限付与機能(認可、アクセス制御)を確認するために実施した、データ オブジェクトの特権と動的ビュー関数(行レベルセキュリティ、列レベルセキュリティ)に関する検証内容を共有します。

検証内容としては、下記の記事をベースにしております。

詳細は下記のGithub pagesのページをご確認ください。

コードを実行したい方は、下記のdbcファイルを取り込んでください。

https://github.com/manabian-/databricks_tecks_for_qiita/blob/main/tecks/data_object_privileges_test/data_object_privileges_test.dbc

検証方法

Databricks管理者権限を保持させたユーザーとデータ参照ユーザーの2つのユーザーを用意して、DDL実行等のメタデータのデプロイのノートブック(01_configure_data_object_privileges)を前者のユーザーで、データ参照の検証を後者のユーザーで実行。

下記を事前に実施する必要があります。

  1. ワークスペースレベルでのテーブルアクセス制御を有効にすること
  2. クラスター作成権限を拒否して、テーブルアクセス制御が有効なクラスターのみ利用するように設定すること
  3. SELECT ON ANY FILE権限を拒否すること

検証結果

下記のデータストアにおけるデータへの権限付与が可能でした。DatabricksをデータレイクやDWHとして利用する際には、データへのセキュリティ要件を満たすことできそうです。

分類 権限付与項目 可否 実施方法
データストアシステムへの権限付与 SQL命令(DDL、DCL)相当に対する実行の権限付与 CREATE権限、あるいは、OWNER権限を付与する。
データストアシステムへの権限付与 オブジェクト(スキーマ)一覧の閲覧の権限付与 USAGE権限とSELECT権限を付与する。
データストアシステムへの権限付与 データ参照の権限付与 USAGE権限とSELECT権限を付与する。
データストアシステムへの権限付与 データ挿入・更新・削除の権限付与 MODIFY権限を付与する。
データへの権限付与 ルールベースによる行レベルセキュリティ 動的ビュー関数を利用。
データへの権限付与 データ権限(認可)テーブルを利用した行レベルセキュリティ 動的ビュー関数を利用。
データへの権限付与 列への参照権限付与による列レベルセキュリティ ×
データへの権限付与 動的データマスキングによる列レベルセキュリティ(ルールベース) 動的ビュー関数を利用。
データへの権限付与 動的データマスキングによる列レベルセキュリティ(データ権限(認可)テーブル) 動的ビュー関数を利用。

下記の実行を許容する場合には、USAGE権限とSELECT権限だけでなく、READ_METADATA権限も許可してもよさそうです。

  1. EXPLAIN
  2. DESCRIBE TABLE
  3. SHOW CREATE TABLE

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0