サービス プリンシパルを管理する

この記事では、Azure Databricks アカウントとワークスペースのサービス プリンシパルを作成し、管理する方法について説明します。

Azure Databricks ID モデルの概要については、「Azure Databricks の ID」を参照してください。

サービス プリンシパルのアクセスを管理するには、「認証とアクセス制御」を参照してください。

サービス プリンシパルとは

サービス プリンシパルは、自動化されたツール、ジョブ、アプリケーションで使用するための Azure Databricks で作成する ID です。 サービス プリンシパルを使用すると、自動化されたツールとスクリプトに Azure Databricks リソースへの API 専用のアクセスが提供されるため、ユーザーやグループを使用するよりもセキュリティが強化されます。

サービス プリンシパルによるリソースへのアクセスを許可したり制限したりするには、Azure Databricks ユーザーと同じ方法を使用します。 たとえば、次を実行できます。

  • サービス プリンシパル アカウント管理者とワークスペース管理者のロールを付与します。
  • Unity Catalog を使用してアカウント レベルまたはワークスペース レベルのデータへのアクセス権をサービス プリンシパルに付与します。
  • ワークスペース admins グループなど、アカウント レベルとワークスペース レベルの両方のグループにサービス プリンシパルを追加します

Azure Databricks のユーザー、サービス プリンシパル、およびグループに、サービス プリンシパルを使用するためのアクセス許可を付与することもできます。 これにより、ユーザーは自分の ID ではなく、サービス プリンシパルとしてジョブを実行できます。 また、ユーザーが組織を離れた場合やグループが変更された場合に、ジョブが失敗するのを防ぎます。

Azure Databricks ユーザーとは異なり、サービス プリンシパルは API 専用の ID です。これを使用して、Azure Databricks UI にアクセスすることはできません。

Databricks では、ワークスペースで ID フェデレーションを有効にすることをお勧めします。 ID フェデレーションを使うと、アカウント コンソールでサービス プリンシパルを構成してから、それらに特定のワークスペースへのアクセス権を割り当てることができます。 これにより、Azure Databricks の管理とデータ ガバナンスが簡略化されます。

重要

お使いのアカウントが 2023 年 11 月 9 日以降に作成されている場合、すべての新しいワークスペースで ID フェデレーションが既定で有効になり、無効にすることはできません。

Databricks と Microsoft Entra ID (旧称 Azure Active Directory) のサービス プリンシパル

サービス プリンシパルには、Azure Databricks マネージド サービス プリンシパルまたは Microsoft Entra ID マネージド サービス プリンシパルを指定できます。

Azure Databricks マネージド サービス プリンシパルは、Databricks OAuth 認証と個人用アクセス トークンを使って、Azure Databricks に対する認証を行うことができます。 Microsoft Entra ID マネージド サービス プリンシパルは、Databricks OAuth 認証と Microsoft Entra ID トークンを使用して Azure Databricks に対して認証を行うことができます。 サービス プリンシパルの認証について詳しくは、「サービス プリンシパルのトークンを管理する」をご覧ください。

Azure Databricks マネージド サービス プリンシパルは、Azure Databricks 内で直接管理されます。 Microsoft Entra ID マネージド サービス プリンシパルは、追加のアクセス許可が必要とされる Microsoft Entra ID 内で管理されます。 Databricks では、Azure Databricks の自動化に Azure Databricks マネージド サービス プリンシパルを使用し、Azure Databricks やその他の Azure リソースで同時に認証する必要がある場合は、Microsoft Entra ID マネージド サービス プリンシパルを使用することをお勧めします。

Azure Databricks マネージド サービス プリンシパルを作成するには、このセクションをスキップし、「サービス プリンシパルを管理および使用できるユーザー」をお読みください。

