Microsoft Entra ID (Azure Active Directory) を使用して SCIM プロビジョニングを構成する

この記事では、Microsoft Entra ID (以前の Azure Active Directory) を使用して Databricks へのプロビジョニングを設定する方法について説明します。

Databricks アカウント レベルまたは Databricks ワークスペース レベルで Microsoft Entra ID を使用して、Databricks へのプロビジョニングを設定できます。

Databricks では、ユーザー、サービスプリンシパル、およびグループをアカウント レベルにプロビジョニングし、Databricks 内のワークスペースへのユーザーとグループの割り当てを管理することをお勧めします。 ワークスペースへのユーザーの割り当てを管理するには、ワークスペースで ID フェデレーションを有効にする必要があります。 ID フェデレーションが有効になっていないワークスペースがある場合は、引き続きユーザー、サービスプリンシパル、およびグループをそれらのワークスペースに直接プロビジョニングする必要があります。

ユーザーが Microsoft Entra ID を使用してログインするには、Okta から Databricks へのシングル サインオンを構成する必要があります。 シングル サインオンを構成するには、 Databricks アカウント コンソールの SSO を参照してください。

Microsoft Entra ID を使用して Databricks アカウントに ID をプロビジョニングする

SCIM プロビジョニング コネクタを使用して、アカウント レベルのユーザーとグループを Microsoft Entra ID テナントから Databricks に同期できます。

重要

ID をワークスペースに直接同期する SCIM コネクタが既にある場合は、アカウント レベルの SCIM コネクタが有効になっているときに、それらの SCIM コネクタを無効にする必要があります。 「 ワークスペース レベルの SCIM プロビジョニングをアカウント レベルに移行する」を参照してください。

要件

  • Databricks アカウントには 、プレミアム プラン以上が必要です。

  • Microsoft Entra ID のクラウド アプリケーション管理者ロールが必要です。

  • グループをプロビジョニングするには、Microsoft Entra ID アカウントがプレミアム エディション アカウントである必要があります。 ユーザーのプロビジョニングは、すべての Microsoft Entra ID エディションで使用できます。

  • Databricksアカウント管理者である必要があります。

ステップ 1: Databricks を構成する

  1. Databricks アカウント管理者として、Databricks アカウント コンソールにログインします。

  2. [設定 ] をクリックします 。 ユーザー設定アイコン

  3. [ ユーザー プロビジョニング] をクリックします。

  4. [ユーザー プロビジョニングの設定] をクリックします。

SCIM トークンとアカウント SCIM URL をコピーします。 これらを使用して、Microsoft Entra ID アプリケーションを構成します。

SCIM トークンはアカウント SCIM API /api/2.0/accounts/{account_id}/scim/v2/ に制限されており、他の Databricks REST APIsに対する認証には使用できません。

ステップ 2: エンタープライズ・アプリケーション を構成する

これらの手順では、Azure portal でエンタープライズ アプリケーションを作成し、そのアプリケーションをプロビジョニングに使用する方法について説明します。 既存のエンタープライズ アプリケーションがある場合は、 Microsoft Graph を使用して SCIM プロビジョニングを自動化するように変更できます。 これにより、Azure ポータルで別のプロビジョニング アプリケーションを使用する必要がなくなります。

次の手順に従って、Microsoft Entra ID がユーザーとグループを Databricks アカウントに同期できるようにします。 この構成は、ユーザーとグループをワークスペースに同期するために作成した構成とは別のものです。

  1. Azure ポータルで、 Microsoft Entra ID > Enterprise Applications に移動します。

  2. アプリケーションリストの上にある [+新しいアプリケーション ]をクリックします。 ギャラリーから [追加] で、 Azure Databricks SCIM プロビジョニング コネクタを検索して選択します。

  3. アプリケーションの [名前 ] を入力し、[ 追加] をクリックします。

  4. [ 管理 ] メニューで、[ プロビジョニング] をクリックします。

  5. [プロビジョニング モード] を [自動] に設定します。

  6. SCIM API エンドポイント URL を、前にコピーしたアカウント SCIM URL に設定します。

  7. [シークレット トークン] を、前に生成した Databricks SCIM トークンに設定します。

  8. [ 接続のテスト ] をクリックし、資格情報がプロビジョニングを有効にする権限を持っていることを確認するメッセージを待ちます。

  9. [保存]をクリックします。

