目次
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連載記事のまとめはこちら
お問い合わせはこちら
この記事を読んだ方へのオススメコンテンツはこちら
この記事を書いた人
- 尾島健介
この投稿者の最新の記事
- 2023年4月18日ブログ【Azure Databricks】ジョブ監視をしてみる(番外編)
- 2023年4月17日ブログ【Azure Databricks】ジョブ監視をしてみる(後編)
- 2023年4月13日ブログ【Azure Databricks】ジョブ監視をしてみる(前編)
- 2023年3月30日ブログ【Azure Databricks クラスタ管理】「SQL Warehouse作成」をしてみる