Azure Databricks で Microsoft Entra ID マネージドサービス プリンシパルを使うには、管理者ユーザーが Azure で Microsoft Entra ID アプリケーションを作成する必要があります。 Microsoft Entra ID マネージド サービス プリンシパルを作成するには、次の手順に従います。

  1. Azure portal にサインインします。

    Note

    使用するポータルは、Microsoft Entra ID (旧称 Azure Active Directory) アプリケーションが Azure パブリック クラウド、各国のクラウドまたはソブリン クラウドのいずれで実行されるかによって異なります。 詳細については、各国のクラウドに関する記事をご覧ください。

  2. 複数のテナント、サブスクリプション、またはディレクトリにアクセスできる場合は、上部のメニューの [ディレクトリ + サブスクリプション] (フィルター付きのディレクトリ) アイコンをクリックして、サービス プリンシパルをプロビジョニングするディレクトリに切り替えます。

  3. [リソース、サービス、ドキュメントの検索] で「Microsoft Entra ID」を検索して選びます。

  4. [+ 追加] をクリックし、[アプリの登録] を選びます。

  5. [名前] にアプリケーションの名前を入力します。

  6. [サポートされているアカウントの種類] セクションで、[この組織ディレクトリのみに含まれるアカウント (シングル テナント)] を選択します。

  7. [登録] をクリックします。

  8. アプリケーション ページの [概要] ページの [要点] セクションで、次の値をコピーします。

    • アプリケーション (クライアント) ID
    • ディレクトリ (テナント) ID

    Azure 登録済みアプリの概要

  9. クライアント シークレットを生成するには、[管理] 内で、[証明書とシークレット] をクリックします。

    Note

    このクライアント シークレットを使って、Azure Databricks で Microsoft Entra ID サービス プリンシパルを認証するための Microsoft Entra ID トークンを生成します。 Azure Databricks ツールまたは SDK が Microsoft Entra ID トークンを使用できるかどうかを確認するには、ツールまたは SDK のドキュメントを参照してください。

  10. [クライアント シークレット] タブで、[新しいクライアント シークレット] をクリックします。

    新しいクライアント シークレット

  11. [クライアントシークレットの追加] ウィンドウの [説明] に、クライアント シークレットの説明を入力します。

  12. [有効期限] で、クライアント シークレットの有効期限の期間を選択して、[追加] をクリックします。

  13. クライアント シークレットの をコピーし、安全な場所に保存します。このクライアント シークレットはアプリケーションのパスワードです。

サービス プリンシパルを管理および使用できるユーザー

Azure Databricks でサービス プリンシパルを管理するには、アカウント管理者ロール、ワークスペース管理者ロール、またはサービス プリンシパルに対するマネージャーあるいはユーザー ロールのいずれかを持っている必要があります。

  • アカウント管理者は、アカウントにサービス プリンシパルを追加し、管理者ロールを割り当てることができます。 また、ワークスペースで ID フェデレーションが使用されていれば、そのワークスペースにサービス プリンシパルを割り当てることもできます。
  • ワークスペース管理者は、サービス プリンシパルを Azure Databricks ワークスペースに追加し、ユーザーにワークスペース管理者ロールを割り当てることができます。また、ワークスペース内のオブジェクトや機能へのアクセスを管理できます。たとえば、クラスターの作成や、指定されたペルソナベース環境へのアクセスなどです。
  • サービス プリンシパル マネージャーは、サービス プリンシパル上のロールを管理できます。 サービス プリンシパルの作成者はサービス プリンシパル マネージャーになります。 アカウント管理者は、アカウント内のすべてのサービス プリンシパルのサービス プリンシパル マネージャーです。

Note

2023 年 6 月 13 日より前にサービス プリンシパルが作成された場合、サービス プリンシパルの作成者は既定ではサービス プリンシパル マネージャー ロールを持ちません。 自分にサービス プリンシパル マネージャー ロールを付与するようにアカウント管理者に依頼してください。

  • サービス プリンシパル ユーザーは、サービス プリンシパルとしてジョブを実行できます。 ジョブは、ジョブの所有者の ID ではなく、サービス プリンシパルの ID を使用して実行されます。 詳細については、「サービス プリンシパルとしてのジョブ実行」を参照してください。

