サービスプリンシパル
サービスプリンシパルは、自動化とプログラムによるアクセスのために設計されたDatabricksの特殊な ID です。 サービスプリンパルは、個々のユーザーの資格情報に依存せずに、自動化ツール、スクリプト、 CI/CDプラットフォームのDatabricksリソースへの安全な API のみのアクセスを提供します。
サービスプリンシパルの管理方法については、「サービスプリンシパルの管理」を参照してください。
このページでは、ワークスペースで ID フェデレーションが有効になっていることを前提としています。これは、ほとんどのワークスペースにとって確実です。 ID フェデレーションのないレガシー ワークスペースについては、 「ID フェデレーションのないレガシー ワークスペース」を参照してください。
サービスプリンシパルとは?
サービスシプリンパルは、自動化されたツールとスクリプトにDatabricksリソースへの API のみのアクセスを提供し、ユーザー アカウントを使用するよりも優れたセキュリティを提供します。 Databricksユーザーと同じ方法で、サービスプリンシパルのリソースへのアクセスを許可および制限できます。 たとえば、サービスプリンシパルにアカウント管理者またはワークスペース管理者の役割を付与したり、 Unity Catalog使用してデータへのアクセスを許可したり、サービスプリンシパルをメンバーとしてグループに追加したりできます。
サービスプリンシパルを使用するためのアクセス許可を Databricks ユーザー、サービスプリンシパル、およびグループに付与できます。 これにより、ユーザーは ID としてではなく、サービスプリンシパルとしてジョブを実行できるため、ユーザーが組織を離れたり、グループが変更されたりした場合にジョブが失敗するのを防ぐことができます。
一般的な使用例
サービスシプリンパルは、 Databricksリソースへの安全で信頼性の高いプログラムによるアクセスが必要な、次のような自動化シナリオに最適です。
ユースケース | 例 |
|---|---|
CI/CDパイプライン | 継続的な統合およびデプロイメント ワークフローの一部として、ノートブック、ライブラリ、および構成を自動的にデプロイします。 |
スケジュールされたジョブ | 個々のユーザー アカウントに依存せずに、ETL パイプライン、データ処理ジョブ、自動レポートをスケジュールに従って実行します。 |
システム間統合 | 外部アプリケーションとサービスをDatabricksに接続して、データの取り込み、変換、分析を行います。 |
自動テスト | 統合テストを実行し、テスト フレームワークの一部としてデータパイプラインを検証します。 |
インフラストラクチャ・アズ・コード | Terraform 、ARM テンプレート、Declarative Automation Bundles などのツールを使用して、 Databricksリソースをプロビジョニングおよび管理します。 |
サービスプリンシパルを管理および使用できるのは誰ですか?
Databricksでサービスプリンシパルを管理するには、次のいずれかのロールが必要です。
ロール | 機能 |
|---|---|
アカウント管理者 |
|
ワークスペース管理者 |
|
サービスプリンシパルマネージャー |
|
サービスプリンシパルユーザー |
|
- サービスプリンシパルの作成者は、自動的にサービスプリンシパルの管理者になります。
- サービスプリンシパルマネージャーロールを持つユーザーは、サービスプリンシパルユーザーロールを継承しません。 サービスプリンシパルを使用してジョブを実行する場合は、サービスプリンシパルを作成した後でも、サービスプリンシパルのユーザー ロールを明示的に割り当てる必要があります。
サービスプリンシパル マネージャーとユーザー ロールを付与する方法については、「 サービスプリンシパルを管理するためのロール」を参照してください。
Microsoft Entra ID テナントからサービス プリンシパルをDatabricksアカウントに同期します
自動 ID 管理を使用して、 Microsoft Entra ID サービスプリンシパルをMicrosoft Entra ID テナントからDatabricksアカウントに自動的に同期できます。 Databricks Microsoft Entra ID をソースとして使用するため、ユーザーまたはグループ メンバーシップへの変更はすべてDatabricksで尊重されます。 自動ID管理を参照してください。
SCIMプロビジョニングはサービスプリンシパルの同期をサポートしていません。
システムおよびアプリケーションサービスプリンシパル
システムとアプリケーション サービスプリンシパルは、内部Databricksを表すDatabricksで管理されるサービスプリンシパルです。 ユーザーが作成して管理するサービスプリンシパルとは異なり、システム サービスプリンシパルはDatabricksによって自動的に作成および管理されます。 ライフサイクルはアカウントやメタストアなどの Databricks リソースに関連付けられており、管理者による管理は必要ありません。
システムとアプリケーションのサービスプリンシパルは、予測的最適化やスケジュールされたダッシュボード更新などのDatabricksプラットフォーム機能を通じて間接的にのみ使用できます。 システムまたはアプリケーション サービスプリンシパルを作成、変更、またはなりすますことはできません。
Databricksバックグラウンド操作を実行するときに、システム ログにシステムとアプリケーションのサービスプリンシパルが表示される場合があります。
追加のリソース
- Manage サービスプリンシパル- サービスプリンシパルの作成と管理
- サービスシプリンパルのアクセス制御- マネージャーとユーザーの役割を付与する
- Databricks自動化の認証- サービスプリンシパルの認証方法
- ID の管理- Databricks における ID 管理の概要
- 自動ID管理- Microsoft Entra IDからサービスプリンシパルを同期