Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Databricks の セキュリティ

Databricks の セキュリティ

Databricksのセキュリティ (主にサーバレス周り) について説明します。

Databricks Japan

April 13, 2024
Tweet

More Decks by Databricks Japan

Other Decks in Technology

Transcript

  1. ©2023 Databricks Inc. — All rights reserved Databricks セキュリティ &

    トラストセンター Databricksのセキュリティに関するサマリーを提供 2 5 2 4 3 Databricksのセキュリティオペレーション (脆弱性への対応, バグバウンティ, 侵入テスト, インシデント対応) Databricksの製品内セキュリティ機能 保証およびコンプライアンス機能 安全なソフトウェア開発 ライフサイクルの詳細 プライバシー保護への取り組み (DPA, セキュリティに関する追加条項 , 契約) 1 セキュリティ & トラスト センター データ保護はDatabricksの 最優先事項です https://www.databricks.com/jp/trust
  2. ©2023 Databricks Inc. — All rights reserved アーキテクチャ コントロールプ レーン

    ユーザー お使いのDatabricksワークスペース ストレージ ユーザー管理のネットワー ク内のコンピュート サーバレスコンピュート 専用の コンピュート 専用の コンピュート 専用の コンピュート 専用の コンピュート 未割当のプール Webアプリ オーケスト レーション Unity Catalog クエリーや コード お使いの クラウド ストレージ DBFSルート データ 3 ユーザー Delta Sharing BIアプリ
  3. ©2023 Databricks Inc. — All rights reserved ワークロードご との短命 (Short-lived)

    アクセス • ワークロード(クラスター)をセキュアに分離 ◦ ワークロード間の通信は発生しない ◦ ワークロード間の横断的な移動はブロック • 専用のコンピュート ◦ 各ノードは専用のコンピュートを実行 ◦ ワークロードのノードにアタッチされたリソースは 使用後に消去される • 不必要なインバウンド(内向き)アクセス無し ◦ コントロールプレーンを通じて許可されたユーザーの 認証されたリクエストのみを処理 サーバレス コンピュート 分離の原則 4 再割当 不可 クラウド 事業者の ネットワーク経 由での TLS 1.2+ アクセス 不可 お客様の クラウド ストレージ ワークロード 2 (ネットワーク分離) 未割当のプール ワークロード 1 (ネットワーク分離) 専用の コンピュート 専用の コンピュート 多層的な分離によってお客様のワークロードを保護 専用の コンピュート 専用の コンピュート ソースコードへのアクセスが可 能な独立サードパーティ ペンテスターによる検証 Databricksの攻撃的セキュリ ティチームによるテスト
  4. ©2023 Databricks Inc. — All rights reserved コンテナ • ワークロードは特権を持たないコンテナ内で実行

    ディスク • すべてのローカルディスクおよびアタッチされたディスクは お客様専用 & 使用後に消去 • すべてのディスクはテンポラリー & 保存時に暗号化 コンピュート • お客様専用 & 使用後に消去 • 他のシステムに対する特権や認証情報を保持しない ネットワーク • 各ワークロード / クラスターは分離された論理ネットワーク上に存在 • パブリックIPアドレスなし • 他のワークロード / クラスターからのイングレス (内向きの通信)なし ネットワーク コンピュート ディスク 多層的な分離 5 コンテナ 多層的な分離によってお客様のワークロードを保護
  5. ©2023 Databricks Inc. — All rights reserved • ワークロードは特権を持たない コンテナに制限

    • VMおよびストレージはワークロード専用 であり、決して再利用されない ハードニングと脆弱性スキャン Databricksのハードニング(セキュリティ強化)と脆弱性に関するポリシー ハードニング 脆弱性スキャン 6 • 日次 / 週次の認証済みスキャン: • OSとコンテナに対する脆弱性スキャン • SAST、DAST、依存関係のスキャン • ネットワークスキャン、表出領域のスキャン • ペンテスト: • 毎年8-10の外部サードパーティによるペンテスト • 毎年15-20の内部ペンテスト • HackerOneを通じた公開バグバウンティ • 脆弱性対策SLA: • 重大 14日、高 30日、中 60日、低は適宜 • インスタンスは揮発性 & 最新の イメージを使用して起動 • CISレベル1に基づいたイメージのハード ニングを実施 リソースの専用化
  6. ©2023 Databricks Inc. — All rights reserved データへのアクセス サーバーレスから直接、またはUnity Catalog

    を介した場合のどちらでもDatabricksはデー タアクセスの ベストプラクティスを遵守: 1. データアクセスに1時間の短命な (Short-lived) トークンを使用 2. すべてのトラフィックはクラウドプロバイ ダーのグローバルネットワークを経由(パ ブリックインターネットは経由しない) 3. すべてのトラフィックはTLS 1.2以上 で暗号化 7 お客様の クラウド ストレージ サーバレスコンピュート 専用の コンピュート 専用の コンピュート 未割当のプール コントロールプレーン
  7. ©2023 Databricks Inc. — All rights reserved • 一度定義すればどこでもセキュアに ◦

    Unity Catalogはすべてのワークスペースと ペルソナにわたるデータアクセスポリシーを 管理するための唯一の場所 ◦ クエリに必要なアクセス権を必要最小限の パス/プレフィクスに限定 • 標準に準拠したセキュリティモデル ◦ 標準のANSI SQL ◦ 管理者は既存のデータレイクに対する権限を 管理できる • ビルトインの監査とリネージ ◦ ユーザーレベルの監査ログを自動でキャプチャ ◦ データがどのように作成され、使用されているのか を追跡するリネージをキャプチャ Unity Catalogによるデータの保護 8 お客様の クラウド ストレージ サーバレスコンピュート 専用の コンピュート 専用の コンピュート 未割当のプール クラウドストレージの ファイル 外部テーブル マネージドテーブル 監査ログ アクセス コントロール
  8. ©2023 Databricks Inc. — All rights reserved 暗号化 デフォルトで以下のすべてを暗号化 •

    ユーザー、コントロールプレーン、コンピュートプレーンとクラウドAPI間のすべての トラフィック • コントロールプレーン内のすべてのストレージ、アタッチされたディスク 顧客管理キー(CMK)の有効化(オプション) • コード、クエリー、結果 & シークレット • DBFSストレージ(リモートの 結果キャッシュを含む) • お客様がクラウド上で管理しているデータ 9
  9. ©2023 Databricks Inc. — All rights reserved 1. ユーザーからコントロールプレーン へのアクセス

    • すべて許可 (デフォルト) • IPアクセスリスト • Private Link 2. コンピュートプレーンからお客様の ストレージへのアクセス • VPC/サービスエンドポイント(利用可能な場 合) ワークロードはプライベートIPを使用し、不必 要な内部向けトラフィックはブロック ネットワークアクセスのオプション 10 1 2 1 2
  10. ©2023 Databricks Inc. — All rights reserved サーバーレスのエグレス制御 1. ユーザーのコードからのインターネットへの接続を

    ブロックまたは許可するためのアカウント/ワークス ペースレベルの設定が可能に 2. この設定はユーザー定義関数、ジョブやノートブッ ク内のユーザーコード、モデルサービングエンドポ イントでのコード実行に適用される 3. ストレージ、テーブル、ボリューム、外部カタログへ のデータアクセスはUnity Catalogで管理する Internet Your Storage Serverless Compute Dedicated Compute Dedicated Compute Unallocated Pool Audit log Access Control In Preview External tables & volumes Managed tables & volumes Foreign Catalogs Models
  11. ©2023 Databricks Inc. — All rights reserved デプロイメントの保護 12 セキュリティリファレンスアーキテク

    チャのTerraformテンプレートによって 初日にセキュリティを 構築できます Security Analysis Toolによって カスタマイズ可能なベストプラクティス のためにワークスペースをスキャンし、 発見を可視化、エクスポートすることが できます 我々のベストプラクティスホワイト ペーパーは最もセキュリティ感度の 高いお客様における設定とプラク ティスを提供します 定義: ホワイトペーパー 配備: Terraformテンプレート 監視: Security Analysis Tool
  12. ©2023 Databricks Inc. — All rights reserved 詳細は — セキュリティ

    & トラストセンター セルフサービスレビューには、ISO認 証や年次ペンテスト確認書などの一 般的なコンプライアンス文書が含ま れます セキュリティの実践とアーキテク チャーに関する詳細な100ページの 文書 規制遵守と基準に関する 最新情報の入手 13 http://databricks.com/jp/trust セルフサービスレビュー エンタープライズ セキュリティガイド 認証 Download
  13. ©2023 Databricks Inc. — All rights reserved サーバレスコンピュート モデルサービングのアーキテクチャ 17

    コントロールプレーン ワークロード 1 (ネットワーク分離) ワークロード 2 (ネットワーク分離) すべてのトラフィックは TLS 1.2以上で暗号化 VMとストレージはワークロード専用であり、決して再利用されない 専用の コンピュート 専用の コンピュート Databricksワークスペース 認証 コントロールプ レーン サービス ロード バランサー ユーザー ユーザー 専用の コンピュート 専用の コンピュート 専用の コンピュート 専用の コンピュート
  14. ©2023 Databricks Inc. — All rights reserved サーバーレス モデルサービング Endpoint

    1 モデルサービング 18 コントロール プレーン アクセス制御 (認証, 認可, IP ACLs, PL) カスタム モデル 1 基盤 モデルAPI カスタム モデル 2 モデルサービングAPI マネジメントルート クエリルート 3 メタデータ & APIキー リモートモデル 18 2 ワークスペースのアクセス制御は認証 , 認可, IPアクセ スリスト, Private Linkを強制 リクエストフロー 3 モデルサービング APIはリクエストを対象のエンドポイントに転 送し、リモートAPIエンドポイントのキーと URLを取得 マネジメントフロー 1 エンドポイント設定 , レート制限, リモートモデルの APIキー, ACL, カスタム/プロビジョニングされたモデルを管理 5 6 5 基盤モデルAPIエンドポイントによってサポートされるクエリルー トはDatabricks管理のモデルに転送される 6 リモートモデルによってサポートされるクエリルートは それぞれの外部モデルプロバイダーに転送される Llama 2 Endpoint Endpoint 2 カスタム モデル カスタム モデル プロビジョンドスループット基盤 モデルAPI モデル モデル 4 4 カスタムモデル/プロビジョニングされた基盤モデルのクエリ ルートはサーバーレスコンピュートに転送される MPT Endpoint BGE Endpoint
  15. ©2023 Databricks Inc. — All rights reserved 基盤モデルAPI Pay-per-token: •

    トークン単位の支払い • 人気のOSS基盤モデルへのアクセス • Databricks上で基盤モデルへのアクセスを 開始する最速の方法 プロビジョニングされたスループット: • 専用エンドポイント • 時間単位の支払い • ベースモデルまたは独自のデータに基づい て微調整されたモデルを展開する • スループット保証による一貫したレイテン シー • スループットまたはレイテンシーに最適化さ れたデプロイメント 完全な機能を備えたエンタープライズグレードのセキュアなAPIエンドポイント
  16. ©2023 Databricks Inc. — All rights reserved サーバレス コンピュート ワークロード

    1 (ネットワーク分離) モデルサービングへのディープダイブ 20 コントロール プレーン Databricksワークスペース ワークスペースシステムストレージ 認証 (認証, 認可, IP ACLs, PL) モデル 1 アーティ ファクト モデル 2 アーティ ファクト モデル 3 アーティ ファクト モデル 1 テーブル モデル 3 テーブル ロード バランサー モデルサービングプ ロキシー ワークロード 2 (ネットワーク分離) Comp (モデル 1) Comp (モデル 2) Comp (モデル 2) コンテナ レジストリ (ACL保護) 公開リポジトリ PyPI Conda-Forge 1 2 モデルイメージを準備し、レジストリに格納 3 3 1 2 必要な場合には外部ライブラリをプル ワークスペースシステムストレージからモデルとアーティファク トをプル 4 1 2 2 4 1 モデルサービング サービス 特徴量ストアから特徴量を取得 新規サービングリクエストを受信し、 VMにディスパッチ VMを起動し、エンドポイントを作成するためにレジストリから モデルイメージをプル 新たな流入リクエストのフロー 新たなエンドポイント作成フロー モデル コンテナの ビルド Comp (モデル 1)
  17. ©2023 Databricks Inc. — All rights reserved 22 ファインチューニングとは? LLM(大規模言語モデル)の異なるトレーニング段階の比較

    • データ形式: テキスト • データサイズ: 数十億のトークン • リソース: 100以上のGPU • 訓練時間: 数日間 • 目的: ドメイン特化の言語/知識 ゼロからのトレーニング 継続的なプリトレーニング • データ形式: プロンプト & レスポンス • データサイズ: 数百万のトークン • リソース: 10以上のGPU • 訓練時間: 数十分 • 目的: 特定タスクに特化したモデル インストラクション ファインチューニング • データ形式: テキスト • データサイズ: 兆単位のトークン • リソース: 1000以上のGPU • 訓練時間: 数週間から数ヶ月 In Preview
  18. ©2023 Databricks Inc. — All rights reserved チェックポイントお よびトレーニング 済みモデルをユー

    ザーのストレージ に保存 ファインチューニングAPI ファインチューニングパイプラインが ベース基盤モデルをDatabricksのセ キュアモデルストレージからロード Assume Role (sts:AssumeRole) コントロールプレーン 4 6 5 ユーザーの ストレージ 2 UCはユーザーが適切なアクセ ス権を持っていることを確認し ファインチューニングパイプライ ン用の一時的な認証情報を提 供 ユーザー ユーザーがファインチューニン グのリクエストをAPIまたはノー トブックで送信 1 23 基盤モデル ストレージ Pipeline トレーニングデー タをユーザーの UCテーブル/ボ リュームから読み 取り トレーニング実行の完了時に、パイプライン はターミネートされ認証情報とデータが消去 される - ローカルへの永続化は無い 7 ファインチューニングリクエストのフロー GPUコンピュートをパイプライン 用にプロビジョニング 3 In Preview
  19. ©2023 Databricks Inc. — All rights reserved 1. ユーザーからコントロールプレーンへの アクセス

    • すべて許可 (デフォルト) • IPアクセスリスト • PrivateLink 2. コンピュートプレーンからお客様スト レージへのアクセス • AWS APIを用いたAssumeRole • S3 VPCエンドポイント ワークロードはプライベートIPを使用, 不要なインバウンド通信はブロック AWS - ネットワークアクセスオプション 26 Enterprise Enterprise 1 2
  20. ©2023 Databricks Inc. — All rights reserved 1. ユーザーからコントロールプレーンへの アクセス

    • すべて許可 (デフォルト) • IPアクセスリスト • Private Link • 認証: Entra IDとのネイティブ統合 - 条件付 きアクセス、多要素認証 2. コンピュートプレーンからお客様のスト レージへのアクセス • UCのマネージドIDを用いた認証 (推奨) • サービスプリンシパル認証 • サービスエンドポイント(ADLS) • Private Link (ADLS) ワークロードはプライベートIPを使用, 不必要なインバウンド通信はブロック Azure - ネットワークアクセスオプション 27 1 2
  21. ©2023 Databricks Inc. — All rights reserved Databricks Serverless SQLのメリット

    SQLウェアハウスが 10秒で即座に起動 Databricks管理の リソース 長時間稼働する クラスターの撲滅 キャパシティの管理が不 要に 機能 挙動 インパクト コスト削減 生産性の改善 同時実効性の改善 待ち時間無し
  22. ©2023 Databricks Inc. — All rights reserved Databricksレイクハウスプラットフォームのすべてのレ イヤーにセキュリティが組み込まれています データとワークロードの

    保護 セキュアなクラウド インフラストラクチャ セキュアな プラットフォーム お客様のデータを保護し、セキュアな共有を 実現するための一貫性のあるコントロール お客様の要件に応え、承認を容易にするセキュアで 信頼できるプラットフォーム ストレージ、計算資源、ネットワークを保護する クラウド固有のセキュリティベストプラクティス クラウドごとに 最適化 クラウド横断の 一貫性 30
  23. ©2023 Databricks Inc. — All rights reserved セキュアなクラウドインフラストラクチャ 31 マルチ

    クラウド クラウド横断の統合ポリシーとガバナンス クラウドのプリミティブに抑制されることなしに ビジネスニーズに対応 検証 年間20–40のペンテスト、8+ の認証 HackerOne経由の公開バグハント 監督 セキュリティに対する契約上の詳細なコミット プロダクションシステムに対する強力なアクセス制御 セキュアな SDLC アイデアからデリバリー、文書にセキュリティを組み込み コード、イメージ、ライブラリは自動でスキャン セキュアな デプロイ Databricksのコードの真正性はローンチ前に検証 パッチされ、強固にされた不変のインフラストラクチャ
  24. ©2023 Databricks Inc. — All rights reserved • 暗号化と顧客管理キー (CP

    & DBFS) • データはユーザーのアカウントに格納 • コントロールプレーンのプライベート ネットワーキング • コアのセキュリティ: IPアクセスリスト、RBAC、 SCIM、 SAML、Permissions API、ワークロード 分離、監査 セキュアなプラットフォーム 32 計算資源 クラス ター クラス ター ユーザー + API コントロール プレーン デザインの原則: • システムやユーザーインタラクションのすべてのポイ ントに最低2つの強力なセキュリティ境界 • 常にクラスターは専用の者で決して再利用しない クラウド ストレージ データ お客様のAWS環境 お客様のDatabricks環境
  25. ©2023 Databricks Inc. — All rights reserved Databricksセキュリティベストプラクティス データパイプライン、クラウド環境、アナリ ティクスワークロードを最新のデータ環境

    で保護するための最新の戦略とツールに ついて、Databricksセキュリティのエキス パートがお話します Watch and subscribe now 33
  26. ©2023 Databricks Inc. — All rights reserved データの格納場所 • 通常はお使いのクラウドオブジェクトストアですが、皆様のファイルやテーブルは好

    きな場所に格納されます • 本当に必要なデータはDatabricksのサブスクリプションに格納: • サーバレスコンピュートの揮発性データ • ノートブックのコード (CMK) • DBSQLクエリーと履歴 (CMK) • テレメトリーデータ • オプション • 部分的なノートブックの結果 (CMK) • Hiveメタストア • シークレットのスコープ (CMK / Azure Key Vault) • Repos • MLflowのメトリクスと属性 • Databricksサブスクリプションに格納される全データは暗号化されます。 34
  27. ©2023 Databricks Inc. — All rights reserved UCサービスが揮発性トークン (AWS: STS,

    Azure: SAS) をリクエストします。このトークンは : • 設定したUCに紐付けられます • 要求されたパスのみにスコープが絞られます • 短時間(1時間)であり、このユーザーとテーブルに対 してのみキャッシュされます データプレーンのホストはクラウドストレージから直接 データをダウンロードするために、 この限定的なトークンを使用します (コントロールプレーンを経由しません ) コンピュートプレーン コンピュートプレーンの ホストがテーブルへの アクセスをリクエスト UC経由のデータアクセス 35 Assume Role (sts:AssumeRole) コントロールプレーン 2 5 4 ストレージ STS SAS 3 UCがユーザーにアクセス権が あることを確認 ユーザー ワークロード 1 (ネットワーク分離) 専用コン ピュート 専用コン ピュート ユーザーがテーブルにアクセス するクエリーやジョブを実行 1
  28. ©2023 Databricks Inc. — All rights reserved サーバレスアクセスマネージャサービスが揮発性トー クン(AWS: STS,

    Azure: SAS)をリクエストします。この トークンは: • 設定したUCに紐付けられます • 要求されたパスのみにスコープが絞られます • 短時間(1時間)であり、このユーザーとテーブル に対してのみキャッシュされます データプレーンのホストはクラウドストレージから直接 データをダウンロードするために、 この限定的なトークンを使用します (コントロールプレーンを経由しません ) コンピュートプレーン DBSQLはテーブルACLに 基づきユーザーが権限を 有していることを確認して、 アクセスをリクエスト サーバレス経由のデータアクセス 36 Assume Role (sts:AssumeRole) コントロールプレーン 2 5 3 ストレージ STS SAS ワークロード 1 (ネットワーク分離) 専用コン ピュート 専用コン ピュート ユーザー ユーザーがテーブルにアクセス するクエリーやジョブを実行 1 サーバレス アクセス マネージャ