3
1

More than 1 year has passed since last update.

Azure DatabricksにおけるUnity Catalogへのオンボーディング

Last updated at Posted at 2023-03-24

こちらでは、すでにAzure Databricksを利用しているお客様が新たにUnity Catalogを使い始める際に注意すべき事柄を交えながら、セットアップ手順をウォークスルーします。

以下の記事の続編です。

前提

  • すでにAzure Databricksのワークスペース(Premium)を作成している。
  • SCIMプロビジョニングを使用して、Azure ADとワークスペースのユーザーを同期している。

注意

  • Azure Databricksではデフォルトでシングルサインオン(SSO)が有効化されています。
  • Azure Databricksのユーザーは、Azure ADのディレクトリに登録されている必要があります。

Unity Catalogにオンボーディングする際には、Databricksのアカウントワークスペースの概念を理解しておくことが重要です。

  • Databricksアカウント: お客様ごとに通常1つのDatabricksアカウントが割り当てられます。このアカウントを管理するのがDatabricksアカウント管理者です。1つのアカウントで複数のAzure Databricksワークスペースを作成することができます。
  • Databricksワークスペース: データサイエンティスト、データエンジニア、データアナリストの方々が実際に分析を行う環境です。Unity Catalog以前はワークスペース単位でユーザー、グループを管理していました。

Unity Catalogにオンボーディングすることで、アカウントレベルでユーザーやグループを管理できるようになるので、管理工数の削減が期待できます。
Screenshot 2023-03-24 at 9.33.46.png

この機能をアイデンティティ(ID)フェデレーションと呼びます。
Screenshot 2023-03-24 at 9.38.12.png

ゴール

  • Unity Catalogをセットアップする。
  • IDフェデレーションを有効化し、ワークスペースレベルではなくアカウントレベルでユーザーとグループを管理するようにする。

既存のAzure Databricksワークスペース

Azure Portalで最初にAzure Databricksワークスペースを作成した際、Databricksユーザーでログインできるのは、ワークスペースを作成したAzure共同作成者または所有者のみです。

ここから手動でワークスペースにユーザーを追加することは可能ですが、管理を容易にするためにAzure ADと同期を行えるのがSCIMプロビジョニングです。

ここでは、以下の手順に従って、ワークスペースレベルでのSCIMプロビジョニングが行われているものとします。

上記の設定を行い、SCIM Provisioning Connectorにユーザーを割り当てることで、Databricksユーザーとして同期されるようになります。
Screenshot 2023-03-24 at 9.46.38.png

赤枠内のユーザーが追加されたものです。
Screenshot 2023-03-24 at 9.56.44.png

そして、2022年8月以降、ワークスペースレベルのユーザーはアカウントレベルのユーザーに自動で同期されるようになっています。また、Azure Databricksでもアカウントコンソールが導入されています(これまではAWSのみでした)。アカウントコンソールからは、Unity Catalogのセットアップ、アカウントレベルユーザーの管理などが行えます。

アカウントコンソールにアクセスするには、ワークスペース画面右上のユーザー名をクリックして、アカウントを管理を選択します。
Screenshot 2023-03-24 at 10.02.42.png

こちらのユーザー管理で、ワークスペースに同期されたユーザーがこちらにも同期されていることを確認できます。これらのユーザーはアカウントレベルのユーザーです。
Screenshot 2023-03-24 at 10.04.43.png

Unity Catalogへのオンボーディング

この状態からUnity Catalogにオンボードするには以下の手順を踏みます。アカウントレベルでユーザーを管理し、Azure ADとアカウントレベルのユーザーを同期する形に移行するので、上述のワークスペースレベルでのSCIMプロビジョニングは不要となります。

  1. Unity Catalogのセットアップ
  2. ワークスペースレベルのSCIMプロビジョニングの無効化
  3. アカウントレベルのSCIMプロビジョニングの有効化
  4. ワークスペースローカルのグループをアカウントレベルのグループに変換

SCIMプロビジョニングの移行の詳細に関してはこちらを参照ください。

ワークスペースレベルのSCIMプロビジョニングの無効化

ワークスペースにプロビジョニングを行っていたSCIMプロビジョニングコネクターを停止します。
Screenshot 2023-03-24 at 10.08.48.png

