
【Azure AD】SalesforceのSSO設定で自動ログインを実現しよう(前編)
コンサルタントの永井です。
今回はAzure ADを活用したSalesforceのシングルサインオン設定についてお伝えします。
Azure AD(Azure Active Directory)とは…
Microsoft社が提供するアクセス管理サービスです。企業や組織が社員(ユーザー)の管理をしたり、安全にクラウドサービスを利用できるようにセキュリティを強化する管理ツールのこと。
ざっくりMicrosoftアカウントを管理するためのシステムのことです。
SSO(シングルサインオン)とは…
ユーザーが複数のアプリケーションやサービスにアクセスする際に、1回の認証プロセスで一度ログインするだけで、それ以降は別のアプリケーションにアクセスする際に再び認証情報を入力する必要がなくなる、という仕組み。
身近な例でいうと、マイナンバーカードを持っていれば
・手続きで身分証明書が必要なときにマイナンバーカードだけで済む
・役所に行かなくてもコンビニで住民票を発行できちゃう
・健康保険証の代わりになる
これのシステム版だ、と理解してもらえると分かりやすいです。
つまり…「Microsoftアカウントにログインしちゃえば、SalesforceにわざわざIDとパスワードを打たなくても自動でログインできるようになる!」
これを今回は実現したいと思います。それではLet's GO!!
事前準備
Azure組織アカウント(今回は検証用に無料アカウントを作成しました)
Salesforce環境(今回はDeveloper Edition環境を用意しました)
(補足)Azure無料アカウントの作成方法
https://azure.microsoft.com/ja-jp/get-started/azure-portalにアクセスし、アカウント作成を行ってください。(30日間無料で使用できます)

(補足)SalesforceのDeveloper環境の作成方法
https://developer.salesforce.com/jpblogs/2016/04/developer-edition-signup/にアクセスし、手順に従って作成してください(こちらは無期限に利用可能です)
設定の概要
Azure ADを使用したSalesforceのSSO設定を行うには、大きく分けて2つの設定が必要になります。
Azureの環境↔Salesforceの環境を接続する設定

Azureで管理されているMicrosoftユーザとSalesforceユーザの紐づけを行う設定(こちらは後編にて解説します!)

それではAzureとSalesforceの環境設定について解説していきます。
※以後の手順は、情報システム系の部署などシステム管理者の方々に作業いただく作業になりますので、システム管理者用のアカウントで操作をお願いします。
1.Salesforceドメインの取得
まずは、Azure側へ設定するためのSalesforceのドメイン情報を取得します。


ドメインの取得は以上です。
2.Azure AD アプリケーションの作成
次にAzure側でSalesforceに接続するための設定を行います。
Azureのポータルサイトにログインします。

Azureポータルにログインできたら、Salesforceとの接続用のアプリケーションを作成します。
手順としてはAzure側でアプリのテンプレートが用意されているので、そちらをダウンロードし設定情報を入力する、といったイメージです。




アプリケーションの作成は完了です。
次に接続用の設定手順についてをお伝えします。
3.SSOのSAML構成のAzure設定
アプリケーションの作成が完了したら、実際のアプリケーションの中身を設定していきます。
SAML(Security Assertion Markup Language)とは…
主にシングルサインで使われる、異なるシステム間での認証と認可の情報を交換するための標準プロトコル(システム上の取り決めやルール)のこと
身近な例ですと
ATMからお金を引き出したいとき、キャッシュカードと暗証番号さえあれば自分の口座の銀行のATM以外でも(手数料は取られちゃいますが)お金が引き出せますよね。
システム同士で認証・認可の情報交換ができるように設定してあげることで、シングルサインオンを実現することができます。




「フェデレーション メタデータ XML」がSalesforce側にわたす証明書情報になります。次の工程ではXMLファイルを用いてSalesforce側の設定を行います。
4.SSOのSAML構成のSalesforce設定
Azure側でエクスポートしたxmlファイルを使用して、Salesforce側のSSO設定を行います。



xmlファイルの読み込みである程度の情報は入力されましたが、手入力で埋める箇所を以下で解説します。


設定の保存が終わったら、シングルサインオンの有効化を行います。


「私のドメイン」側で、先ほど設定したSSOでのログイン方法を有効化します



以上で環境設定は完了になります。
後編では、MicrosoftユーザとSalesforceユーザの紐づけ方法について解説いたします。
CREFILではプロジェクトで得たナレッジやつまづいた箇所などを定期的に投稿しております。
もし参考になった方は「スキ」をよろしくお願いします。
では、また後編でお会いしましょう!
※Microsoft Azure は、マイクロソフト グループの企業の商標です。