ステップ 3: アプリケーション へのユーザーとグループの割り当て

SCIM アプリケーションに割り当てられたユーザーとグループは、Databricks アカウントにプロビジョニングされます。 既存の Databricks ワークスペースがある場合は、それらのワークスペース内のすべての既存のユーザーとグループを SCIM アプリケーションに追加することをお勧めします。

  1. [>のプロパティの管理] に移動します。

  2. [割り当てが必要][いいえ] に設定します。Databricks では、すべてのユーザーが Databricks アカウントにサインインできるようにするこのオプションをお勧めします。

  3. [ > プロビジョニングの管理] に移動します。

  4. Microsoft Entra ID ユーザーとグループの Databricks への同期を開始するには、 [プロビジョニングの状態 ] トグルを [オン] に設定します。

  5. [保存]をクリックします。

  6. [ ユーザーとグループ>管理] に移動します。

  7. [ ユーザー/グループの追加] をクリックし、ユーザーとグループを選択して、[ 割り当て] ボタンをクリックします。

  8. 数分待ってから、ユーザーとグループが Databricks アカウントに存在することを確認します。

追加して割り当てたユーザーとグループは、Microsoft Entra ID が次の同期をスケジュールするときに、Databricks アカウントに自動的にプロビジョニングされます。

アカウントレベルのSCIMアプリケーションからユーザーを削除すると、IDフェデレーションが有効になっているかどうかに関係なく、そのユーザーはアカウントとそのワークスペースから非アクティブ化されます。

Microsoft Entra ID (レガシー) を使用して ID を Databricks ワークスペースにプロビジョニングする

プレビュー

この機能はパブリックプレビュー段階です。

ID フェデレーションが有効になっていないワークスペースがある場合は、ユーザー、サービスプリンシパル、およびグループをそれらのワークスペースに直接プロビジョニングする必要があります。このセクションでは、その方法について説明します。

次の例では、 <databricks-instance> を Databricks デプロイの ワークスペース URL に置き換えます。

要件

  • Databricks アカウントには 、プレミアム プラン以上が必要です。

  • Microsoft Entra ID のクラウド アプリケーション管理者ロールが必要です。

  • グループをプロビジョニングするには、Microsoft Entra ID アカウントがプレミアム エディション アカウントである必要があります。 ユーザーのプロビジョニングは、すべての Microsoft Entra ID エディションで使用できます。

  • Databricks ワークスペース管理者である必要があります。

ステップ 1: エンタープライズ アプリケーションを作成し、Databricks SCIM API に接続する

Microsoft Entra ID を使用して Databricks ワークスペースへのプロビジョニングを直接設定するには、Databricks ワークスペースごとにエンタープライズ アプリケーションを作成します。

