Databricks on Google Cloudのセキュリティベストプラクティス

[Databricks on Google Cloud Security Best Practices \- The Databricks Blog](https://www.databricks.com/blog/2022/06/13/databricks-on-google-cloud-security-best-practices.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

[レイクハウスパラダイム](https://www.databricks.com/discover/pages/the-rise-of-the-lakehouse-paradigm)によって、企業は分析、データサイエンス、機械学習(ML)、ビジネスインテリジェンス(BI)で活用するすべてのデータを一つの場所に蓄積できる様になります。一つの場所にすべてのデータを集めることで、生産性を向上させ、コラボレーションの障壁を打ち砕き、イノベーションを加速します。

企業がデータレイクハウスのデプロイを進めていくと、多くの場合において、彼らのポリシーによって統治されたセキュリティや適切なアクセスや監査可能性のコントロールをどの様に実装するのかに関する疑問を持つことになります。一般的な疑問には以下の様なものが含まれます。

- 自分のVPC(ネットワーク)をDatabricks on Google Cloudに持ち込むことができますか？(例：共有VPC)
- どうすれば許可されたネットワークからDatabricks(WebappやAPI)にリクエストできるようにすることができますか？(例：Databricksワークスペースにアクセする際にユーザーは会社のVPNに存在する必要がある)
- DatabricksがプライベートIPのみを持つ計算インスタンスを持つ様にできますか？
- Databricksに関連するイベントを監査することはできますか？(例：誰がいつ何をしたか？)
- データ漏洩をどの様に防ぐことができますか？
- Databricksのパーソナルアクセストークンをどの様に管理できますか？

本書ではこれらの質問に回答し、皆様のガバナンスポリシーにDatabricks環境を適応できる様に企業のデータチームが活用することができる、クラウドセキュリティの機能をウォークスルーします。

# Databricks on Google Cloud

[Databricks on Google Cloud](https://www.databricks.com/jp/product/google-cloud)は、皆様の分析、AIワークロードの全てを統合するためにデータウェアハウスとデータレイクの良いところを組み合わせたシンプルかつオープンなレイクハウスプラットフォームに皆様のすべてのデータを格納することができる共同開発のサービスです。Google Kubernetes Engine (GKE)で動作し、Google Cloud Platform (GCP)上でホストされており、Google CloudのID、Google Cloud Storage、BigQuery、その他のGoogle Cloudのテクノロジーとのビルトインのインテグレーションを提供します。このプラットフォームによって、データエンジニア、データサイエンティスト、データアナリスト、SecOps、クラウドエンジニアリングを含む企業のいかなるペルソナ間のコラボレーションを実現します。

[Delta Lake](https://www.databricks.com/jp/product/delta-lake-on-databricks)、[MLflow](https://www.databricks.com/jp/product/managed-mlflow)、[Koalas](https://www.databricks.com/blog/2019/04/24/koalas-easy-transition-from-pandas-to-apache-spark.html)、[Databricks SQL](https://www.databricks.com/jp/product/databricks-sql)、[Apache Spark](https://www.databricks.com/spark/about)™の基盤の上に構築されており、ワンクリックのセットアップ、インタラクティブなワークスペース、小規模から大規模なグローバルカスタマーがデータとAIのユースケースを推進するための企業レベルのセキュリティコントロール、ID・アクセス管理(IAM)を提供できる様にDatabricks on Google Cloudは[GCP Marketplaceのオファリング](https://console.cloud.google.com/marketplace/product/databricks-prod/databricks)となっています。Databricks on Google Cloudは同じGKEクラスター内でクラスターを分離するために名前空間のようなKubernetesの機能を活用しています。

# 自分のネットワークを持ち込む

皆様のネットワークセキュリティチームによって要求される必要なカスタマイズを行うために、ご自身の企業で管理している仮想ネットワークにDatabricksレイクハウスプラットフォームをどの様にセットアップするのでしょうか？企業のお客様は、GCP環境に自分のデプロイメントを行える機能である[顧客管理仮想プライベートクラウド](https://www.databricks.com/blog/2022/04/27/bring-your-own-vpc-to-databricks-on-google-cloud.html)(VPC)を使い始めるべきです。顧客管理VPCを用いることで、マネージドプラットフォームの使いやすさとデフォルトでセキュアなデプロイメントを組み合わせるデータとAIに対するPlatform-as-a-Serviceアプローチを提供しながらも、数多くの社内外のセキュリティポリシーとフレームワークに準拠することができます。Databricks管理のVPCと顧客管理VPCの違いを以下の図に示します。
![](https://www.databricks.com/wp-content/uploads/2022/06/db-167-blog-img-1.png)

# セキュアクラスター接続を有効化する

あなたのネットワークに対するいかなるインバウンドのアクセスを許可することなしに、サブネットにDatabricksワークスペースをデプロイします。クラスターはノードにパブリックIPを必要とすることなしに、Databricksのクラウドインフラストラクチャとコミュニケーションするためにセキュア接続のメカニズムを活用します。Google CloudでDatabricksワークスペースを作成する際、デフォルトで[セキュアクラスター接続](https://docs.gcp.databricks.com/security/secure-cluster-connectivity.html)は有効になります。
![](https://www.databricks.com/wp-content/uploads/2022/06/db-167-blog-img-2.png)

# ワークスペースにアクセスできるネットワークを制御する

お使いのDatabricksワークスペースへのアクセスを許可するネットワークを制御するために[許可リストとブロックリスト](https://docs.gcp.databricks.com/security/network/ip-access-list.html)を設定します。
![](https://www.databricks.com/wp-content/uploads/2022/06/db-167-blog-img-3.png)

# Databricksを用いた信頼と検証

[Databricksの監査ログ](https://docs.gcp.databricks.com/administration-guide/account-settings-gcp/audit-logs.html)とその他の[Google Cloud Audit Logs](https://cloud.google.com/logging/docs/audit)を設定することで、誰がいつ何をしたのかに関して、適切なプラットフォームのアクティビティに可視性を提供します。
![](https://www.databricks.com/wp-content/uploads/2022/06/db-167-blog-img-4.png)

# DatabricksからGoogle Cloudのデータソースにセキュアにアクセスする

お使いのプライベート仮想ネットワークにあるDatabricksクラスターを[クラウドネイティブなセキュアな方法](https://cloud.google.com/vpc/docs/private-access-options)で接続するいくつかの方法を理解します。お客様はBQ、Cloud SQL、GCSのようなデータソースに読み書きする機能として、Private Google Access、VPC Service Controls、Private Service Connectから選択することができます。

# Databricksを用いたデータ漏洩保護

お使いのDatabrikcs環境において、データ漏洩を防御する実戦でテスト済みのセキュアなアーキテクチャを作成するために[VPCサービスコントロール](https://github.com/bhavink/databricks/blob/master/gcpdb4u/security/Configure-VPC-SC.md)の様なクラウドネイティブなセキュリティ構造の活用方法を理解します。個人識別情報(PII)、保護健康情報(PHI)、その他のセンシティブなデータを取り扱う企業にとっては最も適したものとなります。

# パーソナルアクセストークンのトークン管理

[Databricksパーソナルアクセストークン](https://docs.gcp.databricks.com/dev-tools/api/latest/authentication.html)を必要とするユースケースにおいては、[必要なユーザーだけがこれらのトークンを設定できる様にする](https://docs.gcp.databricks.com/administration-guide/access-control/tokens.html)ことをお勧めします。
![](https://www.databricks.com/wp-content/uploads/2022/06/db-167-blog-img-5.png)

# 次に来るのは？

レイクハウスアーキテクチャによって、お客様はデータガバナンスとアクセスに対して統合され、一貫性のあるアプローチを取ることができ、企業に対しては単一のユースケースから、多数の分散データチームにまたがるデータ・AIプラットフォームの本格運用にまで迅速にスケールできる能力を提供します。

我々は新たなセキュリティ関連の機能やコントロールをアップデートしていくので、このページをブックマークしておいてください。ここで説明された機能を試してみたいのであれば、[ご自身の管理VPCを用いてワークスペースを作成](https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/customer-managed-vpc.html)してみてください。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)