SaaS

OktaのカタログアプリがGoogle WorkspaceのマルチIdPに対応したので検証してみた

こんにちは!たつみんです。

みなさんはOktaのリリースノートって読んでますか?

2023.04のリリースノートに以下のような記述がありましたので今回はその検証とどのようなメリットがあるのかをご紹介します。

Multiple IdP profiles in Google Workspace
The Google Workspace integration now supports multiple IdP profiles. See How to Configure SAML 2.0 for Google Workspace.

(日本語訳)

Google Workspaceで複数のIdPプロファイルを利用する
Google Workspaceの統合で、複数のIdPプロファイルがサポートされるようになりました。Google Workspace の SAML 2.0 の設定方法を参照してください。

はじめに

マルチIdPとはSaaSサービス上で複数のIdPを設定できる状態や機能を指します。

Google Workspaceでは以下の2つの設定項目が用意されており、これらによってマルチIdPに対応しています。

  • 組織向けのサードパーティのSSOプロファイル
  • サードパーティのSSOプロファイル

これらふたつ設定項目は組織向けのと付くが付かないかという非常に紛らわしい名称なので注意が必要です。なお、組織向けのサードパーティのSSOプロファイルはGoogle Workspace上で一つしか設定することができませんが、サードパーティのSSOプロファイルは複数設定をすることができます。

設定画面では以下のように組織向けのサードパーティのSSOプロファイルサードパーティのSSOプロファイルが2つの合計3つが設定されています。この記事ではサードパーティのSSOプロファイルにデフォルトで追加されている名前:Microsoftはカウントしていません。

これまでの対応状況

OktaはOkta Integration Network(OIN)という枠組みで各SaaS向けに事前統合済みテンプレート(以降、カタログアプリ)を用意しています。このカタログアプリを利用することでSAML SSO設定やSCIM Provisioning設定が数回のクリックや表示される設定値のコピー&ペーストのみで実現できます。

これまでOINで提供されているGoogle Workspaceのカタログアプリでは組織向けのサードパーティのSSOプロファイルにしか対応していませんでした。そのためサードパーティのSSOプロファイルに対してOktaの設定を行いたい場合はカタログアプリではなく汎用的なテンプレートを利用してゼロベースでSAML設定をする必要がありました。この汎用的なテンプレートアプリではSCIM設定も可能ではあるのですが、SaaS側のSCIM APIを調べる必要があったりとかなり難易度が高いと感じていました。

これからはカタログアプリでサードパーティのSSOプロファイルに対して設定可能となったので早速設定方法をご紹介します。

サードパーティのSSOプロファイルに対する設定方法

  1. Okta管理画面へログインし、Applications>Applications>Browse App Catalogをクリックします。トップページに表示されているGoogle Workspaceをクリックします。
  2. 以下の項目を入力し、Nextをクリックします。
    Application labelにOktaダッシュボードに表示する際の名称を入力
    Your Google Apps company domainにGoogle Workspaceで設定をしているプライマリドメインを入力
    Display the following linksではOktaダッシュボードに表示しないサービスのアイコンはチェックを外す
  3. SAML2.0を選択し、View Setup Instructionsをクリックします。
  4. 別タブで以下のように設定方法の表示されます。
    日本語表記の場合と英語表記の場合がありますが記事執筆時点では日本語表記のマニュアルはサードパーティのSSOプロファイルには完全対応していません。日本語表記の場合は後述する方法で英語表記に切り替えを行ってください。
  5. 少しスクロールすると以下のように設定値が表示されます。7.で利用しますのでこのタブは開いたままにします。またあらかじめVerification certificateのURLをクリックし、証明書をダウンロードしておきます。
  6. Google Workspaceの管理画面へログインし、セキュリティ>サードパーティのIdPによるSSOからSAMLプロファイルを追加をクリックします。
  7. 以下の項目をそれぞれ入力やアップロードし、保存をクリックします。
    SSOプロファイル名にわかりやすい名前を入力
    IdPエンティティIDに5.で表示されたIDP entity IDを入力
    ログインページのURLに5.で表示されたSign-in page URLを入力
    ログアウトページのURLに5.で表示されたSign-out page URLを入力
    パスワード変更用URLに5.で表示されたChange password URLを入力
    確認用の証明書に5.でダウンロードしておいた証明書をアップロード
  8. 設定が反映され以下のような画面が表示されたらSPの詳細にあるエンティティIDの末尾にあるrpid=に続く英数字をコピーしておきます。
  9. Oktaの画面に戻りRPIDに8.でコピーした値をペースト、Doneをクリックします。
  10. Assignmentsタブに移動し、SSOを行いたいユーザーをアサインしておきます。
  11. Google Workspaceの画面に戻りセキュリティ>サードパーティのIdPによるSSO内のサードパーティのSSOプロファイルに作成したサードパーティのSSOプロファイルが反映されていることを確認します。
  12. サードパーティのSSOプロファイルの下にあるSSOプロファイルの割り当ての管理内の管理をクリックします
  13. サードパーティのSSOプロファイルを適用したい組織部門を選択します。
  14. 次にSSOプロファイルの割り当ての管理で別のSSOプロファイルにチェックを入れ、選択肢から設定を行ったSSOプロファイルを選択し、オーバーライドをクリックします。
  15. 最後にサードパーティのSSOプロファイルを割り当てた組織部門に10.でアサインしたユーザーを所属させておきます。
  16. 最後に割り当てたユーザーで正常にSSOログインが可能であることを確認します。

