次の方法で共有


サービス プリンシパル

このページには、Azure Databricks のサービス プリンシパルの概要が記載されています。 サービス プリンシパルを管理する方法については、「サービス プリンシパルの管理」を参照してください。

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

サービス プリンシパルは、自動化とプログラムによるアクセス用に設計された Azure Databricks の特殊な ID です。 サービス プリンシパルは、Azure Databricks リソースへの API 専用アクセスを自動化されたツールとスクリプトに提供し、ユーザー アカウントを使用するよりも高いセキュリティを提供します。

Azure Databricks ユーザーと同じ方法で、サービス プリンシパルのリソースへのアクセスを許可および制限できます。 例えば、あなたは次のことができます:

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

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

サービス プリンシパルを使用する利点:

  • セキュリティと安定性: 個々のユーザー資格情報に依存せずにジョブとワークフローを自動化し、ユーザー アカウントの変更や出発に関連するリスクを軽減します。
  • 柔軟なアクセス許可: ユーザー、グループ、またはその他のサービス プリンシパルがアクセス許可をサービス プリンシパルに委任することを許可し、ユーザーに代わってジョブを実行できるようにします。
  • API-Only ID: 通常の Databricks ユーザーとは異なり、サービス プリンシパルは API アクセス専用に設計されており、Databricks UI にログインすることはできません。

Databricks と Microsoft Entra ID サービス プリンシパル

サービス プリンシパルには、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 マネージド サービス プリンシパルを作成するには、 MS Entra サービス プリンシパル認証を参照してください。

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

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

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

サービス プリンシパル マネージャー ロールを持つユーザーは、サービス プリンシパル ユーザー ロールを継承しません。 サービス プリンシパルを作成した後でも、サービス プリンシパルを使用してジョブを実行する場合は、自分にサービス プリンシパル ユーザー ロールを明示的に割り当てる必要があります。

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

Microsoft Entra ID テナントから Azure Databricks アカウントにサービス プリンシパルを同期する

Microsoft Entra ID サービス プリンシパルは、自動 ID 管理 (パブリック プレビュー) を使用して、Microsoft Entra ID テナントから Azure Databricks アカウントに自動的に同期できます。 Databricks はソースとして Microsoft Entra ID を使用するため、ユーザーまたはグループ メンバーシップに対する変更は Azure Databricks で尊重されます。 手順については、「Microsoft Entra IDからユーザーとグループを自動的に同期する」を参照してください。

SCIM プロビジョニングでは、サービス プリンシパルの同期はサポートされていません。