Workspace ONE Accessはその名の通りSaaSなどへのアクセス管理をすることができる製品ですが、Identity Providerの役割を果たすことも可能で、以下のフェデレーションプロトコルに対応しています。
-WS-Federation
-SAML
-OpenID Connect
WS-FederationはOffice365と連携する際などに利用したりするヤツですね。
個人的な感覚では、クラウドサービスはSAML認証に対応しているものが多いのでWorkspace ONE Accessと認証連携する場合、SAMLを利用するケースが一番多い気がします。
また、設定ガイド(SAML ベース SSO 統合のドキュメント センター)なんかも公開されており、連携のハードルは比較的低いと思います。
一方で、OpenID Connectの利用に関してはかなり情報が少ない気がしてます...
ただ、OpenID Connectも認証連携の仕組みとしては代表的なものの一つではありますので、今回はOpenID Connectを使用してWorkspace ONE Accessと認証連携をしてみたいと思います。(連携先のサービスにはRedmineを使用します。)
まずはWorkspace ONE Accessの管理コンソールでの作業です。
カタログ>Webアプリケーション とクリックして、Workspace ONE Accessのアプリカタログに載せるWebアプリの一覧を開き、「新規」をクリックします。
「名前」に入力した値はそのままユーザーのアプリカタログに表示されるので、わかりやすい名称にします。入力したら次に進みます。
【補足】
いくつかのサービスは連携用のテンプレートがあり、「またはカタログから参照」をクリックすることで利用が可能です。今回使用するRedmineについても、SAML連携であればテンプレートがあるので比較的カンタンに設定できると思います。
まずは、「認証タイプ」で「OpenID 接続」を選びます。(おそらくOpenID Connectが訳されているのでしょうが、何か違うような...)
すると、OpenID Connect連携用の設定項目が現れるので、各設定を入れていきます。
「クライアントID」と「クライアント シークレット」は後程連携するサービス側、今回で言うとRedmine側で指定する必要があるので、控えておきます。
【補足】
「VMware Browserで開く」という設定は、iPhoneやAndroidなどのモバイルデバイスからこのアプリが起動されたときに、「Workspace ONE UEMのセキュアブラウザで開くように強制的するか否か」という設定です。セキュアブラウザにはコピー&ペーストを禁止するなど細かなDLP制御が掛けられるので、センシティブな情報が含まれるWebアプリなどはこれをオンにしておくと情報漏洩対策にも繋がります。
アクセスポリシーにはこのアプリに対して割り当てる認証ポリシーを選択します。今回の主題はここではないので、デフォルトのポリシーである「default_access_policy_set」のまま次へ進み、最後に保存します。保存後は忘れずにユーザーに割り当て、Webアプリをユーザーのカタログに載せる設定は完了です。
また、カタログ>設定>リモートアプリアクセス に移動すると、Webアプリの追加時に設定した内容でOAuth2クライアントが作成されます。
次は、Redmine側のOpenID Connect連携設定です。今回はRedmine特有の設定方法ですが、おそらく他のサービスでも似たような設定になると思います。
RedmineのOpenID ConnectはGithubにある以下のプラグインを使いました。
「OpenID Connect server url」にはWorkspace ONE AccessのFQDNに続けて「/SAAS/auth」を続けた値(例:https://tenant.vmwareidentity.com/SAAS/auth)を入力し、「Client ID」と「Client Secret」にはWorkspace ONE Access側のアプリカタログ追加時に設定した値を入力します。
ここまでで設定については完了しましたので、実際に動作を見てみたいと思います。
Redmineのログインをキックすると...
Workspace ONE Accessのログインページにリダイレクトされるので、ログインします。
すると、データへのアクセス許可を求められるので、「Allow」をクリックします。(ここに表示されているのはRedmine側で指定したスコープです。)
【補足】
このアクセス許可要求の要否はWorkspace ONE Access側で指定してます。今回は動作としてわかりやすくするため要求するようにしましたが、省略することも可能です。
Redmineへのログインができました。
こんな感じで、「WebアプリがOpenID Connectにしか対応していない...」なんていう場合にもWorkspace ONE Accessで認証連携が可能です。
コメント
コメントを投稿