次の方法で共有


Azure Databricks リソースへのアクセスを承認する

このページでは、Azure Databricks CLI と REST API を使用して Azure Databricks リソースへのアクセスを承認する方法について説明します。 さまざまな承認方法、使用するタイミング、ユース ケースの認証を構成する方法について説明します。

CLI または REST API を使用して Azure Databricks リソースにアクセスするには、適切なアクセス許可を持つ Azure Databricks アカウントを使用して認証する必要があります。 Azure Databricks 管理者または管理者特権を持つユーザーがアカウントを構成します。

アカウントと API の種類

認証に使用できるアカウントには、次の 2 種類があります。

  • ユーザー アカウント: 対話型 CLI コマンドと API 呼び出しの場合。
  • サービス プリンシパル: 自動化された CLI コマンドと API 呼び出し (人間の操作なし) の場合。

MS Entra サービス プリンシパルを使用して、Azure Databricks アカウントまたはワークスペースへのアクセスを承認できます。 MS Entra サービス プリンシパルによる認証を参照してください。 ただし、Databricks では、アクセス トークンは Databricks 専用の承認に対してより堅牢なため、OAuth で Databricks サービス プリンシパルを使用することをお勧めします。

Azure Databricks には、異なる認証方法を必要とする 2 種類の API があります。

  • アカウント レベルの API: アカウントの所有者と管理者が使用でき、アカウント コンソールの URL でホストされます。 アカウント レベルの API を参照してください。
  • ワークスペース レベルの API: ワークスペースの URL でホストされているワークスペース ユーザーと管理者が使用できます。 ワークスペース レベルの API を参照してください。

承認方法

ユース ケースに最適な承認方法を選択します。 Azure Databricks ツールと SDK では複数の承認方法がサポートされているため、シナリオに最適なものを選択できます。

Method Description 利用シーン
Databricks OAuth トークンのフェデレーション (推奨) ユーザーまたはサービス プリンシパルの ID プロバイダーからの OAuth トークン。 Databricks シークレットを管理することなく、Azure Databricks に対する認証を行えます。
Databricks サービス プリンシパル用 OAuth (OAuth M2M) サービス プリンシパル用の、有効期間が短い OAuth トークン。 完全に自動化された CI/CD ワークフローなどの無人認証シナリオ。
ユーザーの OAuth (OAuth U2M) ユーザー用の、有効期間が短い OAuth トークン。 要求されたら、Web ブラウザーを使用して Azure Databricks でリアルタイムで認証する、参加済みの認証シナリオ。
Azure マネージド サービス ID 認可 Azure マネージド ID 用の Microsoft Entra ID トークン。 マネージド ID をサポートする Azure リソース (Azure 仮想マシンなど) でのみ使用します。
Microsoft Entra ID サービス プリンシパル認可 Microsoft Entra ID サービス プリンシパル用の Microsoft Entra ID トークン。 Microsoft Entra ID トークンをサポートし、かつマネージド ID をサポートしない Azure リソース (Azure DevOps など) でのみ使用します。
Azure CLI 認可 ユーザーまたは Microsoft Entra ID サービス プリンシパル用の Microsoft Entra ID トークン。 Azure CLI を使用して Azure リソースと Azure Databricks へのアクセスを承認するために使用します。
Microsoft Entra ID ユーザー認可 ユーザー用の Microsoft Entra ID トークン。 Microsoft Entra ID トークンのみをサポートする Azure リソースでのみ使用します。 Databricks では、Azure Databricks ユーザー用の Microsoft Entra ID トークンを手動で作成することはお勧めしません。

統合認証

Azure Databricks 統合認証 は、サポートされているすべてのツールと SDK で認証を構成するための一貫した方法を提供します。 この方法では、標準の環境変数と構成プロファイルを使用して資格情報の値を格納するため、CLI コマンドを実行したり、認証を繰り返し構成せずに API を呼び出したりすることができます。

統合認証では、アカウントの種類が異なる方法で処理されます。

OAuth アクセス トークンを使用するには、Azure Databricks ワークスペースまたはアカウント管理者が、コードがアクセスするアカウントとワークスペース機能の CAN USE アクセス許可をユーザー アカウントまたはサービス プリンシパルに付与する必要があります。

環境変数

統合認証を構成するには、次の環境変数を設定します。 ユーザーとサービス プリンシパルの両方の承認に適用される変数もあれば、サービス プリンシパルにのみ必要な変数もあります。

環境変数 Description
DATABRICKS_HOST Azure Databricks アカウント コンソール (https://accounts.azuredatabricks.net) または Azure Databricks ワークスペース (https://{workspace-url-prefix}.azuredatabricks.net) の URL。 コードが実行する操作の種類に基づいて選択します。
DATABRICKS_ACCOUNT_ID Azure Databricks アカウント操作に使用されます。 これはユーザーの Azure Databricks アカウント ID です。 これを取得するには「アカウント ID を特定する」を参照してください。
DATABRICKS_CLIENT_ID (サービス プリンシパル OAuth のみ) あなたのサービス プリンシパル を作成する際に割り当てられたクライアント ID。
DATABRICKS_CLIENT_SECRET (サービス プリンシパル OAuth のみ) サービス プリンシパルの作成時に生成したクライアント シークレット。

環境変数を手動で設定するのではなく、クライアント コンピューターの Databricks 構成プロファイル (.databrickscfg) で定義することを検討してください。

構成プロファイル

Azure Databricks 構成プロファイルには、Azure Databricks ツールと SDK がアクセスを承認するために必要な設定と資格情報が含まれています。 これらのプロファイルは、使用するツール、SDK、スクリプト、アプリのローカル クライアント ファイル (通常は .databrickscfg) に格納されます。

詳細については「Azure Databricks 構成プロファイル」を参照してください。

サード パーティの統合

サードパーティのサービスやツールと統合する場合は、それらのサービスによって提供される認証メカニズムを使用する必要があります。 ただし、Azure Databricks では、一般的な統合がサポートされています。