そのほか
2025/09/05
森田 和登

Databricks CLI に ”OAuth U2M” で認証する手順

Databricks CLIのセットアップ時にはDatabricksアカウント/ワークスペースの認証が必要です。従来のPAT(個人用アクセストークン)は非推奨となり、より安全なOAuth U2M認証への移行が推奨されています。本記事では、OAuth認証の基本概念から、Databricks CLIでの具体的な設定手順まで、初心者にも分かりやすく解説します。

1 はじめに

Databricks を操作する際、これまで多くの開発者が個人用アクセストークン(PAT: Personal Access Token)を使って認証を行ってきました。しかし、2025年現在、Databricks はセキュリティ強化の観点から PAT を非推奨 とし、より安全な OAuth 認証 への移行を推奨しています。


本記事では、Databricks CLI(v0.205以降)で推奨される OAuth U2M(User-to-Machine)認証 の設定方法を解説します。OAuth の基本概念から実際の設定手順まで、初めて OAuth に触れる方でも理解できるよう段階的に説明していきます。


 


※事前準備:Databricks CLI をインストールし、databricks -v が 0.205 以上であることを確認してください。



2 なぜ OAuth U2M なのか

PAT から OAuth への移行背景


従来の PAT には以下のような課題がありました。


・長期間有効なトークン:一度発行すると無期限または長期間有効で、漏洩時のリスクが高い


・管理の煩雑さ:定期的な更新や、退職者のトークン無効化など運用負荷が高い


・権限管理の難しさ:トークン単位での細かい権限制御が困難


これらの課題を解決するため、Databricks は OAuth による認証を推奨しており、CLI の認証ページでも「Personal access token authentication (deprecated)」として明確に非推奨扱いとなっています。



 


OAuth とは何か


OAuth(Open Authorization) は、ユーザーが自分のリソースへのアクセスを第三者のアプリケーションに安全に許可するための業界標準プロトコルです。身近な例では「Google アカウントでログイン」のような機能がこれに該当します。


OAuth の主なメリット:


・パスワードを直接共有せずに済む


・アクセス権限を細かく制御できる


・いつでもアクセスを取り消せる


・短命なトークンにより、セキュリティリスクを最小化



 


U2M(User-to-Machine)とは


OAuth には大きく分けて2つの認証フローがあります:



  1. U2M(User-to-Machine):人間のユーザーがブラウザ経由で認証し、その権限でアプリケーション(CLI など)が動作

  2. M2M(Machine-to-Machine):サービスアカウントを使った、システム間の自動認証


 


今回扱う U2M は、以下のような仕組みで動作します:



  1. ユーザーがブラウザでログイン(組織の SSO 等を利用)

  2. Databricks がユーザーの同意を得て、1時間有効のアクセストークン を発行

  3. CLI がこのトークンを使って、ユーザーの代わりに Databricks API を呼び出す

  4. トークンの有効期限が切れそうになると、自動的に更新(リフレッシュ)


 


つまり、「ユーザーが明示的に許可した範囲で、CLI がユーザーの代理として動く」という透明性の高い仕組みです。


3 Databricks における OAuth U2M の利点

セキュリティの向上


・短命トークン:アクセストークンは1時間で自動失効するため、万が一漏洩してもリスクを最小限に抑えられます


・自動更新:リフレッシュトークンにより、ユーザーが再認証することなく安全にトークンを更新


・監査証跡:誰が、いつ、どのような操作を行ったかが明確に記録される



運用の簡素化


Databricks の新しい「統合クライアント認証」により、一度設定した認証情報を複数のツールで共有できます:


・Databricks CLI


・VS Code 拡張機能


・Python/Go/Java SDK


・Terraform Provider


これにより、ツールごとに異なる認証設定を管理する必要がなくなり、運用が大幅に簡素化されます。


4 Databricks CLI に OAuth U2M で認証する手順

それでは実際の設定手順を見ていきましょう。ここでは最も一般的な「ワークスペースレベル」での認証を説明します。


前提条件


・Databricks CLI v0.205 以上がインストール済み


・Databricks ワークスペースへのアクセス権限を持っている



手順


ステップ 1:ログインコマンドを実行


まず、以下のコマンドを実行します。<workspace-instance> の部分は、実際のワークスペース URL (URL は .com まで)に置き換えてください:



databricks auth login --host https://<workspace-instance>.cloud.databricks.com


ステップ 2:ブラウザで認証


コマンドを実行すると自動的にブラウザが起動し、Databricks のログイン画面が表示されます。組織で SSO(Single Sign-On)を使用している場合は、そちらでログインします。


ログインが成功すると、CLI への権限委譲を確認する画面が表示されるので、「許可」をクリックします。



ステップ 3:プロファイル名を設定


ブラウザでの認証が完了すると、ターミナルに戻り、プロファイル名の入力を求められます:



Enter a profile name for this host (leave blank to use 'DEFAULT'):


ここで任意の名前を入力するか、Enter キーを押してデフォルト名を使用します。このプロファイル情報は ~/.databrickscfg(Windows では %USERPROFILE%\\.databrickscfg)に保存されます。



ステップ 4:認証の確認


認証が正しく設定されたか確認しましょう:



# プロファイル一覧を表示
databricks auth profiles

# 認証の詳細を確認
databricks auth describe --host https://<workspace-instance>.cloud.databricks.com

# 現在のユーザー情報を表示
databricks current-user me


ステップ 5:動作確認


実際にコマンドを実行して、認証が機能しているか確認します:



# クラスターの一覧を取得
databricks clusters list -p <profile-name>

# ジョブの一覧を取得
databricks jobs list -p <profile-name>


トークンの保存場所と取得方法


U2M のアクセストークンは ~/.databricks/token-cache.json にキャッシュされ、期限切れ時は自動的に更新されます。


手動でトークンを取得したい場合は、以下のコマンドを使用します:



databricks auth token --host https://<workspace-instance>.cloud.databricks.com


このトークンは、他のツールや API 呼び出しで一時的に使用できます。



参考:アカウントレベルでの認証


複数のワークスペースを横断して操作する場合は、アカウントコンソールに対して認証を行います:



databricks auth login --host <https://accounts.cloud.databricks.com> --account-id <account-id>


基本的な流れはワークスペースレベルと同じですが、より広範な権限での操作が可能になります。


5 おわりに

以上で、Databricks CLI を OAuth U2M で安全に使う準備は完了です。統合クライアント認証に沿っておくと、CLI 以外(VS Code 拡張、SDK、Terraform など)でも同じプロファイルや環境変数を再利用でき、運用がシンプルになります。

6 参照

Authorize user access to Databricks with OAuth(CLI からのログイン方法、トークンキャッシュの場所など)



Authentication for the Databricks CLI(v0.205+ / Public Preview、U2M/M2M、PAT 非推奨の位置づけ)



auth コマンド リファレンスauth login / profiles / describe / token の詳細、~/.databrickscfg の既定パス)



Databricks client unified authentication(クライアント統合認証の考え方と適用順序)



Install or update the Databricks CLI(インストール手順)



 




New call-to-action