サービス プリンシパルにマネージャーおよびユーザーのロールを付与する方法については、「サービス プリンシパルを管理するためのロール」を参照してください。

アカウントのサービス プリンシパルを管理する

アカウント管理者は、アカウント コンソールを使用して、Azure Databricks アカウントにサービス プリンシパルを追加できます。

アカウント コンソールを使用してアカウントにサービス プリンシパルを追加する

サービス プリンシパルは、Azure Databricks 内に作成することも、既存の Microsoft Entra ID (旧称 Azure Active Directory) サービス プリンシパルからリンクすることもできます。 「Databricks と Microsoft Entra ID (旧称 Azure Active Directory) のサービス プリンシパル」をご覧ください。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [サービス プリンシパル] タブで、[サービス プリンシパルの追加] をクリックします。
  4. [管理] で、[Databricks managed] (Databricks で管理) または [Microsoft Entra ID managed] (Microsoft Entra ID で管理) を選びます。
  5. [Microsoft Entra ID managed] (Microsoft Entra ID で管理) を選んだ場合は、[Microsoft Entra アプリケーション ID] に、サービス プリンシパルのアプリケーション (クライアント) ID を貼り付けます。
  6. サービス プリンシパルの名前を入力します。
  7. [追加] をクリックします。

サービス プリンシパルにアカウント管理者ロールを割り当てる

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [サービス プリンシパル] タブで、ユーザー名を見つけてクリックします。
  4. [ロール] タブで、[アカウント管理者] または [マーケットプレース管理者] をオンにします。

アカウント コンソールを使用してワークスペースにサービス プリンシパルを割り当てる

アカウント コンソールを使用してワークスペースにユーザーを追加するには、ワークスペースで ID フェデレーションが有効でなければなりません。 ワークスペース管理者は、ワークスペース管理者設定ページを使用して、サービス プリンシパルをワークスペースに割り当てることもできます。 詳細については、「ワークスペース管理者設定を使用してワークスペースにサービス プリンシパルを追加する」をご覧ください。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ワークスペース] をクリックします。
  3. ワークスペース名をクリックします。
  4. [Permissions](アクセス許可) タブで [Add permissions](アクセス許可の追加) をクリックします。
  5. サービス プリンシパルを見つけて選択し、アクセス許可レベル (ワークスペース ユーザー、または管理者) を割り当てて、[保存] をクリックします。

アカウント コンソールを使用してワークスペースからサービス プリンシパルを削除する

アカウント コンソールを使用してワークスペースからサービス プリンシパルを削除するには、ワークスペースで ID フェデレーションが有効でなければなりません。 サービス プリンシパルがワークスペースから削除されると、そのサービス プリンシパルからそのワークスペースにアクセスできなくなりますが、アクセス許可はそのサービス プリンシパルに維持されます。 後でそのサービス プリンシパルがそのワークスペースに再び追加されると、以前のアクセス許可が回復します。

  1. アカウント管理者としてアカウント コンソールにログインします
  2. サイドバーで、[ワークスペース] をクリックします。
  3. ワークスペース名をクリックします。
  4. [アクセス許可] タブで、サービス プリンシパルを見つけます。
  5. サービス プリンシパル行の右端にある Kebab メニュー kebab メニューをクリックし、[削除] を選択します。
  6. 確認のダイアログ ボックスで [削除] をクリックします。

Azure Databricks アカウント内のサービス プリンシパルを非アクティブ化する

