1. はじめに

皆さんこんにちは。

前回は「ユーザー作成」「グループへの追加」「ユーザー削除」についてご説明しました。
その続きとして、今回はAzure Databricksの「グループ作成」「グループに対するワークスペースの割り当て」「グループに対する権限割り当て」について説明していきます。

第1回:「ユーザー作成」「グループへの追加」「ユーザー削除」をしてみる
第2回:「グループ作成」「グループに対するワークスペースの割り当て」「グループに対する権限割り当て」をしてみる(今回)

以前、Databricksはグループ管理のために「Workspace-local groups」という概念を提供していました。しかし、「Workspace-local groups」を使用すると、「複数のワークスペースにグループを割り当てられない」や「Unity Catalogでデータアクセス権を付与できない」という制約がありました。
これらの制約を克服するために、Databricksは新しいグループ管理の「アカウントグループ」を提供しました。Databricks では、ワークスペースローカル グループをアカウント グループに変更して、Unity Catalog を使用した一元化されたワークスペースの割り当てとデータ アクセス管理を利用することが推奨されています。

参考URL:グループの管理 – Azure Databricks | Microsoft Learn

今回は、「アカウントグループ」の使用方法について説明していきます。

この手順の前提条件

当手順を実施する際の前提条件は以下の通りです。

  • 作業用Azure AD(Databricks)アカウントに下記権限が付与されていること
    • Databricksロール「Account Admin」
  • Azure Databricks でアカウント グループを管理するには、グループに対するグループ マネージャー ロール (パブリック プレビュー) が必要です。「Account Admin」や「Workspace Admins」の権限ではなく、「Group Manager」の権限しか持っていない場合、グループを管理するには「アカウント アクセス制御 API」を使用する必要があります。

2.Azure Databricks で「グループ作成」「グループに対するワークスペースの割り当て」「グループに対する権限割り当て」を行う

2-1.グループ作成

① マネージドアカウントにアクセスします。

② サイドバーから ユーザアイコン をクリックし、展開された画面から 「グループ」 → 「グループを追加」 をクリックします。

③「グループ名」 にグループ名を入力 → 「保存」をクリックします。

④ 作成したグループの詳細に画面が切り替わります。

⑤「メンバーを追加」 をクリックします。

⑥ 任意のユーザを選択 → 「追加」 をクリックします。

以上で、グループ作成が完了です。

2-2.グループに対するワークスペースの割り当て

① マネージドアカウントにアクセスします。

② サイドバーから ワークスペースアイコン をクリックし、展開された画面から割り当てる ワークスペース名 を選択します。

③「権限」をクリックし、展開された画面で「権限を追加」をクリックします。

④ ワークスペースに追加するグループを選択します。「権限」は、グループの用途に応じてAdmin又はUserを指定します。
※Adminはユーザ、グループ、ワークスペースを構成できる権限、Userはワークスペースにアクセスができる権限になります。

以上で、グループに対するワークスペースの割り当ては完了です。

2-3.グループに対する権限割り当て

■カタログへの権限割り当て

以下、この手順で付与できる権限です。
カタログで付与した権限はスキーマにも継承されます。

権限 説明
USE CATALOG カタログを扱ううえで必須になる権限
BROWSE オブジェクトのメタデータを読み取る機能を提供する
USE SCHEMA スキーマを扱ううえで必須になる権限
SELECT テーブル、またはビューをクエリする
ユーザー定義関数、または匿名関数を呼び出す
MODIFY テーブルへのコピー、更新、削除、挿入、テーブルの融合を行う
EXECUTE ユーザ定義関数を呼び出す
CREATE SHEMA カタログにスキーマを作成する
CREATE TABLE スキーマに関数を作成するテーブルを作成する
APPLY TAG オブジェクトにタグを適用する機能を提供
CREATE FUNCTION スキーマに関数を作成する
READ VOLUME
REFRESH
WRITE VOLUME
CREATE MATERIALIZED VIEW
CREATE MODEL
CREATE VOLUME
ALL PRIVILEGES 適用可能なすべての権限が付与される

(ここから実際の手順です)

まず、ワークスペースにアクセスします。

① サイドバーから カタログイコン をクリックし、展開された画面で 「カタログ」→「権限」→「付与」 をクリックします。

② 権限を割り当てたいグループを選択し、割り当てる権限 をクリックして、「付与」をクリックします。

以上で、カタログへの権限割り当ては完了です。

■外部ロケーションの権限割り当て

以下、この手順で付与できる権限です。

権限 説明
BROWSE オブジェクトのメタデータを読み取る機能を提供する
CREATE EXTERNAL TABLE 外部ロケーションを使用してテーブル作成権限
CREATE EXTERNAL VOLUME 外部ロケーションを使用してボリューム作成権限
CREATE MANAGED STORAGE 外部ロケーションを使用してテーブル作成権限を付与
READ FILES ファイルの読み取り権限
WRITE FILES ファイルの書き込み権限
ALL PRIVILEGES 適用可能なすべての権限が付与される

(ここから実際の手順です)
まず、ワークスペースにアクセスします。
① サイドバーからカタログアイコン をクリックし、展開された画面で 「外部データ」をクリックします。

