Databricksをエンタープライズ向けに拡張するためのベストプラクティス
によって シッダース・バイ, レイ・ニー, ケリー・アルバーノ 、 アンナ・シュレスティニアン による投稿
Databricks のセットアップとスケールを簡素化する新しいアイデンティティとアクセス管理機能をご紹介します。Unity CatalogはDatabricks Data Intelligence Platformにおけるガバナンスの中心にあります。Unity Catalogの一部であるIDおよびアクセス管理機能は、以下の原則に基づいて設計されています:
このブログでは、既存のアイデンティティおよびアクセス管理機能について再確認し、Databricks の管理者エクスペリエンスを簡素化するための新しい投資について紹介します。これらの投資には、Power BI や Tableau からのシンプルなログイン、ユニファイドログインによるシンプルなシングルサインオン設定、OAuth 認証、セキュリティのベストプラクティスとしてのサービスプリンシパルの ID を使用したジョブの実行などが含まれます。
Power BIとTableauは、Databricks上で最も人気のあるサードパーティデータツールの2つです。Power BI と Tableau から Databricks にシングルサインオンで安全に接続する機能が AWS 上で一般利用できるようになりました。DatabricksはOAuthを活用し、シングルサインオンを使ってユーザーがこれらのツールからDatabricksにアクセスできるようにします。これにより、ユーザーのログインが簡素化され、認証情報が漏えいするリスクが軽減されます。Power BI と Tableau の OAuth パートナーアプリケーションは、デフォルトでアカウントで有効になっています。
まずは、Power BIのドキュメントページまたはデモビデオをご覧ください。
シングルサインオン(SSO)は重要なセキュリティベストプラクティスであり、お好みのIDプロバイダを使用してユーザーをDatabricksに認証することができます。Databricksでは、3つのクラウドすべてでSSOを提供しています。AzureとGCP上では、Microsoft Entra ID (旧Azure Active Directory)とGoogle Cloud Identityという形で、それぞれデフォルトでアカウントとワークスペースのSSOを提供しています。AWS上では、DatabricksはOkta、Microsoft Entra ID、OneLoginなど、SAMLまたはOIDCを使用する様々なIDプロバイダをサポートしています。
この夏、Databricks on AWSアカウントとワークスペースのSSOを簡素化する新機能、ユニファイドログインを導入しました。ユニファイドログインによって、アカウントとそれに関連するすべての Databricks ワークスペースで、1 つの SSO 設定を管理できるようになります。アカウントでシングルサインオン(SSO)を有効化すると、すべてのワークスペースまたは特定のワークスペースに対してユニファイドログインを有効にすることができます。この設定では、DatabricksへのアクセスにアカウントレベルのSSO設定を使用し、アカウントのワークスペース全体でユーザー認証を簡素化します。ユニファイドログインは、すでに本番環境の数千のワークスペースで使用されています。

ユニファイドログインは、2023年6月21日以降に作成されたアカウントでGAが適用され、自動的に有効になります。 2023年6月21日以前に作成されたアカウントでは、この機能はパブリックプレビューとなっています。 ユニファイドログインを有効にするには、DatabricksアカウントコンソールでSSOを設定するを参照してください。
サービスプリンシパル用の OAuth が AWS で一般利用可能になったことを発表できることを嬉しく思います。AzureとGCPでは、それぞれAzureトークンとGoogleトークンを介してOAuthをサポートしています。サービスプリンシパルは、自動化ツール、ジョブ、アプリケーションで使用するDatabricksのIDです。以下の理由 から、本番自動化ワークフローではユーザーではなくサービスプリンシパルを使用することがセキュリティのベストプラクティスです:
OAuthは、APIやその他のリソースへのユーザやサービスアカウントを認証情報を明らかにすることなく認証するオープンスタンダードなプロトコルです。OAuth for service principalは、OAuthクライアントのクレデンシャルフローを使用して、Databricks APIの認証に使用できるOAuthアクセストークンを生成します。OAuth for service principalsは、Databricksの認証に以下のようなメリットがあります:
サービスプリンシパルにOAuthを使用するには、サービスプリンシパルにOAuthを使用した認証を参照してください。
Databricks Workflowsは、Databricks Data Intelligence Platformのデータ処理、機械学習、分析パイプラインをオーケストレーションします。 Databricks ジョブは、Databricks ワークスペース内でデータ処理や分析アプリケーションを実行する方法です。 デフォルトでは、ジョブはジョブ所有者のIDとして実行されます。 これは、ジョブがジョブ所有者の権限を想定し、ジョブ所有者がアクセス権限を持つデータとDatabricksオブジェクトにのみアクセスできることを意味します。
ジョブの実行IDをサービスプリンシパルに変更できるようになりました。 これは、ジョブが所有者ではなくそのサービスプリンシパルの権限を想定していることを意味し、ユーザが組織を離れたり部署を変更したりしてもジョブが影響を受けないことを保証します。 サービスプリンシパルとしてのジョブの実行は、一般的にAWS、Azure、GCPで利用可能です。 まずはドキュメントのRun a job as a service principalをご覧ください。
"サービスプリンシパルを使用して Databricks のワークフローを実行することで、ワークフローの権限、実行、ライフサイクルをユーザーから分離することができ、より安全で堅牢なワークフローを実現できます。" - Raiffeisen Bank International、プロダクトオーナー、George Moldovan 氏
Databricks では、お客様の組織の成長に合わせてスケーリングすることをお約束します。 本日のブログでは、Databricks上のUnity Catalogを介したIDおよびアクセス管理プラットフォームへの主な投資について取り上げました。 Databricks を使用してデータガバナンス戦略を構築する際に、"good" がどのようなものなのか疑問に思われるかもしれません。
最新のベストプラクティス(AWS|Azure|GCP)については、アイデンティティとアクセス管理のドキュメントページをチェックするか、Data + AI Summit 2023のセッション"Best Practices for Setting Up Databricks SQL at Enterprise Scale" をご覧になることをお勧めします。
ブログを購読して、最新の投稿を受信トレイにお届けします。