アカウントレベルのSCIMプロビジョニングの有効化

  1. こちらの手順に従ってアカウントレベルのSCIMプロビジョニングを行うSCIMコネクターを作成します。
  2. 既存のワークスペースでIDフェデレーションが行われるように、アカウントコンソールでUnity Catalogのメタストアをワークスペースにアタッチします。
    Screenshot 2023-03-24 at 10.19.06.png
    Screenshot 2023-03-24 at 10.19.36.png
    Screenshot 2023-03-24 at 10.19.59.png
    Screenshot 2023-03-24 at 10.20.30.png

ワークスペースローカルのグループをアカウントレベルのグループに変換

こちらにあるように、Unity Catalogが有効化されている環境では、アカウントレベルのグループに移行することを推奨しています。ワークスペースローカルで作成しているグループを参照しつつ、アカウントレベルのグループを作成し、これらアカウントレベルのグループでアクセス権を管理するようにします。

動作確認

重要
以下の手順を実行する前に、こちらの手順にあるように、プロビジョニングの設定で、スコープ割り当てられたユーザーとグループのみを同期するになっていることを確認してください。

アカウントレベルのSCIMプロビジョニングを行うSCIMコネクターにユーザーを割り当てます。ここでは、新たなユーザーユーザー4ユーザー5を割り当てます。
Screenshot 2023-03-24 at 10.26.00.png

プロビジョニングされたことを確認します。
Screenshot 2023-03-24 at 11.44.36.png

Databricksアカウントコンソールに2人のユーザーが同期されます。
Screenshot 2023-03-24 at 11.44.58.png

ただ、この時点ではワークスペースにこれらのユーザーは追加されません。アカウントコンソールのワークスペース権限にアクセスし、権限を追加をクリックします。
Screenshot 2023-03-24 at 11.51.15.png

ユーザー4ユーザー5Userとしてワークスペースに割り当てます。
Screenshot 2023-03-24 at 11.52.17.png

これでワークスペースにもユーザーが追加されました。
Screenshot 2023-03-24 at 11.53.30.png

まとめ

注意
ユーザーを追加した際の同期処理は追加とマージのみです。

明示的に削除の操作を行わない限り、アカウントレベルのユーザーもワークスペースレベルのユーザーも削除されません。SCIMプロビジョニングコネクターに少数のユーザーを割り当てたとしても、同期先のアカウントレベルのユーザーは削除されません。割り当てられたユーザーが同期先になければ、これらのユーザーが追加されるだけです。

注意しなくてはならないのは、以下の2点です。

  1. IDフェデレーションが有効化されているかどうか(ワークスペースがUnity Catalogメタストアに関連づけられているかどうか)に関係なく、アカウントレベルでユーザーを削除すると、すべてのワークスペースから当該ユーザーが削除されます。
  2. 同様に、アカウントレベルのSCIMプロビジョニングコネクターに割り当てられているユーザーの割り当てを解除すると、Databricksアカウントユーザーからも削除され、ワークスペースユーザーからも削除されるのでワークスペースにログインできなくなります。以下の例では、割り当てが解除されたユーザー1とユーザー4がDatabricksアカウントユーザーからも削除されています。
    Screenshot 2023-03-24 at 17.23.18.png

ここで説明したように、既存のワークスペースがある場合、Unity Catalogへのオンボーディングには追加の手順が発生し、いくつかの留意点があります。
Screenshot 2023-03-24 at 11.59.01.png

  1. Unity Catalogの有効化がアイデンティティフェデレーションの前提です。
  2. Unity Catalogメタストアを、既存/新規ワークスペースにアタッチすることでアイデンティティフェデレーションを有効化します。
  3. 新規ワークスペースにおいては、アカウントレベルに追加されたプリンシパルのみをワークスペースに割り当てることができます。ユーザーとグループはSCIMでアカウントレベルに同期されるので、ワークスペースではSCIMを使わないことをお勧めします。
  4. 既存ワークスペースにおいては、アカウントレベルから新規プリンシパルを追加することができます。すでに存在しているワークスペースグループを使い続けることができます。ユーザーとグループはSCIMでアカウントレベルに同期されるべきであり、ワークスペースでSCIMを使わないことをお勧めします。
  5. メタストアがアタッチされていないワークスペースでは、当面ローカルのプリンシパルとワークスペースレベルSCIMを利用することができます。

しかし、これらの手順を踏むことで、Unity Catalogが提供する様々な機能を活用できるようになります。ぜひご活用ください!

Databricks 無料トライアル

Databricks 無料トライアル

3
1
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
3
1