アカウント管理者は、Azure Databricks アカウント全体でサービス プリンシパルを非アクティブ化できます。 非アクティブ化されたサービス プリンシパルは、Azure Databricks アカウントまたはワークスペースに対して認証できません。 ただし、サービス プリンシパルのすべてのアクセス許可とワークスペース オブジェクトは変更されません。 サービス プリンシパルが非アクティブ化された場合、次のようになります。

  • サービス プリンシパルは、どの方法からもアカウントまたはワークスペースに対して認証できません。
  • サービス プリンシパルによって生成されたトークンを使用するアプリケーションまたはスクリプトは、Databricks API にアクセスできなくなります。 トークンは残りますが、サービス プリンシパルが非アクティブである間は認証に使用できません。
  • サービス プリンシパルによって所有されるクラスターは実行され続けます。
  • サービス プリンシパルによって作成されたスケジュール済みジョブは、新しい所有者に割り当てられない限り失敗します。

サービス プリンシパルは、再アクティブ化されると、同じアクセス許可を使って Azure Databricks にログインできます。 Databricks では、サービス プリンシパルの削除は破壊的なアクションであるため、サービス プリンシパルを削除する代わりにアカウントから非アクティブ化することをお勧めします。 「Azure Databricks アカウントからサービス プリンシパルを削除する」を参照ください。 アカウントからサービス プリンシパルを非アクティブ化すると、そのサービス プリンシパルは ID フェデレーション ワークスペースからも非アクティブ化されます。

アカウント コンソールを使用してユーザーを非アクティブ化することはできません。 代わりに、Account Service Principals API を使用します。 「API を使用してサービス プリンシパルを非アクティブ化する」を参照してください。

Azure Databricks アカウントからサービス プリンシパルを削除する

アカウント管理者は、Azure Databricks アカウントからサービス プリンシパルを削除できます。 これをワークスペース管理者が行うことはできません。 アカウントからサービス プリンシパルを削除すると、そのプリンシパルはワークスペースからも削除されます。

重要

アカウントからサービス プリンシパルを削除すると、ID フェデレーションが有効になっているかどうかに関係なく、そのサービス プリンシパルはワークスペースからも削除されます。 アカウントレベルのサービス プリンシパルの削除は、それらによるアカウント内のすべてのワークスペースへのアクセスを禁止する場合を除き、行わないことをお勧めします。 サービス プリンシパルを削除した場合の次の結果に注意してください。

  • サービス プリンシパルによって生成されたトークンを使用するアプリケーションまたはスクリプトは、Databricks API にアクセスできなくなります
  • サービス プリンシパルによって所有されるジョブは失敗します
  • サービス プリンシパルによって所有されるクラスターは停止します
  • サービス プリンシパルによって作成され、"所有者として実行" 資格情報を使用して共有されるクエリまたはダッシュボードは、共有が失敗しないようにするには、新しい所有者に割り当てる必要があります

Microsoft Entra ID のサービス プリンシパルがアカウントから削除されると、そのサービス プリンシパルからそのアカウントまたはワークスペースにアクセスできなくなりますが、アクセス許可はそのサービス プリンシパルに維持されます。 後でそのサービス プリンシパルがそのアカウントに再び追加されると、以前のアクセス許可が回復します。

アカウント コンソールを使用してサービス プリンシパルを削除するには、次を行います。

  1. アカウント管理者として、アカウント コンソールにログインします。
  2. サイドバーで、[ユーザー管理] をクリックします。
  3. [サービス プリンシパル] タブで、ユーザー名を見つけてクリックします。
  4. [プリンシパル情報] タブで、右上角にある ケバブ メニュー ケバブ メニューをクリックし、[削除] を選択します。
  5. 確認ダイアログ ボックスで、[削除の確認] をクリックします。

ワークスペースのサービス プリンシパルを管理する

ワークスペース管理者は、ワークスペース管理者設定ページを使用して、ワークスペース内のサービス プリンシパルを管理できます。

ワークスペース管理者設定を使用してワークスペースにサービス プリンシパルを追加する

