0
0

More than 1 year has passed since last update.

Azure DatabricksにおけるUnity CatalogとIDフェデレーションの有効化

Last updated at Posted at 2023-03-17

タイトルの通り、Azure DatabrikcsでUnity CatalogとIDフェデレーションを有効化してみます。

要件

  • Premiumプラン以上のAzure Databricksアカウント
  • Azure Databricksのアカウント管理者権限(Azure AD Global admin)
  • Azure Databricksワークスペース

Unity Catalogとは

Azure Databricksにおけるガバナンスソリューションです。デフォルトでは有効化されていないので、有効化する必要があります。

Unity Catalogの有効化

ストレージアカウントとコンテナの作成

Unity Catalogにはメタストアが必要で、これを作成するにはデータを格納するための専用のコンテナが必要となります。Azure Portalでこれらを作成します。

作成したストレージアカウント、コンテナ、パスを<コンテナ名>@<ストレージアカウント名>.blob.core.windows.net/<パス>の形式でメモしておきます。

AzureマネージドIDの作成および設定

上のステップで作成したコンテナにアクセスするAzureマネージドIDをAzure Portalで作成します。

以下の形式のリソースIDをメモしておきます。

/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource_group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>

メタストアの作成およびAzure Databricksワークスペースの関連づけ

  1. アカウントコンソールに移動します。Databricksワークスペースで右上のユーザー名をクリックし、アカウントを管理を選択します。この際、ユーザーがAADのGlobal admin権限を持っていないと、アカウントコンソールにログインできません。
    Screenshot 2023-03-17 at 15.22.06.png
  2. メタストア名、リージョンを指定し、ADLS Gen 2パスには上のステップでメモしたコンテナのパスを指定します。
  3. アクセスコネクターIDには上のステップでメモしたリソースIDを指定します。
    Screenshot 2023-03-17 at 15.23.16.png
  4. 作成をクリックし、メタストアの作成に成功したらDatabricksワークスペースを関連づけます。

IDフェデレーションの有効化

IDフェデレーションとはDatabricksレベルでユーザー・グループを管理し、配下のすべてのAzure Databricksワークスペースのユーザー・グループを集中管理できる機能です。アカウントレベルで設定したユーザー・グループをワークスペースに割り当てることが可能となります。

注意
IDフェデレーションを有効化する際には、アカウントレベルのSCIMプロビジョニングを有効化します。この際、ワークスペースレベルでSCIMプロビジョニングが有効化されている場合にはオフにするようにしてください。

こちらの手順に従って、アカウントレベルのSCIMプロビジョニングを有効化します。

動作確認

これでIDフェデレーションが有効化されましたが、挙動については悩むところがあるかと思います。例えば、新規にアカウントレベルのユーザーを追加すると、ワークスペースレベルのユーザーが削除されたりしないかなど。

まず、前提としてこちらにありますように、2022年8月時点で、ワークスペースレベルのユーザーはアカウントレベルに同期されるようになっています。ワークスペースにユーザーを追加するたびに、アカウントレベルに同期されます。そして、明示的に削除の操作を行わない限り、アカウントレベルのユーザーもワークスペースレベルのユーザーも削除されません

注意しなくてはならないのは、IDフェデレーションが有効化されているかどうか(ワークスペースがUnity Catalogメタストアに関連づけられているかどうか)に関係なく、アカウントレベルでユーザーを削除すると、すべてのワークスペースから当該ユーザーが削除されるということです。

アカウント管理者がアカウント レベルでユーザーまたはサービス プリンシパルを削除した場合、ID フェデレーションが有効になっているかどうかに関係なく、そのユーザーはワークスペースからも削除されます。 アカウント レベルのユーザーまたはサービス プリンシパルの削除は、それらによるアカウント内のすべてのワークスペースへのアクセスを禁止する場合を除き、行わないようにする必要があります。

Azure ADにユーザーを追加

Azure Databricks SCIM Provisioning Connectorにユーザーを追加すると、Databricksアカウントレベルでユーザーが同期されます。
Screenshot 2023-03-17 at 15.35.17.png

マスキングしていますが、赤いところが同期されたユーザーです。この時点ではワークスペースには変化がありません。
Screenshot 2023-03-17 at 15.36.24.png

Databricksワークスペースにユーザーを追加

  1. アカウントコンソールのワークスペースに移動し、追加したいワークスペースを開きます。
  2. 右上の権限を追加をクリックします。
  3. 追加したいユーザーと権限を選択して、保存をクリックします。
    Screenshot 2023-03-17 at 15.39.49.png
  4. 当該ワークスペースにアクセスし、管理者設定でユーザー一覧にアクセスすると、上のステップで追加したユーザーが表示されていることがわかります。ここでもマスキングしていますが、赤い部分が追加されたユーザーです。
    Screenshot 2023-03-17 at 15.41.22.png

Databricks 無料トライアル

Databricks 無料トライアル

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