Databricksをユーザが容易に利用できるようにするために、新しいIDとアクセス管理の機能強化を発表
Databricks のセットアップとスケールを簡素化する新しいアイデンティティとアクセス管理機能をご紹介します。Unity CatalogはDatabricks Data Intelligence Platformにおけるガバナンスの中心にあります。Unity Catalogの一部であるIDおよびアクセス管理機能は、以下の原則に基づいて設計されています:
- オンボーディング、管理、コラボレーションのための、セキュアでスケーラブル、かつ汎用的なアイデンティティおよびアクセス管理を構築します。
- 直感的で拡張可能な監査対応パーミッションを使用して、顧客がDatabricksへのアクセスを容易に制御できるようにします。
- ブラウザおよび API アクセスのための、ワールドクラスで拡張性の高い認証を開発し、顧客およびパートナーが Databricks Data Intelligence Platform のパワーをシンプルかつ安全に活用できるようにします。
このブログでは、既存のアイデンティティおよびアクセス管理機能について再確認し、Databricks の管理者エクスペリエンスを簡素化するための新しい投資について紹介します。これらの投資には、Power BI や Tableau からのシンプルなログイン、ユニファイドログインによるシンプルなシングルサインオン設定、OAuth 認証、セキュリティのベストプラクティスとしてのサービスプリンシパルの ID を使用したジョブの実行などが含まれます。
シングルサインオンを使用してPower BIとTableauをAWS上のDatabricksにシームレスに接続
Power BIとTableauは、Databricks上で最も人気のあるサードパーティデータツールの2つです。Power BI と Tableau から Databricks にシングルサインオンで安全に接続する機能が AWS 上で一般利用できるようになりました。DatabricksはOAuthを活用し、シングルサインオンを使ってユーザーがこれらのツールからDatabricksにアクセスできるようにします。これにより、ユーザーのログインが簡素化され、認証情報が漏えいするリスクが軽減されます。Power BI と Tableau の OAuth パートナーアプリケーションは、デフォルトでアカウントで有効になっています。
まずは、Power BIのドキュメントページまたはデモビデオをご覧ください。
AWS上のユニファイドログインを使用したDatabricksへのユーザー認証
シングルサインオン(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を設定するを参照してください。
AWS上のOAuthでDatabricksへのサービスプリンシパルアクセスを自動化
サービスプリンシパル用の OAuth が AWS で一般利用可能になったことを発表できることを嬉しく思います。AzureとGCPでは、それぞれAzureトークンとGoogleトークンを介してOAuthをサポートしています。サービスプリンシパルは、自動化ツール、ジョブ、アプリケーションで使用するDatabricksのIDです。以下の理由から、本番自動化ワークフローではユーザーではなくサービスプリンシパルを使用することがセキュリティのベストプラクティスです:
- サービス・プリンシパルを使用して実行されるプロダクション・ワークフローは、ユーザが組織を離れたり、ロールを変更した場合でも影響を受けません。
- プロダクション・データに作用するすべてのプロセスがサービス・プリンシパルを使用して実行される場合、対話型ユーザはプロダクションで書き込み、削除、または変更の権限を必要としません。これにより、ユーザが本番データを誤って上書きするリスクがなくなります。
- 自動化されたワークフローにサービスプリンシパルを使用することで、ユーザーは自身のアクセストークンをより適切に保護できます。
OAuthは、APIやその他のリソースへのユーザやサービスアカウントを認証情報を明らかにすることなく認証するオープンスタンダードなプロトコルです。OAuth for service principalは、OAuthクライアントのクレデンシャルフローを使用して、Databricks APIの認証に使用できるOAuthアクセストークンを生成します。OAuth for service principalsは、Databricksの認証に以下のよう なメリットがあります:
- 認証にユーザーではなく Databricks サービスプリンシパルを使用します。
- 認証情報の漏洩リスクを低減するため、認証情報には短命(1時間)のアクセストークンを使用します。
- 期限切れのOAuthアクセストークンは、DatabricksツールやSDKを使用して自動的にリフレッシュすることができます。
- サービスプリンシパルがアクセスできる全てのDatabricks APIに対して、アカウントレベルとワークスペースレベルの両方で認証を行うことができます。これにより、1つのスクリプトでワークスペースの作成とセットアップを自動化できます。
サービスプリンシパルにOAuthを使用するには、サービスプリンシパルにOAuthを使用した認証を参照してください。
サービスプリンシパルを用いたDatabricksジョブの安全な実行
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 では、お客様の組織の成長に合わせてスケーリングすることをお約束します。 本日のブログでは、Databricks上のUnity Catalogを介したIDおよびアクセス管理プラットフォームへの主な投資について取り上げました。 Databricks を使用してデータガバナンス戦略を構築する際に、"good" がどのようなものなのか疑問に思われるかもしれません。
最新のベストプラクティス(AWS|Azure|GCP)については、アイデンティティとアクセス管理のドキュメントページをチェックするか、Data + AI Summit 2023のセッション"Best Practices for Setting Up Databricks SQL at Enterprise Scale" をご覧になることをお勧めします。