サービス プリンシパルは、Azure Databricks 内に作成することも、既存の Microsoft Entra ID (旧称 Azure Active Directory) サービス プリンシパルからリンクすることもできます。 「Databricks と Microsoft Entra ID (旧称 Azure Active Directory) のサービス プリンシパル」をご覧ください。

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

  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[設定] を選択します。

  3. [ID およびアクセス管理] タブをクリックします。

  4. [サービス プリンシパル] の横にある [管理] をクリックします。

  5. [サービス プリンシパルの追加] をクリックします。

  6. ワークスペースに割り当てる既存のサービス プリンシパルを選択するか、[新規追加] をクリックして新しいサービス プリンシパルを追加します。

    新しいサービス プリンシパルを追加するには、[Databricks managed] (Databricks で管理) または [Microsoft Entra ID managed] (Microsoft Entra ID で管理) を選びます。 [Microsoft Entra ID managed] (Microsoft Entra ID で管理) を選んだ場合は、サービス プリンシパルのアプリケーション (クライアント) ID を貼り付けて、表示名を入力します。

  7. [追加] をクリックします。

Note

ワークスペースで ID フェデレーションが有効になっていない場合は、既存のアカウント サービス プリンシパルをワークスペースに割り当てることはできません。

ワークスペース管理者設定ページを使用してワークスペース管理者ロールをサービス プリンシパルに割り当てる

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[設定] を選択します。
  3. [ID およびアクセス管理] タブをクリックします。
  4. [グループ] の横にある [管理] をクリックします。
  5. admins システム グループを選択します。
  6. [メンバーの追加] をクリックします。
  7. サービス プリンシパルを選択し、[確認] をクリックします。

サービス プリンシパルからワークスペース管理者ロールを削除するには、管理者グループからサービス プリンシパルを削除します。

Azure Databricks ワークスペース内のサービス プリンシパルを非アクティブ化する

ワークスペース管理者は、Azure Databricks ワークスペース内のサービス プリンシパルを非アクティブ化できます。 非アクティブ化されたサービス プリンシパルは、Azure Databricks API からワークスペースにアクセスできませんが、サービス プリンシパルのすべてのアクセス許可とワークスペース オブジェクトは変更されません。 サービス プリンシパルが非アクティブ化された場合:

  • サービス プリンシパルは、どの方法からもワークスペースに対して認証できません。
  • サービス プリンシパルの状態は、ワークスペース管理者設定ページで [非アクティブ] と表示されます。
  • サービス プリンシパルによって生成されたトークンを使用するアプリケーションまたはスクリプトは、Databricks API にアクセスできなくなります。 トークンは残りますが、サービス プリンシパルが非アクティブである間は認証に使用できません。
  • サービス プリンシパルによって所有されるクラスターは実行され続けます。
  • サービス プリンシパルによって作成されたスケジュールされたジョブは、失敗しないように新しい所有者に割り当てる必要があります。

サービス プリンシパルは、再アクティブ化されると、同じアクセス許可でワークスペースに対する認証を行うことができます。 Databricks では、サービス プリンシパルの削除は破壊的なアクションであるため、サービス プリンシパルを削除する代わりに非アクティブ化することをお勧めします。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[設定] を選択します。
  3. [ID およびアクセス管理] タブをクリックします。
  4. [サービス プリンシパル] の横にある [管理] をクリックします。
  5. 非アクティブ化するサービス プリンシパルを選択します。
  6. [状態]で、[アクティブ] をオフにします。

サービス プリンシパルをアクティブに設定するには、同じ手順を実行しますが、代わりにチェック ボックスをオンにします。

ワークスペース管理者設定ページを使用してワークスペースからサービス プリンシパルを削除する

ワークスペースからサービス プリンシパルを削除しても、アカウントからサービス プリンシパルは削除されません。 アカウントからサービス プリンシパルを削除するには、「Azure Databricks アカウントからサービス プリンシパルを削除する」を参照してください。

