Databricksでは、お客様が Unity Catalog Compute上で、より安全かつスケーラブルにApache Spark™ワークロードを実行できるよう、Unity Catalog Lakeguard を通じて大幅な機能強化を進めています。
ここ数か月の間に、クラスタ作成の簡素化、あらゆる場所でのきめ細かなアクセス制御、サービス認証の統合強化を行い、インフラ管理ではなくワークロードの構築に集中できる環境を整えてきました。
何が新しくなったのか?
-
標準クラスタ(旧:共有クラスタ) が新たなデフォルトのクラシックコンピュートタイプになり、すでに9,000社以上のDatabricks顧客に利用されています。
-
専用クラスタ(旧:シングルユーザークラスタ) はきめ細かなアクセス制御に対応し、グループ単位での安全な共有が可能になりました。
-
さらに、Unity Catalogサービス認証情報(Service Credentials) を新たに導入し、サードパーティサービスとのシームレスな認証連携が実現しています。
それでは、詳しく見ていきましょう!
Autoモードによるクラスタ作成の簡素化
Databricksでは、Unity Catalog Lakeguardによってセキュリティ保護された2つのクラシックコンピュートのアクセスモードを提供しています:
-
標準クラスタ(Standard Clusters)
Python、Scala、SQLなどのワークロード向けに提供される、Databricksのデフォルトのマルチユーザー対応クラスタです。
Databricksのサーバーレス製品も、この標準クラスタを基盤としています。
-
専用クラスタ(Dedicated Clusters)
MLやGPU、Rなど、特権的なマシンアクセスが必要なワークロード向けに設計されたコンピュート環境で、特定のユーザーまたはグループ専用に割り当てられます。
アクセスモードの名称変更に加えて、新たに「Autoモード」も導入されました。これは、クラスタの設定内容に基づいて最適なコンピュートアクセスモードを自動で選択してくれる、スマートな新しいデフォルトセレクターです。
刷新されたUIでは、Databricksが推奨するベストプラクティスが組み込まれており、よりシンプルかつ安心してクラスタを構築できるようになりました。
Databricksの利用経験が豊富な方でも、これから始める方でも、ワークロードに最適なコンピュート環境が自動で選ばれるため、迷わずスムーズに使い始められます。
詳細は、それぞれのクラウド環境向けのドキュメント(AWS、Azure、GCP)をご参照ください。
専用クラスタ:きめ細かなアクセス制御とグループ共有が可能に
特権的なマシンアクセスを必要とするワークロード向けに使われてきた専用クラスタ(Dedicated Clusters)が、きめ細かなアクセス制御(FGAC)に対応し、グループ単位での共有もできるようになりました!
■ 専用クラスタでのFGACがGA(一般提供)に
Databricks Runtime(DBR)15.4以降では、専用クラスタにおいて以下のようなセキュアなREAD操作がサポートされています:
さらに、MERGE INTO
を使った RLS/CM付きテーブルへのWRITE操作にも対応予定で、プライベートプレビューへの参加受付中です!
FGAC(きめ細かなアクセス制御)で保護されたデータに対してクエリを実行する際、Sparkはデータを過剰に取得する(オーバーフェッチ)特性があります。そのため、これらのクエリは透過的にサーバーレスのバックグラウンドコンピュート上で処理され、Unity Catalogのアクセス権限に従ったデータのみがクラスタ上で扱われるようになっています。
このサーバーレスフィルタリングは、サーバーレスジョブの料金体系に基づいて課金されるため、実際に使用した分だけのコストで、効率的に運用することができます。
FGACは、Databricks Runtime(DBR)15.4以降を使用し、かつワークスペースでサーバーレスコンピュートが有効になっていれば、自動的に機能します。詳細な設定方法については、DatabricksのFGACドキュメント(AWS、Azure、GCP)をご参照ください。
専用グループクラスタでコンピュートを安全に共有
専用クラスタをグループで共有できるようになりました。たとえば、データサイエンティストのチームが、機械学習ランタイムやGPUを使った開発用に1つのクラスタを共有する、といった利用が可能になります。この機能強化により、ユーザーごとに別々のクラスタを用意する必要がなくなり、管理の手間やコストを削減できます。
専用クラスタは特権的なマシンアクセスを伴うため、「単一アイデンティティ」で動作します。つまり、クラスタはユーザーまたはグループのいずれかのアイデンティティで実行されます。クラスタをグループに割り当てると、そのグループのメンバーは自動的にクラスタにアタッチできるようになります。専用グループクラスタ上で処理を実行する際には、個々のユーザーの権限はグループの権限に切り替わるため、グループ内で安全にクラスタを共有することができます。
専用グループクラスタ上で実行されたコマンドの監査ログには、新たに追加された identity_metadata
列に、コマンドを実行したグループ(run_as)と実行したユーザー(run_by)の両方が記録されます。以下はその一例です。
専用グループクラスタは、DBR 15.4 以降を使用している場合に、AWS、Azure、GCP上でパブリックプレビューとして利用できます。
ワークスペース管理者は、Databricks ワークスペースの「プレビュー機能」ページからこの機能にオプトインして有効化できます。チームとクラスタを共有することで、スムーズな共同作業と統制のとれた運用を実現しましょう。
Unity Catalog コンピュート向け「サービス認証情報」機能のご紹介
「Unity Catalog サービス認証情報」が一般提供されました(AWS、Azure、GCP対応)
この機能により、Databricks から外部のクラウドサービス(例:AWS Secrets Manager、Azure Functions、GCP Secrets Manager)へのアクセスを、安全かつシンプルに管理できるようになります。
サービス認証情報を使うことで、これまでコンピュートごとに必要だったインスタンスプロファイルが不要になります。これにより、セキュリティが強化され、設定ミスのリスクが減り、クラウドサービスへのアクセス制御を「マシン単位」ではなく「ユーザー単位」で行えるようになります。
サービス認証情報は、UI・API・Terraform を通じて管理可能です。StandardクラスタやDedicatedクラスタ、SQLウェアハウス、Delta Live Tables(DLT)、サーバレスコンピュートなど、すべてのUnity Catalogコンピュートで利用できます。一度設定すれば、既存のコードを変更することなく、ユーザーはクラウドサービスへシームレスにアクセスできるようになり、統合やガバナンスがさらに簡単になります。
UC サービス認証情報を試すには、Databricks のカタログエクスプローラーで [外部データ]>[認証情報] に移動し、サービス認証情報を設定してください。
また、Databricks API や Terraform を使って、自動化することも可能です。
詳しい手順については、公式ドキュメント(AWS、Azure、GCP)をご覧ください。
今後のアップデート情報
今後数か月の間に、以下のようなエキサイティングなアップデートを予定しています:
-
専用クラスタでのきめ細かなアクセス制御の強化
RLS(行レベルセキュリティ)やCM(カラムマスク)を適用したテーブルへの MERGE INTO
書き込み操作が可能になります(プライベートプレビューにお申し込みください)。
-
標準クラスタのシングルノード構成
小規模なジョブやクラスタ、パイプラインを1台のマシンで構成できるようになり、起動時間の短縮やコスト削減につながります。
-
UC Python UDF に関する新機能(すべてのUCコンピュートで利用可能)
-
PyPI や UC Volumes、クラウドストレージ上の wheel ファイルなど、カスタム依存関係の指定が可能に
-
UCサービス認証情報を使ったクラウドサービスへの安全な認証
-
ベクトル化UDFによるバッチ処理でパフォーマンスを向上
-
標準クラスタでのMLサポート拡充
SparkML ワークロードが標準クラスタでも実行可能になります(プライベートプレビューにお申し込みください)。
-
UCボリューム のアップデート
クラスタログの UC Volumes への配信(AWS、Azure、GCP)が、すべてのクラウドでパブリックプレビューとして提供開始されました。
UC 対応クラスタ(Shared または Single-user モード)において、Unity Catalog のボリューム宛てにログを配信できるようになりました。設定は UI または API から行えます。
- UC Volumes に対して、 Python SDK を使って任意のサイズのファイルをアップロード・ダウンロードできるようになりました。従来の 5GB 制限は撤廃されており、制限はクラウドプロバイダーの最大ファイルサイズのみに依存します。この機能は現在プライベートプレビュー中で、今後は Go SDK、Java SDK、および Files API にも対応予定です。
まずはここから
これらの機能は、最新の Databricks Runtime リリースでご利用いただけます。
Apache Spark™ ワークロードを効率的に実行するためのコンピュート構成のベストプラクティスについては、各クラウド向けの推奨ガイド(AWS、Azure、GCP)をご参照ください。