こんにちはCI事業部の川瀬です。
今回はSalesforceを使用してSSOを実現したいと思います。具体的はAnypoint Platformにログインするときに「Salesforceアカウントを使用」しますということになります。
具体的には以下のサイトを手掛かりに設定を行うのですが、よく分からないので、図で示しながら、簡潔に説明していきます。 docs.mulesoft.com
では、Salesforceの設定から実施していきましょう。
1. Salesforceで「私のドメイン」を設定する。
2. Salesforceで「IDプロバイダの有効化」を有効化する。
3. Salesforceで「接続アプリケーション」を作成する。
下記の画面で、「接続アプリケーション名」、「API 参照名」、「取引先責任者 メール」に対し、任意の値を設定してください。
下記の画面で、「SAML の有効化」をチェックしてください。そうすると、いくつかの項目は自動で生成されるのでそのままで大丈夫です。 次に、「開始 URL」、「エンティティ ID」、「ACS URL」に対し値を設定していきます。
3.1 「開始 URL」の設定
「https://anypoint.mulesoft.com」を設定してください。
3.2 「エンティティ ID」の設定
Anypoint Platformの組織ドメインをDOMAIN-NAMEとすると、「DOMAIN-NAME.anypoint.mulesoft.com」を設定してください。 組織ドメインは以下の図の箇所で確認できます。
3.3 「ACS URL」の設定
私がいろいろ調べたのですが、よく他の記事では「ACS URLはサービスプロバイダで取得した値を設定してください。」と記載されています。じゃ、MuleSoftの場合は何ですか?となります。 どこかに記載してあるのかもしれませんが、この段階では実は存在しないのです!ここがポイントです。 なので、適当に「http://hoge.hoge.com」で最初は大丈夫です。この状態で「保存」ボタンを押します。
3.4 「メタデータ」のダウンロード
下記の画面(アプリケーションマネージャで作成した接続アプリケーションのManageを選択)で「メタデータのダウンロード」を選択し、Salesforceの設定情報をダウンロードし保存します。
4. 「Identity Provider」の設定
ここからは、Anypoint Platformの作業になります。 Access Managementの「Add Identity Provider」→「SAML 2.0」を選択します。
4.1 「メタデータ」のアップロード
手順3.4でダウンロードしたメタデータを「Chose file」を選択しアップロードします。
4.2 「Name」、「Sign Off URL」、「Audience」の設定
アップロードとすると、以下の図のようになります。アップロードしたほうが遥かに簡単です。
「Name」は適当に設定してください。
「Sign Off URL」は「≪Issure≫/services/auth/idp/saml2/logout 」と設定してください。
≪Issure≫はメタデータをアップロードした時に設定されています。4.1の図を見てください。
「Audience」は手順3.2と同じで「DOMAIN-NAME.anypoint.mulesoft.com」となります。 設定したら、「Save Changes」を押します。
4.3 「ACS URL」の取得
保存したら、再度、開いてください。図のようにACSが設定されています。
5. Salesforceに「ACS URL」を設定する
手順3.3で「http://hoge.hoge.com」を設定しましたよね。これを手順4.3で取得した値に置き換えます。
6. SSOの確認
Anypoint Platformにログインしている場合は、一旦、ログアウトし、下記のURLブラウザに入力してください。
https:/anypoint.mulesoft.com/accounts/login/DOMAIN-NAME
DOMAIN-NAMEは手順3.2で確認したもの
Salesforceのログイン画面がでてきてログインできましたか?成功するとAnypoint Platformのユーザーに以下のようなユーザーが登録されています。
今回は、SAMLを使用しましたが、次回はOpenID Connectで設定する方法を紹介します。こちらも、少しクセがあります。