サービス プリンシパルがワークスペースから削除されると、そのサービス プリンシパルからそのワークスペースにアクセスできなくなりますが、アクセス許可はそのサービス プリンシパルに維持されます。 後でそのサービス プリンシパルがワークスペースに再び追加されると、以前のアクセス許可が回復します。

  1. ワークスペース管理者として、Azure Databricks ワークスペースにログインします。
  2. Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[設定] を選択します。
  3. [ID およびアクセス管理] タブをクリックします。
  4. [サービス プリンシパル] の横にある [管理] をクリックします。
  5. サービス プリンシパルを選択します。
  6. 右上隅の [削除] をクリックします。
  7. [削除] をクリックして確定します。

API を使用してサービス プリンシパルを管理する

アカウント管理者とワークスペース管理者は、Databricks API を使用して、Azure Databricks のアカウントとワークスペース内のサービス プリンシパルを管理できます。 API を使ったサービス プリンシパルのロールの管理については、「Databricks CLI を使用してサービス プリンシパルのロールを管理する」をご覧ください。

API を使用してアカウント内のサービス プリンシパルを管理する

管理者は、Account Service Principals API を使用して、Azure Databricks アカウントでサービス プリンシパルを追加および管理できます。 アカウント管理者とワークスペース管理者は、別のエンドポイント URL を使用して API を呼び出します。

  • アカウント管理者は {account-domain}/api/2.0/accounts/{account_id}/scim/v2/ を使用します。
  • ワークスペース管理者は {workspace-domain}/api/2.0/account/scim/v2/ を使用します。

詳細については、「Account Service Principals API」を参照してください。

API を使用してサービス プリンシパルを非アクティブ化する

アカウント管理者は、Account Service Principals API を使用してサービス プリンシパルの状態を false に変更することでサービス プリンシパルを非アクティブ化することができます。

次に例を示します。

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.0/accounts/{account_id}/scim/v2/ServicePrincipals/{id} \
--header 'Content-type: application/scim+json' \
--data @update-sp.json \
| jq .

update-sp.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "replace",
      "path": "active",
      "value": [
        {
          "value": "false"
        }
      ]
    }
  ]
}

非アクティブ化されたサービス プリンシパルの状態には、アカウント コンソールで [非アクティブ] というラベルが付けられます。 アカウントからサービス プリンシパルを非アクティブ化すると、そのサービス プリンシパルはそのワークスペースからも非アクティブ化されます。

API を使用してアカウント内のサービス プリンシパルを管理する