これらの手順では、Azure portal でエンタープライズ アプリケーションを作成し、そのアプリケーションをプロビジョニングに使用する方法について説明します。 既存のエンタープライズ アプリケーションがある場合は、 Microsoft Graph を使用して SCIM プロビジョニングを自動化するように変更できます。 これにより、Azure ポータルで別のプロビジョニング アプリケーションを使用する必要がなくなります。

  1. ワークスペース管理者として、Databricks ワークスペースにログインします。

  2. 個人用アクセストークンを生成してコピーします。このトークンは、後続の手順で Microsoft Entra ID に提供します。

    重要

    このトークンは、Microsoft Entra ID エンタープライズ アプリケーションによって管理 されていない Databricks ワークスペース管理者として生成します。 個人用アクセス トークンを所有する Databricks 管理者ユーザーが Microsoft Entra ID を使用してプロビジョニング解除された場合、SCIM プロビジョニング アプリケーションは無効になります。

  3. Azure ポータルで、 Microsoft Entra ID > Enterprise Applications に移動します。

  4. アプリケーションリストの上にある [+新しいアプリケーション ]をクリックします。 ギャラリーから [追加] で、 Azure Databricks SCIM プロビジョニング コネクタを検索して選択します。

  5. アプリケーションの [名前 ] を入力し、[ 追加] をクリックします。 管理者が見つけやすい名前 ( <workspace-name>-provisioningなど) を使用します。

  6. [ 管理 ] メニューで、[ プロビジョニング] をクリックします。

  7. [プロビジョニング モード][自動] に設定します。

  8. SCIM API エンドポイント URL を入力します。 ワークスペースの URL に /api/2.0/preview/scim を追加します。

    https://<databricks-instance>/api/2.0/preview/scim
    

    <databricks-instance> を Databricks デプロイの ワークスペース URL に置き換えます。「 ワークスペース オブジェクトの識別子を取得する」を参照してください。

  9. シークレット トークン を、手順 1 で生成した Databricks 個人用アクセストークンに設定します。

  10. [ 接続のテスト ] をクリックし、資格情報がプロビジョニングを有効にする権限を持っていることを確認するメッセージを待ちます。

  11. オプションで、通知Eメールを入力して、SCIMプロビジョニングに関する重大なエラーの通知を受信します。

  12. [保存]をクリックします。

ステップ 2: ユーザーとグループをアプリケーション に割り当てる

  1. [>のプロパティの管理] に移動します。

  2. [割り当てが必要][はい] に設定します。Databricks では、エンタープライズ アプリケーションに割り当てられたユーザーとグループのみを同期するこのオプションをお勧めします。

  3. [ > プロビジョニングの管理] に移動します。

  4. Microsoft Entra ID ユーザーとグループの Databricks への同期を開始するには、 [プロビジョニングの状態 ] トグルを [オン] に設定します。

  5. [保存]をクリックします。

  6. [ ユーザーとグループ>管理] に移動します。

  7. [ ユーザー/グループの追加] をクリックし、ユーザーとグループを選択して、[ 割り当て] ボタンをクリックします。

  8. 数分待ってから、ユーザーとグループが Databricks アカウントに存在することを確認します。

今後、追加して割り当てたユーザーとグループは、Microsoft Entra ID が次の同期をスケジュールするときに自動的にプロビジョニングされます。

重要

Azure Databricks SCIM プロビジョニング コネクタ アプリケーションの構成に個人用アクセス トークンが使用された Databricks ワークスペース管理者を割り当てないでください。

(オプション)Microsoft Graph を使用した SCIM プロビジョニングの自動化

Microsoft Graph には、SCIM プロビジョニング コネクタ アプリケーションを構成する代わりに、Databricks アカウントまたはワークスペースへのユーザーとグループのプロビジョニングを自動化するためにアプリケーションに統合できる認証および承認ライブラリが含まれています。

  1. 「Microsoft Graph を使用してアプリケーションを登録する」の手順に従います。アプリケーションの アプリケーション ID と テナント ID をメモします。

  2. アプリケーションの [概要] ページに移動します。 そのページで:

    1. アプリケーションのクライアント シークレットを構成し、シークレットをメモします。

    2. アプリケーションに次のアクセス許可を付与します。

      • Application.ReadWrite.All

      • Application.ReadWrite.OwnedBy

  3. Microsoft Entra ID 管理者に 管理者の同意を付与するように依頼します。

  4. アプリケーションのコードを更新して、 Microsoft Graph のサポートを追加します

