Microsoft Entra ID (Azure Active Directory) を使用して SCIM プロビジョニングを構成する
この記事では、Microsoft Entra ID を使用して Azure Databricksアカウント へのプロビジョニングを設定する方法について説明します。
Azure Databricks では、ユーザー、サービス プリンシパル、グループをアカウント レベルにプロビジョニングし、Databricks 内のワークスペースへのユーザーとグループの割り当てを管理するようにお勧めします。 ワークスペースへのユーザーの割り当てを管理するには、ワークスペースの ID フェデレーションが有効になっている必要があります。
Note
プロビジョニングの構成方法は、Azure Databricks のワークスペースまたはアカウントの認証および条件付きアクセスの構成とはまったく異なります。 Azure Databricks の認証は、OpenID Connect プロトコル フローを使って Microsoft Entra ID によって自動的に処理されます。 条件付きアクセスの構成が可能です。これにより、サービス レベルで、多要素認証を要求したり、ローカル ネットワークへのログインを制限したりするルールを作成できます。
Microsoft Entra ID を使用して Azure Databricks アカウントに ID をプロビジョニングする
SCIM プロビジョニング コネクタを使って、Microsoft Entra ID テナントから Azure Databricks にアカウント レベルのユーザーとグループを同期できます。
重要
ID をワークスペースに直接同期する SCIM コネクタが既にある場合、アカウント レベルの SCIM コネクタが有効になっているときには、これらの SCIM コネクタを無効にする必要があります。 「ワークスペース レベルの SCIM プロビジョニングをアカウント レベルに移行する」を参照してください。
要件
- Azure Databricks アカウントに Premium プランが必要です。
- Microsoft Entra ID でのクラウド アプリケーション管理者ロールが必要です。
- グループをプロビジョニングするには、Microsoft Entra ID アカウントが Premium エディション アカウントである必要があります。 ユーザーのプロビジョニングは、任意の Microsoft Entra ID エディションで利用できます。
- Azure Databricks のアカウント管理者である必要があります。
Note
アカウントコンソールを有効にして、最初のアカウント管理者を設置するには、最初のアカウント管理者の設置に関するページを参照してください。
手順 1: Azure Databricks を構成する
- Azure Databricks アカウント管理者として、Azure Databricks アカウント コンソールにログインします。
- [設定] をクリックします。
- [ユーザー プロビジョニング] をクリックします。
- [ユーザー プロビジョニングの設定] をクリックします。
SCIM トークンとアカウント SCIM URL をコピーします。 これらを使って、Microsoft Entra ID アプリケーションを構成します。
Note
SCIM トークンはアカウント SCIM API /api/2.1/accounts/{account_id}/scim/v2/
に制限されており、他の Databricks REST API への認証には使用できません。
手順 2: エンタープライズ アプリケーションを構成する
この手順では、Azure portal でエンタープライズ アプリケーションを作成し、そのアプリケーションをプロビジョニングに使用する方法について説明します。 既存のエンタープライズ アプリケーションがある場合は、Microsoft Graph を使用して SCIM プロビジョニングを自動化するように変更できます。 これにより、Azure portal で個別のプロビジョニング アプリケーションを使用する必要がなくなります。
Microsoft Entra ID で Azure Databricks アカウントにユーザーとグループを同期できるようにするには、次の手順のようにします。 この構成は、ユーザーとグループをワークスペースに同期するために作成した構成とは別です。
- Azure portal で、[Microsoft Entra ID] > [エンタープライズ アプリケーション] に移動します。
- アプリケーションの一覧の上にある [+ 新しいアプリケーション] をクリックします。 [ギャラリーから追加する] で、Azure Databricks SCIM プロビジョニング コネクタを検索して選択します。
- アプリケーションの [名前] を入力して [追加] をクリックします。
- [管理] メニューで [プロビジョニング] をクリックします。
- [プロビジョニング モード] を [自動] に設定します。
- SCIM API エンドポイント URL を、先ほどコピーしたアカウント SCIM URL に設定します。
- [シークレット トークン] を、先ほど生成した Azure Databricks SCIM トークンに設定します。
- [テスト接続] をクリックし、プロビジョニングを有効にするための資格情報が承認されたというメッセージが表示されるのを待ちます。
- [保存] をクリックします。
手順 3: アプリケーションにユーザーとグループを割り当てる
SCIM アプリケーションに割り当てられたユーザーとグループは、Azure Databricks アカウントにプロビジョニングされます。 既存の Azure Databricks ワークスペースがある場合、Databricks では、それらのワークスペース内のすべての既存のユーザーおよびグループを SCIM アプリケーションに追加することが推奨されます。
Note
Microsoft Entra ID では、Azure Databricks へのサービス プリンシパルの自動プロビジョニングはサポートされていません。 アカウントのサービス プリンシパルの管理 に従って、Azure Databricks アカウントにサービス プリンシパルを追加できます。
Microsoft Entra ID では、入れ子になったグループの Azure Databricks への自動プロビジョニングはサポートされていません。 Microsoft Entra ID では、明示的に割り当てられたグループの直接のメンバーであるユーザーのみを読み取ってプロビジョニングできます。 対処法として、プロビジョニングする必要のあるユーザーを含んだグループを明示的に割り当てます (またはスコープします)。 詳細については、この FAQ を参照してください。
- [管理] > [プロパティ] に移動します。
- [割り当てが必要] を [いいえ] に設定します。 Databricks では、すべてのユーザーが Azure Databricks アカウントにサインインできるようにするこのオプションをお勧めします。
- [管理] > [プロビジョニング] に移動します。
- Microsoft Entra ID のユーザーとグループの Azure Databricks への同期を始めるには、[プロビジョニングの状態] トグルを [On] に設定します。
- [保存] をクリックします。
- [管理] > [ユーザーとグループ] に移動します。
- [ユーザー/グループの追加] をクリックし、ユーザーとグループを選択して、[割り当て] ボタンをクリックします。
- 数分待って、そのユーザーとグループがご自分の Azure Databricks アカウントに存在することを確認します。
Microsoft Entra ID によって次回の同期がスケジュールされるときに、追加して割り当てるユーザーとグループが、Azure Databricks アカウントに自動的にプロビジョニングされます。
Note
アカウント レベルの SCIM アプリケーションからユーザーを削除すると、ID フェデレーションが有効になっているかどうかに関係なく、そのユーザーはアカウンとそのワークスペースからも非アクティブ化されます。
プロビジョニングのヒント
- プロビジョニングを有効にする前に Azure Databricks ワークスペースに存在していたユーザーとグループは、プロビジョニングの同期時に次の動作を示します。
- Microsoft Entra ID にも存在する場合はマージされます
- Microsoft Entra ID に存在しない場合は無視されます
- グループ・メンバーシップによって重複して割り当てられた個別のユーザー権限は、そのユーザーのグループ・メンバーシップが削除された後も残ります。
- Azure Databricks ワークスペース管理設定ページを使用して、Azure Databricks ワークスペースから直接削除されたユーザーは、次のようになります。
- その Azure Databricks ワークスペースへのアクセスを失いますが、他の Azure Databricks ワークスペースへは引き続きアクセスできる可能性があります。
- エンタープライズ アプリケーションに残っている場合でも、Microsoft Entra ID プロビジョニングを使って再度同期されることはありません。
- 最初の Microsoft Entra ID 同期は、プロビジョニングを有効にした直後にトリガーされます。 その後の同期は、アプリケーション内のユーザーとグループの数に応じて、20 分から 40 分ごとにトリガーされます。 Microsoft Entra ID のドキュメントでプロビジョニング概要レポートに関する説明をご覧ください。
- Azure Databricks ワークスペース ユーザーのユーザー名またはメール アドレスは更新できません。
admins
グループは、Azure Databricks の予約済みグループであり、削除できません。- Azure Databricks Groups API または Groups UI を使用すると、任意の Azure Databricks ワークスペース グループのメンバーのリストを取得できます。
- 入れ子になったグループまたは Microsoft Entra ID サービス プリンシパルを Azure Databricks SCIM プロビジョニング コネクタ アプリケーションから同期することはできません。 Databricks では、エンタープライズ アプリケーションを使用してユーザーとグループを同期し、Azure Databricks 内で入れ子になったグループとサービス プリンシパルを管理することをお勧めします。 ただし、入れ子になったグループまたは Microsoft Entra ID サービス プリンシパルを同期して、Azure Databricks SCIM API をターゲットとする Databricks Terraform プロバイダーまたはカスタム スクリプトを使うこともできます。
- Microsoft Entra ID のグループ名の更新は、Azure Databricks に同期されません。
(省略可能) Microsoft Graph を使用して SCIM プロビジョニングを自動化する
Microsoft Graph には、SCIM プロビジョニング コネクタ アプリケーションを構成する代わりに、Azure Databricks アカウントまたはワークスペースへのユーザーとグループのプロビジョニングを自動化するためにアプリケーションに統合できる認証および認可のライブラリが含まれています。
- Microsoft Graph にアプリケーションを登録する手順に従います。 アプリケーションのアプリケーション ID とテナント ID をメモします
- アプリケーションの [概要] ページに移動します。 そのページで:
- アプリケーションのクライアント シークレットを構成し、シークレットをメモします。
- アプリケーションに次のアクセス許可を付与します。
Application.ReadWrite.All
Application.ReadWrite.OwnedBy
- Microsoft Entra ID 管理者に、管理者の同意を許可するように依頼します。
- アプリケーションのコードを更新して、Microsoft Graph のサポートを追加します。
トラブルシューティング
ユーザーとグループが同期されない
- Azure Databricks SCIM プロビジョニング コネクタ アプリケーションを使用している場合:
- アカウント コンソールで、プロビジョニングの設定に使用した Azure Databricks SCIM トークンが引き続き有効であることを確認します。
- 入れ子になったグループを同期しようとしないでください。これは、Microsoft Entra ID の自動プロビジョニングではサポートされていません。 詳細については、この FAQ を参照してください。
Microsoft Entra ID サービス プリンシパルが同期しない
- Azure Databricks SCIM Provisioning Connector アプリケーションでは、サービス プリンシパルの同期はサポートされていません。
最初の同期後、ユーザーとグループの同期が停止する
Azure Databricks SCIM プロビジョニング コネクタ アプリケーションを使っている場合: 最初の同期の後では、ユーザーまたはグループの割り当てを変更しても Microsoft Entra ID はすぐには同期されません。 ユーザーとグループの数に基づいて、時間をおいてからアプリケーションとの同期をスケジュールします。 即時同期を要求するには、エンタープライズ アプリケーションの [管理] > [プロビジョニング] に移動し、[現在の状態を消去して、同期を再開します] を選択します。
Microsoft Entra ID プロビジョニング サービスの IP 範囲にアクセスできない
Microsoft Entra ID プロビジョニング サービスは、特定の IP 範囲で動作します。 ネットワーク アクセスを制限する必要がある場合は、この IP 範囲ファイルで AzureActiveDirectory
の IP アドレスからのトラフィックを許可する必要があります。 詳細については、「IP 範囲」を参照してください。