アカウント管理者とワークスペース管理者は、Workspace Assignment API を使用して、ID フェデレーションが有効なワークスペースにサービス プリンシパルを割り当てることができます。 Workspace Assignment API は、Azure Databricks のアカウントとワークスペースでサポートされています。

  • アカウント管理者は {account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments を使用します。
  • ワークスペース管理者は {workspace-domain}/api/2.0/preview/permissionassignments/principals/{principal_id} を使用します。

ワークスペース割り当て API」を参照してください。

ワークスペースで ID フェデレーションが有効でない場合、ワークスペース管理者はワークスペース レベルの API を使用して、ワークスペースにサービス プリンシパルを割り当てることができます。 「Workspace Service Principals API」をご覧ください。

サービス プリンシパルのトークンを管理する

サービス プリンシパルは、次のように Azure Databricks OAuth トークンまたは Azure Databricks 個人用アクセス トークンを使って、Azure Databricks 上の API に対する認証を行うことができます。

  • Azure Databricks OAuth トークンは、Azure Databricks のアカウント レベルおよびワークスペース レベルの API に対する認証に使用できます。
    • Azure Databricks のアカウント レベルで作成される Azure Databricks OAuth トークンは、Azure Databricks のアカウント レベルおよびワークスペース レベルの API に対する認証に使用できます。
    • Azure Databricks のワークスペース レベルで作成される Azure Databricks OAuth トークンは、Azure Databricks ワークスペース レベルの API に対する認証にのみ使用できます。
  • Azure Databricks 個人用アクセス トークンは、Azure Databricks ワークスペース レベルの API に対する認証にのみ使用できます。

サービス プリンシパルは、Microsoft Entra ID (旧称 Azure Active Directory) トークンを使用して Azure Databricks 上の API に対する認証を行うこともできます。

サービス プリンシパルの Databricks OAuth 認証を管理する

アカウントレベルとワークスペースレベルの Databricks REST API に対して認証するために、アカウント管理者はサービス プリンシパルに Azure Databricks OAuth トークンを使用できます。 サービス プリンシパルのクライアント ID とクライアント シークレットを使って、OAuth トークンを要求できます。 詳細については、「OAuth マシン間 (M2M) 認証」を参照してください。

サービス プリンシパルの個人用アクセス トークンを管理する

Azure Databricks 上の API に対してのみ認証を行うために、サービス プリンシパルでは次のようにそれ自体の Databricks 個人用アクセス トークンを作成できます。

Note

Azure Databricks ユーザー インターフェイスを使用して、サービス プリンシパル用の Azure Databricks 個人用アクセス トークンを生成することはできません。 このプロセスでは、Databricks CLI バージョン 0.205 以降を使用してサービス プリンシパル用のアクセス トークンを生成します。 Databricks CLI が既にインストールされている場合は、Databricks CLI のインストールまたは更新を参照してください。

この手順では、OAuth マシン間 (M2M) 認証または Microsoft Entra ID サービス プリンシパル認証を使用して、サービス プリンシパル認証用の Databricks CLI を設定し、それ自体の Azure Databricks 個人用アクセス トークンを生成することを前提としています。 「OAuth マシン間 (M2M) 認証」または「 Microsoft Entra ID サービス プリンシパル認証」を参照してください。

  1. Databricks CLI を使用して次のコマンドを実行し、サービス プリンシパル用に別のアクセス トークンを生成します。

    次のコマンドでは、次のプレースホルダーを置き換えます。

    • オプションで、アクセス トークンの目的に関する意味のあるコメントで <comment> を置き換えます。 --comment オプションが指定されていない場合は、コメントは生成されません。
    • オプションで、アクセス トークンが有効になる秒数で <lifetime-seconds> を置き換えます。 たとえば、1 日は 86400 秒です。 --lifetime-seconds オプションが指定されていない場合、アクセス トークンは期限切れにならないように設定されます (推奨されません)。
    • オプションで、サービス プリンシパルとターゲット ワークスペースの認証情報を含む Azure Databricks 構成プロファイル名で <profile-name> を置き換えます。 -p オプションが指定されていない場合、Databricks CLI は DEFAULT という名前の構成プロファイルを検索して使用しようとします。
    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
  2. 応答では、サービス プリンシパルのアクセス トークンである token_value の値をコピーします。

    コピーしたトークンは必ず安全な場所に保存してください。 コピーしたトークンは他人に見せないでください。 コピーしたトークンを失った場合、それとまったく同じトークンは再生成できません。 代わりに、この手順を繰り返して新しいトークンを作成する必要があります。

    ワークスペースでトークンを作成することや使用することができない場合は、ワークスペース管理者によってトークンが無効にされているか、トークンを作成または使用する権限が作業者に付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。

サービス プリンシパルの Microsoft Entra ID (旧称 Azure Active Directory) 認証を管理する

Microsoft Entra ID トークンを使用して API に対する認証を行えるのは、Microsoft Entra ID マネージド サービス プリンシパルだけです。 Microsoft Entra ID アクセス トークンの作成については、「サービス プリンシパルの Microsoft Entra ID (旧称 Azure Active Directory) トークンを取得する」をご覧ください。

Microsoft Entra ID アクセス トークンを使用して Tokens API を呼び出し、サービス プリンシパルの Databricks 個人用アクセス トークンを作成できます。