Microsoft Entra ID からユーザーとグループを同期する

この記事では、ユーザーのプロビジョニングを自動化できるオープン標準である SCIM (クロスドメイン ID 管理システム) を使用して、ユーザーとグループを Azure Databricks にプロビジョニングするように ID プロバイダー (IdP) と Azure Databricks を構成する方法について説明します。

Azure Databricks での SCIM プロビジョニングについて

SCIM では、ID プロバイダー (IdP) を使用して、Azure Databricks でユーザーを作成し、適切なレベルのアクセス権を付与することができます。また、ユーザーが組織を離れたり、Azure Databricks にアクセスする必要がなくなった場合、ユーザーのアクセス権を削除する (プロビジョニングを解除する) ことができます。

IdP で SCIM プロビジョニング コネクタを使用するか、SCIM Groups API を呼び出すことでプロビジョニングを管理できます。 これらの API を使用して、IdP を介さずに Azure Databricks で直接 ID を管理することもできます。

アカウント レベルとワークスペース レベルの SCIM プロビジョニング

アカウント レベルの SCIM プロビジョニングを使用して Azure Microsoft Entra ID から Azure Databricks アカウントに 1 つの SCIM プロビジョニング コネクタを構成することも、ワークスペース レベルの SCIM プロビジョニングを使用して各ワークスペースに対して個別の SCIM プロビジョニング コネクタを構成することもできます。

  • アカウント レベルの SCIM プロビジョニング: Databricks では、アカウント レベルの SCIM プロビジョニングを使って、アカウントのすべてのユーザーを作成、更新、削除することをお勧めします。 Azure Databricks 内のワークスペースへのユーザーとグループの割り当てを管理します。 ユーザーのワークスペース割り当てを管理するには、ワークスペースで ID フェデレーションが有効である必要があります。

Account-level SCIM diagram

  • ワークスペース レベルの SCIM プロビジョニング (パブリック プレビュー): どのワークスペースも ID フェデレーションが有効になっていない場合、または複数のワークスペースが混在している場合 (つまり ID フェデレーションが有効になっているワークスペースと有効でないワークスペースがある場合) は、アカウント レベルとワークスペース レベルの SCIM プロビジョニングを並列で管理する必要があります。 混合シナリオでは、ID フェデレーションが有効になっているワークスペースに対してワークスペース レベルの SCIM プロビジョニングは必要ありません。

    ID フェデレーションを有効にするワークスペース用にワークスペース レベルの SCIM プロビジョニングが既に設定されている場合は、アカウント レベルの SCIM プロビジョニングを設定し、ワークスペース レベルの SCIM プロビジョニングをオフにする必要があります。 「ワークスペース レベルの SCIM プロビジョニングをアカウント レベルに移行する」を参照してください。

必要条件

SCIM を使用してユーザーとグループを Azure Databricks にプロビジョニングするには、以下の要件があります。

  • Azure Databricks アカウントに Premium プランが必要です。
  • SCIM (SCIM REST API を含む) を使用して Azure Databricks アカウントにユーザーをプロビジョニングする場合は、Azure Databricks アカウント管理者であることが必要です。
  • SCIM (SCIM REST API を含む) を使用して Azure Databricks ワークスペースにユーザーをプロビジョニングする場合は、Azure Databricks ワークスペース管理者であることが必要です。

管理特権の詳細については、ユーザー、サービス プリンシパル、グループを管理するを参照してください。

アカウントには、最大 10,000 個のユーザーとサービス プリンシパルの組み合わせ、および 5000 個のグループ含めることができます。 各ワークスペースには、最大 10,000 個のユーザーとサービス プリンシパルの組み合わせ、および 5000 個のグループを含めることができます。

Azure Databricks アカウントに ID をプロビジョニングする

SCIM を使用すると、SCIM プロビジョニング コネクタを使用するか、または SCIM API を直接使用して、Microsoft Entra ID から Azure Databricks アカウントにユーザーとグループをプロビジョニングできます。

Microsoft Entra ID (旧称 Azure Active Directory) を使用して Azure Databricks アカウントにユーザーとグループを追加する

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

重要

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

完全な手順については、「Microsoft Entra ID を使用した Azure Databricks への ID のプロビジョニング」をご覧ください。

Note

アカウント レベルの SCIM コネクタからユーザーを削除すると、ID フェデレーションが有効になっているかどうかに関係なく、そのユーザーはアカウントとそのすべてのワークスペースで非アクティブ化されます。 アカウント レベルの SCIM コネクタからグループを削除すると、そのグループ内のすべてのユーザーはアカウントとアクセスできるワークスペースで非アクティブ化されます (ただし、それらのユーザーが別のグループのメンバーである場合や、アカウント レベルの SCIM コネクタへのアクセスが直接許可されている場合は除きます)。

SCIM API を使用してアカウントにユーザー、サービス プリンシパル、グループを追加する

アカウント管理者は、アカウント SCIM API を使用して、Azure Databricks アカウントにユーザー、サービス プリンシパル、グループを追加できます。 アカウント管理者は、accounts.azuredatabricks.net ({account_domain}/api/2.0/accounts/{account_id}/scim/v2/) で API を呼び出し、SCIM トークンまたは Microsoft Entra ID トークンを使用して認証を行うことができます。

