SAMLに対応していないサービスでもSSOしたい。~代理認証を設定する方法~

こんにちは。 Gluegent Gate開発チームです。
Gluegent Gateでは、様々な連携手法により、シングルサインオン(SSO)を実現することができます。
SSOを実現するための仕様はいくつかありますが、多くのクラウドサービスでは、SAML2.0を採用しています。
しかしながら、SAML2.0に対応していないサービスや、レガシーなシステムにおいてもSSOを実現したいと思う場合もあるかと思います。
そんな時に過去の記事 SAMLに対応していないサービスでもSSOしたいで「代理認証」オプションについてご紹介しました。
今回は Gluegent Gate の代理認証の設定と、設定の際にサービス側で必要となるパラメーターの確認方法について紹介します。
パラメーターの確認方法
前提:Google ChromeまたはFirefoxブラウザで操作します。
GoogleなどログインIDとパスワード入力画面が別の画面で操作が必要なサービスは本設定では対応できません。
今回紹介する例としてSalesforceのログイン画面で確認します。
1. ブラウザの拡張機能でSAML-tracerをブラウザに追加
確認するブラウザで以下のURLにアクセスし、SAML-tracerを追加します。
Chromeの場合:Chrome拡張機能 SAML-tracer
Firefoxの場合:Firefox拡張機能 SAML-tracer
ブラウザの右上の拡張機能( マーク)を選択し、拡張機能の管理を開き、SAML-tracerが有効であることを確認します。
シークレットモードでの実行を許可する(Firefoxの場合:プライベートウィンドウでの実行)の設定を許可します。
2. SAML-tracerをひらく
ブラウザをシークレットモードで開きます。
ブラウザの右上の拡張機能( マーク)からSAML-tracerを開きます。
3. 代理認証を設定したいサービスのログイン画面にアクセスしログインする
SAML-tracerを開いたブラウザで代理認証を利用するサービスのIDとパスワード情報を入力するログインページへアクセスします。
ログインに必要な情報を入力し、ログインボタンを押下します。
ログインが正常に行えたことを確認します。
4. SAML-tracerでログインに必要なパラメーターを確認する
開かれているSAML-tracerを選択し、「Pause」を選択します。
ログインボタンを押下した際のアクセス情報を選択します。
選択したアクセス情報の「Parameters」タブを選択します。
GETまたはPOSTであるかとログイン時に送信されているパラメーターとその値を確認します
記載されている内容がパスワードログイン時に送信しているパラメーターになります。

Gluegent Gateで代理認証の設定を行う
1. Gluegent Gateでアプリケーションの作成
Gluegent Gateの管理画面にログインし、メニューのシングルサインオン >代理認証から登録タブを選択します。
以下の通りに入力して保存をクリックします。
- アプリケーションID:任意
- アプリケーション名:任意(英字・簡体字も同様)
- メソッド:POST or GET SAML-tracerで取得したログイン情報送信時のメソッド
- ブラウザーアドオン:無効
- ログインURL:ログイン画面のURL
- ユーザーIDの属性:SAML-tracerで取得したパラメーター
- ユーザーIDのパラメーター:ログインIDの属性
- パスワードのパラメーター:SAML-tracerで取得したパスワードのパラメーター
- 送信データ:IDとパスワード以外に送信するパラメーター情報
※確認方法 4. で記載されているパラメーターにはセッション情報等サービス側で生成されるものも存在するので、設定するパラメーターの要否は調整してください。
入力が完了したら、保存ボタンをクリックします。
2. Gluegent Gate ユーザーへ代理認証サービスの許可
Gluegent Gate管理画面のメニューからユーザー >一覧を選択します。
任意のユーザーの編集画面に移動します。
許可するサービスの中から、4. で登録したアプリケーション名にチェックを入れます。
チェックを入れたら、更新ボタンをクリックします。
3. Gluegent Gate アクセス権限ルールの作成
Gluegent Gate管理画面のメニューからアクセス権限 >新規登録を選択します。
以下の通りに入力して保存ボタンをクリックします。
- ID:任意
- アクセス先のサービス:4.で登録したアプリケーション名を選択
- 要求される認証方式:今回は「ID/パスワード認証」を選択
- クライアント:PC、スマートフォン、タブレットから利用するものを選択
- 権限の状態:有効
入力が完了したら、保存ボタンをクリックします。
4. Gluegent Gateの代理認証でサービスにアクセスする
https://auth.gluegent.net/sso/clientlogin.php?sso_app=<アプリケーションID>&tenant=<テナントID>
へアクセスします。
Gluegent Gateのログイン画面が開くので、ログイン情報を入力します。
ログイン後、代理認証先の画面にリダイレクトされます。
代理認証サービスにログインができていれば、成功です。