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 に存在しない場合は無視されます。 Microsoft Entra ID に存在しないユーザーは、Azure Databricks にログインできません。
- グループでのメンバーシップによって複製される個別に割り当てられたユーザーのアクセス許可は、ユーザーのグループ メンバーシップが削除された後も残ります。
- アカウント コンソールを使用して Azure Databricks アカウントからユーザーを直接削除すると、次の効果があります。
- 削除されたユーザーは、その Azure Databricks アカウントとアカウント内のすべてのワークスペースにアクセスできなくなります。
- 削除されたユーザーは、エンタープライズ アプリケーションに残っている場合でも、Microsoft Entra ID プロビジョニングを使用して再び同期されることはありません。
- 最初の Microsoft Entra ID 同期は、プロビジョニングを有効にした直後にトリガーされます。 その後の同期は、アプリケーション内のユーザーとグループの数に応じて、20 分から 40 分ごとにトリガーされます。 Microsoft Entra ID のドキュメントでプロビジョニング概要レポートに関する説明をご覧ください。
- Azure Databricks ユーザーのメール アドレスを更新することはできません。
- 入れ子になったグループまたは Microsoft Entra ID サービス プリンシパルを Azure Databricks SCIM プロビジョニング コネクタ アプリケーションから同期することはできません。 Databricks は、エンタープライズ アプリケーションを使用してユーザーとグループを同期し、Azure Databricks 内で入れ子になったグループとサービス プリンシパルを管理することをお勧めします。 ただし、Azure Databricks SCIM API をターゲットとする Databricks Terraform プロバイダーまたはカスタム スクリプトを使用し、入れ子になったグループまたは Microsoft Entra ID サービス プリンシパルを同期することもできます。
- Microsoft Entra ID のグループ名の更新は、Azure Databricks に同期されません。
- パラメーター
userName
とemails.value
が一致している必要があります。 不一致により、Azure Databricks が Microsoft Entra ID SCIM アプリケーションからのユーザー作成要求を拒否する可能性があります。 外部ユーザーやエイリアス化された電子メールなどの場合は、エンタープライズ アプリケーションの既定の SCIM マッピングを変更して、mail
ではなくuserPrincipalName
を使用することが必要になる場合があります。
(省略可能) 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 範囲」を参照してください。