Databricksの認証方式と関連アップデートまとめ
三菱UFJフィナンシャル・グループの戦略子会社である Japan Digital Design で Technology & Development Div に所属する町田です。普段は、データ分析基盤のアーキテクチャー設計や、データマネジメント業務に従事しております。
Japan Digital Design Advent Calendar 2024 の10日目 の記事になります。よろしくお願いいたします。
はじめに
今年も多くのDatabricksのアップデートが発表されました。その中でも認証設定を見直す機会が多かったので、当記事ではDatabricksの認証概要をまとめるとともに、個人的に注目した認証関連アップデートを紹介していきたいと思います。当社では5年以上前からデータ分析基盤としてDatabricksを利用しているため、アップデートの影響を受けるものがありました。しかし、ここ1~2年でDatabricksを使い始めた方にとっては、意識せず当たり前に利用している機能が多く存在するのではないかと思います。
アカウントとワークスペース
Databricksのアカウントとワークスペースという概念について、まず最初に紹介します。
アカウント
アカウントは、複数のワークスペースを含むエンティティです。アカウントコンソールには、インターネット経由でアクセスして管理設定を行います。具体的には、アカウント全体の請求設定や、ワークスペースの作成・削除、アカウントレベルのユーザーID・グループ管理、クラウドリソース構成などの管理を行います(データへのアクセスやワークロード実行などは行うことはできません)。Databricksのアカウントは、AWSのOrganizationsに該当すると言えます(私見です)。
ワークスペース
ワークスペースは、データ、ノートブック、クラスター、ダッシュボード、実験などのアセットにアクセスするための環境として機能します。どのような単位でワークスペースを払い出すかは、組織のポリシーによって異なります。部門単位、データ機密レベル単位、環境単位(開発/ステージング/本番)でワークスペースを構成するのが一般的で、こちらのブログ記事が参考になります。ワークスペースコンソールには、ワークスペース個別のURLが払い出され、インターネットもしくはVPCエンドポイント(AWSの場合)経由でアクセスします。なお、1つのDatabricksアカウントあたりのワークスペース数は上限があります。契約レベルによって上限数が異なるので、こちらを参照ください。Databricksのワークスペースは、AWSのアカウントに該当すると言えます(私見です)。
Databricksの認証方式
Databricksで利用可能な認証方式
Databricksで利用可能な認証方式は、以下の2種類があります。
シングルサインオン構成
SAML 2.0 または OpenID Connect (OIDC) をサポートするIDプロバイダーとシングルサインオン構成することができます。SAML応答とアサーションの署名や、Name IDフィールドにEメールアドレスを設定する等の設定要件がありますので、詳細は以下リンク文書をご確認ください。
SSOで を構成するDatabricks |Databricks on AWS
なお、統合ログイン(後述)を無効化している場合、ワークスペースレベルでもシングルサインオン構成することができますが、SAML 2.0 のみサポートしている点に注意が必要です。
Set up SSO for your workspace (legacy) | Databricks on AWS
Eメールまたは外部アカウントログイン
シングルサインオンが構成されていない場合、Eメールによるワンタイムパスコード認証を利用することになります。下図のとおり、GoogleおよびMicrosoftの外部アカウント認証方式を追加することが可能です。この認証方式は、Databricks管理パスワードのサポート終了に伴い、2024年7月に機能リリースされました(July 2024 | Databricks on AWS)。
Eメールまたは外部アカウントでサインイン | Databricks on AWS
Databricks管理パスワードのサポート終了について
2024年7月10日にDatabricks管理パスワードはサポート終了となりました。以前は、Databricksが管理するユーザーID・パスワードで認証して、アカウントコンソールやワークスペースへログインすることが可能でした。しかし、セキュリティ強化のため、Databricks管理パスワードはサポート終了となりました。
Databricksでは、このようなアップデートが急遽アナウンスされることもあるため、常に情報収集を行い、ベストプラクティスを意識した構成に追随していく必要があります。
Databricks管理パスワードのサポート終了 | Databricks on AWS
統合ログイン
統合ログインとは
統合ログインは、2024年6月に一般提供リリースされた機能で、Databricksアカウントとワークスペースを、すべて1つのSSO構成に統一できるようにする機能です。以下のように統合ログイン無効化した環境ではアカウントコンソールやワークスペースそれぞれ別々の認証方式を採用することが可能でした。統合ログインを有効化することで、アカウントコンソールのSSO構成をアカウント全体で統一することが可能になります。
なお、2023年6月21日以降に作成されたアカウントでは、デフォルトで統合ログイン有効となっており、手動で無効化することは不可となっています。通常、アカウントコンソールで統合ログインの設定を確認できませんが、統合ログイン無効の場合には以下のように表示されます。
ID管理ベストプラクティス
統合ログインでSSO構成を統一することで、一見すると構成の自由度がなくなったと思われるかもしれません。しかし、DatabricksのガバナンスソリューションUnity Catalogの登場により、アカウントレベルでユーザーID・グループ管理することが必須となったため、統合ログイン有効化で認証設定がシンプルになったと言えます。以下リンクのID管理のベストプラクティスにおいても統合ログインを構成し、単一のIDプロバイダーとのシングルサインオン構成を組むことが推奨されています。今後、複数のSSOを構成する必要がある場合には、アカウントレベルで分離した構成の方が望ましいと思われます。
IDのベストプラクティス | Databricks on AWS
閉域構成での統合ログインの制約
高いセキュリティ要件が求められる金融機関などでは、インターネット通信を許可しない閉域構成でDatabricksを利用したいケースがあります。このような場合には、AWS PrivateLinkを使用したプライベート接続構成を取ることで、ワークスペースへの閉域アクセスが可能となります(アカウントコンソールはインターネット経由でアクセス)。
AWS PrivateLink を使用してプライベート接続を有効にする | Databricks on AWS
しかし、インターネットへアクセスできない構成では、統合ログインによるSSO認証は不可となってしまいます。統合ログインを有効化すると、アカウントレベルのSSO構成を、全ワークスペースに適用することになります。このSSO構成のリダイレクト先は、アカウントコンソールと同じドメインで、インターネットアクセス必須となるためです。ただし、2024年3月に統合ログインのAWS PrivateLink接続サポートが、Private Previewリリースされました(May 2024 | Databricks on AWS)ので、間もなく閉域構成での統合ログイン有効化も可能になることでしょう。
緊急アクセス
緊急アクセスとは
IDプロバイダー障害や設定不備などによって、Databricksへログインできずに締め出された(ロックアウト)場合、これまではサポートに問い合わせて解決するしかありませんでした。2024年6月に緊急アクセス機能が一般提供リリースされました(June 2024 | Databricks on AWS)。
緊急アクセス機能は、アカウントあたり最大で20 人のユーザーを緊急アクセス用ユーザーとして登録しておくことができます。これらのユーザーは、SSO認証を介さずに、パスワードと多要素認証 (MFA) を使用して、Databricksアカウントコンソールへサインインできます。多要素認証方式としてサポートする方法は、YubiKeyやiCloudキーチェーンなど以下にリストアップされているので、組織で利用可能なツールをご確認ください。
ロックアウトを防ぐための緊急アクセス | Databricks on AWS
統合ログイン無効ワークスペースの緊急アクセス
2024年6月の緊急アクセスの一般提供リリースした時点では、アカウントコンソールへの緊急アクセスのみ提供されていました。そのため、統合ログイン無効化されたワークスペースにおいては、SSO構成後にロックアウトされた場合、サポートに問い合わせるしか解決方法はありませんでした。
しかし、2024年11月に統合ログイン無効ワークスペースにおいても緊急アクセス機能が提供開始となりました(November 2024 | Databricks on AWS)。有事の際に、アカウントコンソールだけでなく、ワークスペースにも緊急アクセスできるようになりました。これまでワークスペースに緊急アクセスする手段がなく、有事の際に困ると感じていたので、大変うれしいアップデートです。
緊急アクセスの設定方法
緊急アクセスの設定方法は以下のとおりです(以下はiPhoneにパスキーを保管する例です)。
アカウントコンソールに緊急アクセスするユーザーにはアカウント管理者権限、ワークスペースに緊急アクセスするユーザーにはワークスペース管理者権限を付与しておく必要があります。また、ワークスペースのみ緊急アクセスしたい場合にも、アカウントコンソール画面でMFAキーを登録するため、一時的にアカウント管理者権限を付与する必要があります。
1.アカウント管理者でアカウントコンソールにログインし、「Settings」メニューから「Authentication」タブを押下する。Emergency accessに緊急アクセス用ユーザー名を入力して、「Save」を押下する。
2.多要素認証キーを登録するため、緊急アクセス用ユーザーでアカウントコンソールにログインする。右上のメニューから「User preferences」を選択し、「My preferences」タブからMulti-factor authenticationの「Add key」を押下する。
3.セキュリティキーの登録画面で「Setup」を押下する。
4.「別のデバイスを使用する」を選択する(パスキー保管先としてiPhoneを利用する手順)。
5.パスキーの保存場所として「iPhone、iPad、または Android デバイス」を選択する。
6.QRコードが表示されるので、iPhoneでスキャンしてパスキーを保管する。
緊急アクセスによるログイン方法
緊急アクセスによるログイン方法は以下のとおりです(アカウントコンソールとワークスペースの緊急アクセス方法は、いずれも同じ流れとなります)。
1.ログインページの下部の「sign in with Databricks credentials」を押下する。
2.Eメールアドレスとパスワードを入力して「Continue」を押下する。緊急アクセス用のパスワードを設定していなかった場合は「Forgot Password?」を押下して、メールに沿ってパスワードをリセットする(緊急アクセス用のパスワードは、Databricks管理パスワードとなる)。
3.QRコードが表示されるので、パスキーが保存されているiPhoneデバイスでQRコードをスキャンする。
緊急アクセスの利用シナリオ
IDプロバイダー障害や設定不備などによって、Databricksへログインできなくなってしまった場合、迅速に調査・復旧対応するために緊急アクセス機能が有効となります。
また、組織によっては、特権ユーザーのみ一時的に借用する運用としたい(一般ユーザーの認証とは切り分けたい)ケースがあると想定されます。このような場合にも、緊急アクセス機能を用いて、都度MFAキーを借用する運用とすることが可能です。
緊急アクセスの監査ログ
緊急アクセスによるログイン時には、以下のように監査ログが記録されます。アクション名mfaLoginの監査ログイベントを検知するように設定することで、緊急アクセスをモニタリングすることが可能です。なお、アカウントコンソールとワークスペースいずれも緊急アクセス時には、アカウントレベルの監査ログイベントとして記録されます。
Databricks CLIおよびREST APIアクセス認証
プログラムアクセス認証方式
Databricks CLIやREST APIなどのプログラムアクセスにおける認証方式は、以下の3種類があります。
以前には、ユーザーIDとパスワードによるベーシック認証も利用可能でしたが、2024年7月10日にサポート終了となっています(Databricks管理パスワードのサポート終了 | Databricks on AWS)。
個人用アクセストークンの自動無効化
2024年8月に90日以上未使用のPATを自動的に無効化するアップデートがリリースされました(August 2024 | Databricks on AWS)。以前は作業頻度の少ない運用にも個人用アクセストークン (PAT) を利用できましたが、上記アップデートに伴い、以下の対応を取る必要があります。
作業時のみ個人用アクセストークン (PAT) を発行する
個人用アクセストークン (PAT) を定期的に利用/再発行する
OAuthアクセストークンを利用する
無期限の個人用アクセストークンの作成不可
2024年12月に新規のPAT有効期限は最長730日となるアップデートがリリースされました(December 2024 | Databricks on AWS)。今後は、PATを定期的に利用したとしても、PAT再発行の運用から逃れることはできません。以下のとおり、セキュリティ強化および利便性のためにも、OAuthアクセストークンへの移行が推奨されます。
個人用アクセストークンの監視と取り消し | Databricks on AWS
さいごに
本記事では、Databricksの認証方式概要と関連アップデートについて説明しました。Unity Catalogの登場以降、多数のアップデートがリリースされており、数年前から考え方が大きく変わってきていると感じました。一方で、機能アップデートにより、今まで不可能だった運用が可能になっているという嬉しい発見もありました。今後もDatabricksの新機能リリースをしっかり追いかけて、データ基盤のアップデートに取り組んでいきたいと思います。
最後までご覧いただきありがとうございました。
Japan Digital Design株式会社では、一緒に働いてくださる仲間を募集中です。カジュアル面談も実施しておりますので下記リンク先からお気軽にお問合せください。
この記事に関するお問い合わせはこちら
Technology & Development Div.
Yuya Machida