概要
Databricks にてネストしたアカウントグループ(入れ子になったアカウントグループ)に対して、Unity Catalog オブジェクトの権限付与の可否に関する検証結果を共有します。5階層のグループを作成後、最上位のグループにオブジェクトへの権限付与を、最下位のグループへのユーザー割当を実施します。カタログへの権限付与後にスキーマを作成できたため、ネストしたアカウントグループに対して権限付与を実施できるようです。
Azure AD による SCIM プロビジョニング時には、ネストしたグループを Azure Databricks 側で管理する方法が次のように紹介されています。
Databricks では、エンタープライズ アプリケーションを使用してユーザーとグループを同期し、Azure Databricks 内で入れ子になったグループとサービス プリンシパルを管理することをお勧めします。
引用元:プロビジョニングのヒント - Azure Databricks | Microsoft Learn
検証内容
検証方法
次のような5つの階層のグループを作成して、group_1
に対してカタログのオーナー権限を付与後にgroup_5
のユーザーにてスキーマを作成の可否を確認します。
# | グループ名 | 概要 |
---|---|---|
1 | group_1 | カタログへのオーナー権限付与、および、group_2 を割当 |
2 | group_2 |
group_3 を割当 |
3 | group_3 |
group_4 を割当 |
4 | group_4 |
group_5 を割当 |
5 | group_5 | ユーザーを割当 |
検証手順
1. グループの作成とそれぞれのグループへのメンバーの割当
# | グループ名 | 概要 |
---|---|---|
1 | group_1 | カタログへのオーナー権限付与、および、group_2 を割当 |
2 | group_2 |
group_3 を割当 |
3 | group_3 |
group_4 を割当 |
4 | group_4 |
group_5 を割当 |
5 | group_5 | ユーザーを割当 |
2. 管理アカウントにてカタログの作成と権限付与を実施
%sql
CREATE CATALOG IF NOT EXISTS group_test_g1
%sql
-- 権原付与
ALTER CATALOG group_test_g1 OWNER TO group_1;
3. group_5
に割り当てたユーザーにてスキーマを作成できることを確認
%sql
-- スキーマを作成できることを確認
CREATE SCHEMA IF NOT EXISTS group_test_g1.schema_01;
ALTER SCHEMA group_test_g1.schema_01 OWNER TO group_1;