注記
この情報は、Databricks CLI バージョン 0.205 以降に適用されます。 Databricks CLI は Public Preview です。
Databricks CLI の使用には、Databricks ライセンスおよび使用状況データのプロビジョニングを含むDatabricks のプライバシーに関する通知が適用されます。
この記事では、Databricks CLI と Azure Databricks アカウントとワークスペースの間で認証を設定する方法について説明します。 Databricks CLI が既にインストールされていることを前提としています。 「Databricks CLI のインストールまたは更新」を参照してください。
Databricks CLI コマンドを実行する前に、使用する予定のアカウントまたはワークスペースの 認証 を構成する必要があります。 必要なセットアップは、ワークスペース レベルのコマンド、アカウントレベルのコマンド、またはその両方を実行するかどうかによって異なります。
使用可能な CLI コマンド グループを表示するには、 databricks -hを実行します。 対応する REST API 操作の一覧については、 Databricks REST API を参照してください。
Azure DevOpsを用いたAzure DatabricksへのMicrosoft Entra認証の詳細については、Azure DatabricksでAzure DevOpsを使用して認証を参照してください。
OAuth マシン間 (M2M) 認証
OAuth を使用したマシン間 (M2M) 認証を使用すると、サービス、スクリプト、またはアプリケーションは、対話型のユーザー サインインなしで Databricks リソースにアクセスできます。 M2M 認証では、個人アクセス トークン (AT) またはユーザー資格情報に依存する代わりに、サービス プリンシパルと OAuth クライアント資格情報フローを使用してトークンを要求および管理します。
OAuth M2M 認証を構成して使用するには:
OAuth M2M 認証のセットアップ手順を完了します。 OAuth を使用した Azure Databricks へのサービス プリンシパル アクセスの認証を参照してください。
ファイルに次のフィールドを含むAzure Databricks
.databrickscfgを作成します。アカウント レベルのコマンドの場合
[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> client_id = <service-principal-client-id> client_secret = <service-principal-oauth-secret>ワークスペース レベルのコマンドの場合
[<some-unique-configuration-profile-name>] host = <workspace-url> client_id = <service-principal-client-id> client_secret = <service-principal-oauth-secret>
プロファイルを使用するには、CLI コマンドで --profile フラグまたは -p フラグと共に渡します。 次に例を示します。
databricks account groups list -p <profile-name>
--profileまたは-pの後で Tab キーを押して、使用可能なプロファイルの一覧を表示します。
OAuth ユーザー対マシン (U2M) 認証
OAuth ユーザー対マシン (U2M) 認証では、対話形式でログインし、CLI が有効期間の短いトークンをユーザーに代わって管理します。 OAuth トークンは 1 時間以内に期限切れになります。これにより、トークンが誤って公開された場合のリスクが軽減されます。 OAuthを使用してAzure Databricksへのユーザー アクセスを認証する方法に関する>を参照してください。
ログインするには:
アカウント レベルのコマンドの場合
databricks auth login --host <account-console-url> --account-id <account-id>
ワークスペース レベルのコマンドの場合
databricks auth login --host <workspace-url>
CLI では、ブラウザーベースのログイン フローを案内します。 完了すると、CLI によって資格情報が 構成プロファイルとして保存されます。 推奨されるプロファイル名を受け入れるか、独自のプロファイル名を入力できます。
プロファイルを使用するには、CLI コマンドで --profile フラグまたは -p フラグと共に渡します。 次に例を示します。
databricks clusters list -p <profile-name>
--profileまたは-pの後で Tab キーを押して、使用可能なプロファイルの一覧を表示します。
Azure マネージド ID 認証
Azure マネージド ID 認証では、Azure リソース (旧称マネージド サービス ID (MSI)) のマネージド ID を認証に使用します。 「Azure リソースのマネージド ID とは"」を参照してください。 AzureマネージドIDを使用した認証についても
Azureユーザー割り当てマネージド ID を作成するには、次の操作を行います。
Azure VM を作成または識別し、その VM に Databricks CLI をインストールし、マネージド ID をAzure VM とターゲット Azure Databricks アカウント、ワークスペース、またはその両方に割り当てます。 Azure Databricks で Azure マネージド ID を使用する方法については、こちらを参照してください。
Azure VM で、 ファイルに次のフィールドを含むAzure Databricks
.databrickscfgを作成または識別します。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。アカウント レベルのコマンドの場合は、
.databrickscfgファイルに次の値を設定します。[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = trueワークスペース レベルのコマンドの場合は、
.databrickscfgファイルに次の値を設定します。[<some-unique-configuration-profile-name>] host = <workspace-url> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = trueDatabricks では、
hostを使用し、ID をワークスペースに明示的に割り当てることをお勧めします。 または、Azure リソース ID でazure_workspace_resource_idを使用します。 この方法では、Azure リソースに対する共同作成者または所有者のアクセス許可、または特定のAzure Databricksアクセス許可を持つカスタム ロールが必要です。Azure VM で、Databricks CLI の
--profileまたは-pオプションの後に構成プロファイルの名前を使用して、使用する Databricks のプロファイル (databricks account groups list -p <configuration-profile-name>、databricks clusters list -p <configuration-profile-name>など) を設定します。ヒント
構成プロファイル名を手動で入力する代わりに、
Tabまたは--profileの後に-pを押して、選択できる既存の構成プロファイルの一覧を表示することができます。
Microsoft Entra ID サービス プリンシパル認証
Microsoft Entra ID サービス プリンシパル認証では、Microsoft Entra ID サービス プリンシパルの資格情報を使用して認証します。 Azure Databricksのサービス プリンシパルを作成および管理するには、Service プリンシパルを参照してください。 Microsoft Entra サービス プリンシパルを使用した認証についてもこちらを参照。
Microsoft Entra IDサービス プリンシパル認証を構成して使用するには、「Azure CLIで認証」をローカルにインストールする必要があります。 次の操作も必要です。
Azure Databricks の 構成プロファイル を作成または特定し、
.databrickscfgファイルに次のフィールドを含めます。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。アカウント レベルのコマンドの場合は、
.databrickscfgファイルに次の値を設定します。[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> azure_tenant_id = <azure-service-principal-tenant-id> azure_client_id = <azure-service-principal-application-id> azure_client_secret = <azure-service-principal-client-secret>ワークスペース レベルのコマンドの場合は、
.databrickscfgファイルに次の値を設定します。[<some-unique-configuration-profile-name>] host = <workspace-url> azure_tenant_id = <azure-service-principal-tenant-id> azure_client_id = <azure-service-principal-application-id> azure_client_secret = <azure-service-principal-client-secret>Databricks では、
hostを使用し、Microsoft Entra ID サービス プリンシパルをワークスペースに明示的に割り当てることをお勧めします。 または、Azure リソース ID でazure_workspace_resource_idを使用します。 この方法では、Azure リソースに対する共同作成者または所有者のアクセス許可、または特定のAzure Databricksアクセス許可を持つカスタム ロールが必要です。Databricks CLI の
--profileまたは-pオプションの後に構成プロファイルの名前を付け、Databricks CLI コマンド呼び出しの一部として使用します (databricks account groups list -p <configuration-profile-name>やdatabricks clusters list -p <configuration-profile-name>など)。ヒント
構成プロファイル名を手動で入力する代わりに、
Tabまたは--profileの後に-pを押して、選択できる既存の構成プロファイルの一覧を表示することができます。
Azure CLI 認証
Azure CLI 認証では、Azure CLIを使用してサインイン エンティティを認証します。 Azure CLI を使用した認証も参照してください。
Azure CLI認証を構成するには、次の操作を行う必要があります。
Azure CLIをローカルにインストールします。
Azure CLIを使用して、
az loginコマンドを実行してAzure Databricksにログインします。 「Azure CLI を参照してください。Azure Databricks の 構成プロファイル を作成または特定し、
.databrickscfgファイルに次のフィールドを含めます。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。アカウント レベルのコマンドの場合は、
.databrickscfgファイルに次の値を設定します。[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id>ワークスペース レベルのコマンドの場合は、
.databrickscfgファイルに次の値を設定します。[<some-unique-configuration-profile-name>] host = <workspace-url>Databricks CLI の
--profileまたは-pオプションの後に構成プロファイルの名前を付け、Databricks CLI コマンド呼び出しの一部として使用します (databricks account groups list -p <configuration-profile-name>やdatabricks clusters list -p <configuration-profile-name>など)。ヒント
構成プロファイル名を手動で入力する代わりに、
Tabまたは--profileの後に-pを押して、選択できる既存の構成プロファイルの一覧を表示することができます。
評価の認証順序
Databricks CLI は、Azure Databricksワークスペースまたはアカウントに対して認証を行うたびに、次の順序で必要な設定を検索します。
- バンドル設定ファイルは、バンドル作業ディレクトリから実行されるコマンド用です。 バンドル設定ファイルに資格情報の値を直接含めることはできません。
- この記事および 統合認証の環境変数とフィールドに記載されている環境変数。
-
設定プロファイルは
.databrickscfgファイル内にあります。
CLI は、必要な設定を見つけるとすぐに、他の場所の検索を停止します。
例 :
-
DATABRICKS_TOKEN環境変数が設定されている場合、.databrickscfgに複数のトークンが存在している場合でも、CLI はその環境変数を使用します。 -
DATABRICKS_TOKENが設定されておらず、バンドル環境がプロファイルdevなどのプロファイル名DEV→参照している場合、CLI は.databrickscfgでそのプロファイルの資格情報を使用します。 -
DATABRICKS_TOKENが設定されておらず、バンドル環境でhost値が指定されている場合、CLI は一致する.databrickscfgを持つhost内のプロファイルを検索し、そのtokenを使用します。
個人用アクセス トークン認証 (レガシ)
Important
OAuth の方がセキュリティが強化されるため、可能な限り、Azure Databricksはユーザー アカウント認証に AT ではなく OAuth を使用することをお勧めします。 次の認証方法について考えてみましょう。
Azure Databricksの個人用アクセス トークン認証では、Azure Databricksの個人用アクセス トークンを使用して、ターゲットのAzure Databricksエンティティ(Azure Databricksユーザーアカウントなど)を認証します。 個人用アクセス トークン (レガシ) Azure Databricks使用した認証を参照してください。
個人用アクセス トークンを作成するには、「 ワークスペース ユーザーの個人用アクセス トークンを作成する」の手順に従います。