背景・目的
Databricksでは、IDプロバイダーを使用してAccount ConsoleをSSOできます。
本記事では仕様を整理し、実際に試してみたいと思います。なお、本記事では、SAMLを使用したアカウントのシングルサインオン認証を試しています。
まとめ
- IdPからDatabricksへのSSOが可能です。
- アカウントコンソールでは、SAML2.0、OIDCがサポートされている。IdPでどちらもサポートされていればOIDCを推奨。
- なお、AWS Identity Centerでは、SAMLのみサポートされています。
概要
Databricks アカウント コンソールの SSO を設定するを元に整理します。
シングル サインオン (SSO) を使用して、組織の ID プロバイダーを使用して account console を認証します。 アカウントコンソールは、ワークスペースの作成、委任された AWS アクセス認証情報、AWS ストレージ設定、オプションの Customer 管理型 VPC など、Databricks アカウントレベルの設定を管理する場所です。
アカウントコンソール SSO では、SAML 2.0 または OpenID Connect (OIDC) のいずれかの使用がサポートされています。 ID プロバイダー (IdP) は、これらのプロトコルの少なくとも 1 つをサポートしている必要があります。 IdP が OIDC と SAML 2.0 の両方をサポートしている場合、Databricks では、アカウント コンソール認証に OIDC を使用することをお勧めします。
- アカウントコンソールのSSOが可能
- アカウントコンソールでは、SAML2.0、OIDCがサポートされている。IdPでどちらもサポートされていればOIDCを推奨。
アカウントで SSO を有効にすると、すべてのユーザが SSO を使用してアカウントコンソールにログインする必要があります。 アカウント所有者のみがユーザー名(Eメールアドレス)とパスワードを使用してログインできます。
- 設定後は、全てのユーザはSSO経由になる
SSO 認証を使用したアカウント コンソールの動作は、ユーザーが Databricks アカウントで admin ロールを持っているかどうかによって異なります。
admin ロールを使用すると、ユーザーはワークスペースやワークスペースリソースの作成や変更など、アカウントコンソールのアカウント管理機能にアクセスできます。
admin ロールがない場合、ユーザーは、ログインできるワークスペースのリストの表示や、それらのワークスペースにアクセスするためのリンクなど、管理者以外のアクションに制限されます。
- adminロールの保持次第で、制限されるか決まる。
統合ログイン
アカウントが 2023 年 6 月 21 日以降に作成された場合、アカウントで統合ログインが有効になります。 統合ログインを使用すると、アカウントとすべての Databricks ワークスペースに使用されるアカウント内の 1 つの SSO 構成を管理できます。 アカウントで SSO が有効になっている場合、新規および既存のすべてのワークスペースでアカウント レベルの SSO 構成が使用され、アカウント管理者とワークスペース管理者を含むすべてのユーザーは SSO を使用して Databricks にサインインする必要があります。 ワークスペース レベルで SSO を個別に管理することはできません。
アカウントが 2023 年 6 月 21 日より前に作成された場合、統合ログインはアカウントで有効になっていません。 つまり、アカウントの SSO と各ワークスペースの SSO を個別に管理する必要があります。 SSO は、アカウント レベルとワークスペースで同じ ID プロバイダーに構成する必要があります。 ワークスペース レベルの SSO を構成するには、「 ワークスペースの SSO を設定する」を参照してください。
- 統合ログインは、2023年6月21日にリリースされた
- 統合ログインを使用すると、アカウントと全てのワークスペースで利用されるアカウントは1つのSSOで管理できる
- 以前は、ワークスペース毎のSSOがあったが、アカウントSSOを利用すると個別に管理はできなくなる。
2023 年 6 月 21 日より前に作成されたアカウントの統合ログインは、 プライベート プレビュー段階です。 アクセスについては、Databricks の担当者にお問い合わせください。
- 2023年6月21日以前のアカウントの統合ログインはプライベートプレビュー
実践
SAMLを使用したアカウントのシングルサインオン認証を有効にする
(Databricks)リダイレクトURLのコピー
- アカウント管理者でサインインし、ナビゲーションペインの「設定」をクリックします。
- ① 「シングルサインオンタブ」をクリックし、②「SAML2.0」を選択します。③「DatabricksリダイレクトURL」をコピーしておきます。※後ほど使います。
IAM Identity Centerの設定
-
AWSにサインインし、IAM Identity Center(旧 AWS SSO)に移動します。
-
ナビゲーションペインの「アプリケーション」をクリックします。
-
「アプリケーションを追加」をクリックします。
-
①「メタデータ値をマニュアルを入力する」をクリックし、②「アプリケーションACS URL」、③「アプリケーションSAML 対象者」に、上記のDatabricksで「DatabricksリダイレクトURL」でコピーしたものを貼り付けます。
-
「IAM Identity Center メタデータ」に下記のURLが表示されているので、それぞれコピーします。
- IAM Identity Center SAML メタデータファイル(ダウンロードします)
- IAM Identity Center サインイン URL
- IAM Identity Center サインアウト URL
- IAM Identity Center SAML 発行者 URL
- IAM Identity Center 証明書(ダウンロードします)
(AWS)ユーザを追加する
-
IAM Identity Center のナビゲーションペインで「ユーザ」を追加します。
-
「ユーザを追加」をクリックします。
-
下記を入力し、「次へ」をクリックします。
-
ユーザをグループに追加画面では、そのまま「次へ」をクリックします。※ここでは省略しています。必要に応じてグループを作成し追加してください。
-
確認画面で「ユーザを追加」をクリックしてください。
-
メールにInvitationが送られてくるので、「Accept Invitation」をクリックします。
-
パスワードを設定します。
(AWS)アプリケーションにユーザを割り当てる
- Databricksのアプリケーションで、「ユーザを割り当て」をクリックします。
- 上記で作成したユーザを選択し、「ユーザを割り当て」をクリックします。
(Databricks)SSOの設定
- 下記にコピーし、「保存」をクリックします。
- シングルサインオンURL
- エンティティID
- x.509証明書
- SSO接続テストをクリックします。
- 成功したら、SSOを有効化をクリックします。
SSOを試す
- IAM Identity Center に表示されている AWS アクセスポータルの URLをクリックします。
- 別タブが起動されるので、サインインします。
- Databricksのアイコンが表示されるので、クリックします。
考察
今回は、AWS Identity Centerを利用してDatabricksへのSSOを設定しました。
これにより、IDパスワードが一元管理できる点、Databricksでは私の知っている限りではMFAを設定できないので、AWS Identity Center のMFAを使うことでよりセキュアになるのは良いですね!
参考