考察

基本的に組織向けのサードパーティのSSOプロファイルとの設定が異なる点はIDP entity IDとRPIDを指定する部分のみです。おそらくRPIDにて複数設定可能なサードパーティのSSOプロファイルを識別しているようです。

英語表記版View Setup Instructionsへの切り替え方法

View Setup Instructionsを日本語表記から英語表記変えたい場合はView Setup Instructionsを表示しているURLが以下のように_ja-JPが含まれているのでこの部分を削除することで英語表記に変更ができます。

https://saml-doc.okta.com/SAML_Docs/How-to-Enable-SAML-2.0-in-Google-Apps_ja-JP.html?baseAdminUrl=https://<YourOktaSubdomain>-admin.okta.com&app=google&instanceId=<AppInstanceID>

もしくはOktaダッシュボードから個人の設定で言語設定をEnglishとし、再度Okta管理画面からView Setup Instructionsを開き直すことでも切り替えが可能です。

こんな時に嬉しい

カタログアプリがGoogle WorkspaceのマルチIdPに対応することで設定が容易になり、特に以下のパターンでより柔軟な構成が取りやすくなったのではないでしょうか。

Okta以外のIdPを設定済みでOktaへ乗り換えを実施する場合

現在、Okta以外のIdPを利用している場合に、一旦、サードパーティのSSOプロファイルとしてOktaを設定をし少数のユーザーで挙動を確認するというニーズに最適です。

挙動確認後に切り替え時を行う場合はSSOプロファイルの割り当ての調整と組織向けのサードパーティのSSOプロファイルに対して設定を上書きし、Okta側ではRPID部分を削除するだけで切り替えが可能となります。

挙動を確認したOkta環境にほとんど変更を加えずに乗り換えが可能となるため、作業時時のリスクが低減できる点は嬉しいポイントです。

複数のOktaテナントでの利用やあえてOktaアプリケーションを分けたい場合

例えば買収した会社などがすでにOktaを利用している場合など、複数のOktaテナントが存在する場合などにサードパーティのSSOプロファイルを追加することで対応を行うことができます。

また、あえてOktaアプリケーションを分けたいというニーズにも柔軟に対応できます。具体的には企業で運営しているYoutubeアカウントなど人に紐づかないGoogle Workspaceアカウントを管理しなければならない場合のSSOを実現する方法として活用できます。

上記の例ではYoutubeアカウント専用のOktaアプリケーションを作成し、アサインされた人は自身のアカウントではなくYoutubeアカウントとしてログインされるようにOkta側でusername設定を変更しておきます。Google Workspace側でもYoutubeアカウント専用のサードパーティのSSOプロファイルを作成し対応させることでOktaダッシュボードに個人用とYoutubeアカウント用の2つが並ぶイメージとなります。このような設定もカタログアプリを利用できることでこれまでもより容易に実現できます。

まとめ

世の中にマルチIdPに対応したSaaS自体が少ないなか、Google Workspaceのような実装であってもOkta側で対応してくれたのはさすがだなと感じました。SSOやProvisioning設定を簡潔に実現してくれるところがOktaらしさだなと再認識しました。

それでは今日はこのあたりで?

たつみん

事業会社の情シスからクラウドネイティブにJoin!
好きなものはF1海外観戦とベルギービール!
集中力の質は深く長く遅い典型的なシングルタスクタイプです。