プロビジョニングのヒント

  • プロビジョニングを有効にする前に Databricks ワークスペースに存在していたユーザーとグループは、プロビジョニングの同期時に次の動作を示します。

    • エントラIDにも存在する場合 Microsoft マージされます

    • Microsoft Entra ID に存在しない場合は無視されます

  • 個別に割り当てられ、グループのメンバーシップを通じて複製されたユーザー権限は、ユーザーのグループ メンバーシップが削除された後も残ります。

  • Databricks ワークスペースの管理設定ページを使用して、Databricks ワークスペースから直接削除されたユーザー:

    • その Databricks ワークスペースへのアクセスを失いますが、他の Databricks ワークスペースには引き続きアクセスできる場合があります。

    • Microsoft Entra ID プロビジョニングを使用して、エンタープライズ アプリケーションに残っている場合でも、再度同期されることはありません。

  • 最初の Microsoft Entra ID 同期は、プロビジョニングを有効にした直後にトリガーされます。 後続の同期は、アプリケーション内のユーザーとグループの数に応じて、20 分から 40 分ごとにトリガーされます。 Microsoft Entra ID ドキュメントの プロビジョニングの概要レポート を参照してください。

  • Databricks ワークスペース ユーザーのユーザー名または Eメール アドレスを更新することはできません。

  • admins グループは Databricks の予約済みグループであり、削除できません。

  • Databricks グループ API または グループ UI を使用して、任意の Databricks ワークスペース グループのメンバーの一覧を取得できます。

  • 入れ子になったグループまたは <entra-service-principal> を Azure Databricks SCIM プロビジョニング コネクタ アプリケーションから同期することはできません。 Databricks では、エンタープライズ アプリケーションを使用してユーザーとグループを同期し、Databricks 内で入れ子になったグループとサービス プリンシパルを管理することをお勧めします。 ただし、 Databricks Terraform プロバイダーまたは Databricks SCIM API を対象とするカスタム スクリプトを使用して、入れ子になったグループまたは <entra-service-principal> を同期することもできます。

トラブルシューティング

ユーザーとグループが同期 しない

  • Azure Databricks SCIM プロビジョニング コネクタ アプリケーションを使用している場合:

    • ワークスペース レベルのプロビジョニングの場合: Databricks 管理設定ページで、Azure Databricks SCIM プロビジョニング コネクタ アプリケーションによって使用されている個人用アクセス トークンを持つ Databricks ユーザーが Databricks のワークスペース管理者ユーザーであり、トークンがまだ有効であることを確認します。

    • アカウント レベルのプロビジョニングの場合: アカウント コンソールで、プロビジョニングの設定に使用された Databricks SCIM トークンがまだ有効であることを確認します。

  • Microsoft Entra ID 自動プロビジョニングでサポートされていない入れ子になったグループを同期しようとしないでください。 詳細については、 この FAQ を参照してください。

<entra-service-principal> が同期されない

  • Azure Databricks SCIM プロビジョニング コネクタ アプリケーションは、サービスプリンシパルの同期をサポートしていません。

初期同期後、ユーザーとグループは同期を停止します

Azure Databricks SCIM プロビジョニング コネクタ アプリケーションを使用している場合: 初期同期後、ユーザーまたはグループの割り当てを変更した直後には Microsoft Entra ID は同期されません。ユーザーとグループの数に基づいて、遅延後にアプリケーションとの同期をスケジュールします。 即時同期を要求するには、エンタープライズ アプリケーションの > プロビジョニングの管理 に移動し、 [ 現在の状態をクリアして同期を再開する] を選択します。

Microsoft Entra ID プロビジョニング サービスの IP 範囲にアクセスできない

Microsoft Entra ID プロビジョニング サービスは、特定の IP 範囲で動作します。 ネットワーク アクセスを制限する必要がある場合は、この IP 範囲ファイル内の AzureActiveDirectory の IP アドレスからのトラフィックを許可する必要があります。詳細については、「 IP 範囲」を参照してください。