② 権限を割り当てたい外部ロケーションを選択します。

③ 展開された画面で「付与」をクリックします。

④ 権限を割り当てたいグループを選択し、割り当てる権限 をクリック → 「付与」をクリックします。

以上で、外部ロケーションの権限割り当ては完了です。

■汎用クラスターへの権限割り当て

この手順で付与できる権限は以下の通りです

権限 説明
Can Manage(管理可能) ・ノートブックのアタッチ
・Sparkジョブの表示
・メトリックの表示
・ドライバーログの表示
・クラスターの開始、終了、再起動
・クラスターの編集
・アクセス許可の編集
Can Restart(再起動可能) ・ノートブックのアタッチ
・Sparkジョブの表示
・メトリックの表示
・ドライバーログの表示
・クラスターの開始、終了、再起動
Can Atacch to(アタッチ可能) ・ノートブックのアタッチ
・Sparkジョブの表示
・メトリックの表示
・ドライバーログの表示
No Permittions(アクセス許可なし) なし

参考URL:クラスターへのアクセス制御 – Azure Databricks | Microsoft Learn

Azure Databricksでは、「汎用クラスター」と「jobクラスター」の二種類のクラスタが存在します。

  • 汎用クラスター
    ノートブックを用いて複数ユーザーとコラボレーションしながらデータ分析を使う用途です。
    ※今回の手順ではこの汎用クラスターに権限設定をしていきます
  • jobクラスター
    ジョブ実行の度に作成され、実行が完了すると停止するクラスタです。
    ※汎用クラスターをジョブに指定する事も可能ですが、ジョブ実行時に毎回新規作成・停止するjobクラスターを指定する事が推奨されています

 

(ここから実際の手順です)

まず、こちらの手順でワークスペースにアクセスします。

Azure Databricksポータル画面で、サイドバーを展開します。

①「クラスター」をクリックし、表示された画面で、権限を割り当てるクラスターを選択します。

② 表示された画面から 「その他」→「権限」をクリックします。

③ 「Add users, groups, and service principals:」の下の空白枠をクリックし、権限を割り当てたいユーザ、グループ、またはサービスプリンシパルを選択します。

④ 選んだユーザ、グループ、またはサービスプリンシパルの右の権限枠をクリックし、「管理可能」「再起動が可能」「アタッチ可」から割り当てる権限を選択します。

⑤ 設定した内容がリストに入ったことが確認出来たら下部の「Save」をクリックします。

以上で、クラスタへの権限付与が完了です。

 

■SQL Warehouseに対する権限割り当て

この手順で付与できる権限は以下の通りです

尚、SQL Warehouse の所有者は、SQL Warehouse を作成した際から管理者の権限を持ちます。

権限 説明
Can Manage(管理可能) Warehouseのすべてのクエリを表示する
Warehouseの詳細を表示する
Warehouseの監視タブの表示をする
Warehouseの開始、停止
Warehouseの削除、編集
Warehouseのアクセス許可の変更
Can monitor(モニタリング可) Warehouseを起動する
Warehouseの詳細を表示する
Warehouseクエリの表示
[Warehouseの監視] タブを表示する
Can Use(利用可能) Warehouseの詳細を表示する
Warehouseの開始

参考URL:SQL warehouse access control – Azure Databricks | Microsoft Learn

 

(ここから実際の手順です)

まず、こちらの手順でワークスペースにアクセスします。

Azure Databricksポータル画面で、サイドバーを展開します。

① サイドバーから 「SQLウェアハウス」 をクリックします。

② 権限を割り当てるSQL Warehouse名の右にある、3点リーダー → 「権限」をクリックします。

③ 一覧に出ているユーザーの権限を変えるときは赤枠部分から 「利用可能」 、 「モニタリング可」 または 「管理可能」のいずれかを選択します。

④ 一覧に出ていないユーザーに権限を付ける場合は、赤枠をクリックし、任意のユーザーを選択します。

⑤ ユーザーの権限を付与し 「追加」をクリックします。

以上で、SQL Warehouseへの権限付与が完了です。

4. まとめ

本記事ではAzure Databricksで「グループ作成」「グループに対するワークスペースの割り当て」「グループに対する権限割り当て」について説明しました。

これらの手順を組み合わせる事で、細かな権限管理が可能となります。

 

本連載では、
第1回:「ユーザー作成」「グループへの追加」「ユーザー削除」をしてみる
第2回:「グループ作成」「グループに対するワークスペースの割り当て」「グループに対する権限割り当て」をしてみる(今回)
についてご説明しました。

今回の記事が少しでもDatabricksを知るきっかけや、業務のご参考になれば幸いです。

日商エレクトロニクスでは、Azure Databricksの環境構築パッケージを用意しています。

Azure DatabricksやAzure活用、マイクロソフト製品の活用についてご相談事がありましたらぜひお問い合わせください!

Azure Databricks連載記事のまとめはこちら
お問い合わせはこちら


この記事を読んだ方へのオススメコンテンツはこちら


この記事を書いた人

尾島健介