Note

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

SCIM トークンを取得するには、次の操作を行います。

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

  2. サイドバーで、[設定] をクリックします。

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

    プロビジョニングが有効になっていない場合は、[Enable user provisioning](ユーザー プロビジョニングを有効にする)をクリックしてトークンをコピーします。

    プロビジョニングが既に有効になっている場合は、[トークンの再生成] をクリックしてトークンをコピーします。

Microsoft Entra ID トークンを使用して認証する方法については、「Microsoft Entra ID (旧称 Azure Active Directory) サービス プリンシパル認証」を参照してください。

ワークスペース管理者は、この同じ API を使用してユーザーとサービス プリンシパルを追加できます。 ワークスペース管理者は、ワークスペース ドメイン {workspace-domain}/api/2.0/account/scim/v2/ で API を呼び出します。

アカウント レベルの SCIM トークンをローテーションする

アカウント レベルの SCIM トークンが侵害された場合、または認証トークンを定期的にローテーションするビジネス要件がある場合は、SCIM トークンをローテーションできます。

  1. Azure Databricks アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[設定] をクリックします。
  3. [ユーザー プロビジョニング] をクリックします。
  4. [トークンの再生成] をクリックします。 新しいトークンをメモしておきます。 前のトークンは引き続き 24 時間機能します。
  5. 24 時間以内に、新しい SCIM トークンを使用するように SCIM アプリケーションを更新します。

Azure Databricks ワークスペースに ID をプロビジョニングする

重要

この機能はパブリック プレビュー段階にあります。

IdP コネクタを使用しようとしてユーザーとグループをプロビジョニングしようとしており、ID フェデレーションが行われていないワークスペースがある場合は、ワークスペース レベルで SCIM プロビジョニングを構成する必要があります。

注意

ワークスペース レベルの SCIM は、ID フェデレーション ワークスペースに割り当てられているアカウント グループを認識しません。また、アカウント グループが含まれている場合、ワークスペース レベルの SCIM API 呼び出しは失敗します。 ワークスペースで ID フェデレーションが有効になっている場合、Databricks では、ワークスペース レベルの SCIM API ではなくアカウント レベルの SCIM API を使用し、アカウント レベルの SCIM プロビジョニングを設定して、ワークスペース レベルの SCIM プロビジョニングをオフにすることをお勧めします。 詳細な手順については、「ワークスペース レベルの SCIM プロビジョニングをアカウント レベルに移行する」を参照してください。

IdP プロビジョニング コネクタを使用してワークスペースにユーザーとグループを追加する

以下の該当する IdP 固有の記事の指示に従ってください。

SCIM API を使用してワークスペースにユーザー、グループ、サービス プリンシパルを追加する

ワークスペース管理者は、ワークスペース用 SCIM API を使用して、Azure Databricks アカウントにユーザー、グループ、サービス プリンシパルを追加できます。 詳しくは、「Groups API」をご覧ください。

ワークスペース レベルの SCIM プロビジョニングをアカウント レベルに移行する

アカウント レベルの SCIM プロビジョニングを有効にし、ワークスペース用にワークスペース レベルの SCIM プロビジョニングを既に設定している場合、Databricks では、ワークスペース レベルの SCIM プロビジョナーをオフにして、代わりにユーザーとグループをアカウント レベルに同期することをお勧めします。

  1. ワークスペース レベルの SCIM コネクタを使用して Azure Databricks に現在プロビジョニングしているすべてのユーザーとグループを含むグループを、Microsoft Entra ID 内に作成します。

    Databricks では、アカウントのすべてのワークスペースのすべてのユーザーをこのグループに含めることを推奨しています。

  2. Azure Databricks アカウントに ID をプロビジョニングする」の手順に従って、ユーザーとグループをアカウントにプロビジョニングするように新しい SCIM プロビジョニング コネクタを構成します。

    ステップ 1 で作成したグループを使用します。 既存のアカウント ユーザーとユーザー名 (メール アドレス) を共有しているユーザーを追加すると、それらのユーザーはマージされます。 アカウント内の既存のグループは影響を受けません。

  3. 新しい SCIM プロビジョニング コネクタがユーザーとグループをアカウントに正常にプロビジョニングしていることを確認します。

  4. ユーザーとグループをワークスペースにプロビジョニングしていた古いワークスペース レベルの SCIM コネクタをシャットダウンします。

    ワークスペースレベルの SCIM コネクタをシャットダウンする前に、そこからユーザーとグループを削除しないでください。 SCIM コネクタからのアクセスを取り消すと、Azure Databricks ワークスペース内のユーザーが非アクティブになります。 詳細については、「Azure Databricks ワークスペース内のユーザーを非アクティブ化する」を参照してください。

  5. ワークスペース ローカル グループをアカウント グループに移行します。

    ワークスペースにレガシ グループがある場合、それらはワークスペース ローカル グループと呼ばれます。 アカウント レベルのインターフェイスを使用してワークスペース ローカル グループを管理することはできません。 Databricks では、これらのグループをアカウント グループに変換することをお勧めします。 「ワークスペース ローカル グループをアカウント グループに移行する」をご覧ください。