メインコンテンツまでスキップ

Databricks CLI の認証

注記

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

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

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

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

OAuth マシン間 (M2M) 認証

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

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

  1. OAuth M2M 認証の設定手順を完了します。「サービスプリンシパルのDatabricksへのアクセスをOAuthで認証する」を参照してください。

  2. .databrickscfg ファイルに次のフィールドを使用して Databricks 構成プロファイルを作成します。

    アカウントレベルのコマンドの場合

    [<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 フラグを付けて渡します。例えば:

Bash
databricks account groups list -p <profile-name>

--profileまたは-pの後にタブを押すと、使用可能なプロファイルのリストが表示されます。

OAuth ユーザーマシン間 (U2M) 認証

OAuth ユーザーマシン間 (U2M) 認証では、対話的にログインすると、CLI がユーザーに代わって有効期間の短いトークンを管理します。OAuth トークン 有効期限は 1 時間以内に終了するため、トークンが誤って公開された場合のリスクが軽減されます。 「 OAuth を使用して Databricks へのユーザー アクセスを承認する」を参照してください。

ログインするには:

アカウントレベルのコマンドの場合

Bash
databricks auth login --host <account-console-url> --account-id <account-id>

ワークスペースレベルのコマンドの場合

Bash
databricks auth login --host <workspace-url>

CLI はブラウザベースのログインフローをご案内します。完了すると、CLIは、ワークスペースのホストとプロファイル名で構成プロファイルを保存します。提案されたプロファイル名を受け入れるか、ご自身の名前を入力してください。

プロファイルを使用するには、CLI コマンドで --profile または -p フラグを付けて渡します。例えば:

Bash
databricks clusters list -p <profile-name>

--profileまたは-pの後にタブを押すと、使用可能なプロファイルのリストが表示されます。

トークンストレージ

デフォルトで、Databricks CLIバージョン1.0.0以降、U2Mトークンは、macOSではキーチェーン、Windowsでは資格情報マネージャー、およびLinuxではD-Bus SecretサービスといったOSネイティブの安全なストレージに格納されます。.databrickscfg ファイルには、ホスト名やプロファイル名などの秘密ではない構成のみが保持されます。トークン自体はそこには書かれることはありません。

各プロファイルには、独自のキャッシュ済みトークンがあります。複数プロファイルが同じワークスペースを指している場合、いずれか1つからログアウトしても、他のプロファイルからはログアウトされません。

環境がOSネイティブのセキュアストレージ (例: ヘッドレスサーバーやCI環境など) をサポートしていない場合、平文トークンストレージにフォールバックできます。

セキュアストレージエラーのトラブルシューティングについては、Databricks CLIのトラブルシューティングをご覧ください。

プレーンテキストのフォールバックを使用してください

お使いの環境が安全なストレージをサポートしていない場合、またはファイルベースのトークンストレージに依存している場合(例えば、SSH経由で資格情報ファイルを同期するなど)、以下のいずれかのオプションを使用して、プレーンなJSONファイルを使用するようにCLIを構成できます。いずれかのオプションを設定したら、もう一度 databricks auth login を実行してください。

  • DATABRICKS_AUTH_STORAGE 環境変数を設定します。

    Bash
    export DATABRICKS_AUTH_STORAGE=plaintext
  • ~/.databrickscfg ファイル内の「Databricks 構成プロファイル」で、auth_storage 設定を設定します。

    ini
    [__settings__]
    auth_storage = plaintext

環境変数は構成プロファイルの設定よりも優先されます。

Google Cloud の認証情報認証

Google クラウド クレデンシャル 認証では、Google クラウド サービス アカウントのクレデンシャルを使用して、ターゲットの Google クラウド サービス アカウントを認証します。 「Google クラウド認証情報による認証」も参照してください。

Google Cloud 資格情報認証を構成するには、 Google Cloud ID 認証 がローカルにインストールされている必要があります。 また、次の操作も行う必要があります。

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

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

    [<some-unique-configuration-profile-name>]
    host = <account-console-url>
    account_id = <account-id>
    google_credentials = <path-to-google-service-account-credentials-file>

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

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    google_credentials = <path-to-google-service-account-credentials-file>
  2. Databricks CLIの [--profile] または [-p] オプションに続けて、Databricks CLI コマンド呼び出しの一部として設定プロファイルの名前 (databricks account groups list -p <configuration-profile-name>databricks clusters list -p <configuration-profile-name>など) を使用します。

ヒント

構成プロファイル名を手動で入力する代わりに、--profileまたは-pの後にTabを押すと、選択可能な既存の構成プロファイルのリストが表示されます。

Google Cloud ID 認証

Google Cloud ID 認証は、対象の Google Cloud サービス アカウントを認証します。 Google Cloud ID 認証をご覧ください。

Google Cloud ID 認証を設定するには、 Google Cloud ID 認証 をローカルにインストールする必要があります。 また、次の操作も行う必要があります。

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

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

    [<some-unique-configuration-profile-name>]
    host = <account-console-url>
    account_id = <account-id>
    google_service_account = <google-cloud-service-account-email-address>

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

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    google_service_account = <google-cloud-service-account-email-address>
  2. Databricks CLI の --profile または -p オプションの後に構成プロファイルの名前を Databricks CLI コマンド呼び出しの一部として使用します (例: databricks clusters list -p <configuration-profile-name>.

ヒント

構成プロファイル名を手動で入力する代わりに、--profileまたは-pの後にTabを押すと、選択可能な既存の構成プロファイルのリストが表示されます。

認証と評価の順序

Databricks CLI は、Databricks ワークスペースまたはアカウントに対して認証されるたびに、次の順序で必要な設定を探します。

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

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

例:

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

個人アクセストークン認証(従来方式)

重要

Databricksは、可能な限り、ユーザーアカウント認証にはPATではなくOAuthを使用することを推奨しています。OAuthはより強力なセキュリティを提供するためです。以下の認証方法を検討してください。

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

個人的なアクセストークンを作成するには、 「ワークスペース ユーザー向けの個人的なアクセストークンを作成する」のステップに従います。