次の方法で共有


Databricks CLI の認証

注記

この情報は、Databricks CLI バージョン 0.205 以降に適用されます。 Databricks CLI は Public Preview です。

Databricks CLI の使用には、Databricks ライセンスおよび使用状況データのプロビジョニングを含むDatabricks のプライバシーに関する通知が適用されます。

この記事では、Azure Databricks CLI と Azure Databricks アカウントとワークスペースの間で認証を設定する方法について説明します。 Azure Databricks CLI が既にインストールされていることを前提としています。 「Databricks CLI のインストールまたは更新」を参照してください。

Azure Databricks CLI コマンドを実行する前に、使用するアカウントまたはワークスペースの 認証 を構成する必要があります。 必要なセットアップは、ワークスペース レベルのコマンド、アカウントレベルのコマンド、またはその両方を実行するかどうかによって異なります。

使用可能な CLI コマンド グループを表示するには、 databricks -hを実行します。 対応する REST API 操作の一覧については、 Databricks REST API を参照してください。

Azure DevOps を使用した Databricks に対する Microsoft Entra 認証の詳細については、「Azure Databricks での Azure DevOps での認証」を参照してください。

OAuth マシン間 (M2M) 認証

OAuth を使用したマシン間 (M2M) 認証を使用すると、サービス、スクリプト、またはアプリケーションは、対話型のユーザー サインインなしで Databricks リソースにアクセスできます。 M2M 認証では、個人アクセス トークン (AT) またはユーザー資格情報に依存する代わりに、サービス プリンシパルと OAuth クライアント資格情報フローを使用してトークンを要求および管理します。

OAuth M2M 認証を構成して使用するには:

  1. OAuth M2M 認証のセットアップ手順を完了します。 OAuth を使用した Azure Databricks へのサービス プリンシパル アクセスの承認に関するページを参照してください。

  2. ファイルに次のフィールドを含む 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 (旧マネージド サービス ID (MSI)) を使用します。 「Azure リソースのマネージド ID とは」をご覧ください。 「Azure マネージド ID を使用した認証」も参照してください。

Azure ユーザー割り当てマネージド ID を作成するには、次を行います。

  1. Azure VM を作成または特定し、そこに Databricks CLI をインストールします。次に、マネージド ID を Azure VM とターゲットの Azure Databricks アカウント、ワークスペース、またはその両方に割り当てます。 Azure Databricks での Azure マネージド ID の使用に関するページを参照してください。

  2. Azure VM で、構成プロファイル ファイルに次のフィールドを使用して、Azure Databricks を作成または識別します。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。

    アカウント レベルのコマンドの場合は、.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   = true
    

    Databricks では、 host を使用し、ID をワークスペースに明示的に割り当てることをお勧めします。 または、Azure リソース ID で azure_workspace_resource_id を使用します。 このアプローチには、Azure リソースに対する共同作成者または所有者のアクセス許可、または特定の Azure Databricks アクセス許可を持つカスタム ロールが必要です。

  3. 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 のサービス プリンシパルを作成および管理するには、「 サービス プリンシパル」を参照してください。 「Microsoft Entra サービス プリンシパルを使用した認証」も参照してください。

Microsoft Entra ID サービス プリンシパル認証を構成して使用するには、 Azure CLI での認証が ローカルにインストールされている必要があります。 次の操作も必要です。

  1. Azure Databricks の構成プロファイルを、次のフィールドが含まれる ファイル内で作成または識別します。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。

    アカウント レベルのコマンドの場合は、.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 アクセス許可を持つカスタム ロールが必要です。

  2. 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 認証を構成するには、次の操作を行う必要があります。

  1. Azure CLI をローカルにインストールします。

  2. Azure CLI を使い、az login コマンドを実行して Azure Databricks にログインします。 「Azure CLI を使用したサインイン」を参照してください。

  3. Azure Databricks の構成プロファイルを、次のフィールドが含まれる ファイル内で作成または識別します。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。

    アカウント レベルのコマンドの場合は、.databrickscfg ファイルに次の値を設定します。

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    ワークスペース レベルのコマンドの場合は、.databrickscfg ファイルに次の値を設定します。

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    
  4. 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 ワークスペースまたはアカウントに対して認証を行うたびに、次の順序で必要な設定を探します。

  1. バンドル設定ファイル。コマンドの場合は、バンドル作業ディレクトリから実行されます。 バンドル設定ファイルに資格情報の値を直接含めることはできません。
  2. この記事および 統合認証の環境変数とフィールドに記載されている環境変数。
  3. ファイル内の.databrickscfg

CLI は、必要な設定を見つけるとすぐに、他の場所の検索を停止します。

例 :

  • DATABRICKS_TOKEN環境変数が設定されている場合、に複数のトークンが存在する場合でも、CLI によって使用されます。
  • DATABRICKS_TOKENが設定されておらず、バンドル環境がプロファイルdevなどのプロファイル名DEV →参照している場合、CLI は.databrickscfgでそのプロファイルの資格情報を使用します。
  • DATABRICKS_TOKENが設定されておらず、バンドル環境でhost値が指定されている場合、CLI は一致する.databrickscfgを持つhost内のプロファイルを検索し、そのtokenを使用します。

個人用アクセス トークン認証 (非推奨)

Important

Azure Databricks のユーザー名とパスワードを使用した基本認証は、2024 年 7 月 10 日に終了しました。 Azure Databricks アカウントで認証するには、代わりに次のいずれかの認証方法を使用します。

Azure Databricks 個人用アクセス トークン認証では、Azure Databricks 個人用アクセス トークンを使用して、Azure Databricks ユーザー アカウントなどのターゲット Azure Databricks エンティティを認証します。 「Azure Databricks の個人用アクセス トークン (レガシ) を使用した認証」を参照してください。

個人用アクセス トークンを作成するには、「 ワークスペース ユーザーの個人用アクセス トークンを作成する」の手順に従います。