
【Azure AD】SalesforceのSSO設定で自動ログインを実現しよう(後編)
コンサルタントの永井です。
今回はAzure ADを活用したSalesforceのシングルサインオン設定についてお伝えします。
前編の記事では、Azure ADとSalesforce環境を紐づける設定について解説いたしました。
後編ではMicrosoft(Azure)ユーザとSalesforceユーザの紐づけ方法について解説いたします。
本記事のゴール
Microsoftアカウントにログインしちゃえば、SalesforceにわざわざIDとパスワードを打たなくても自動でログインできるようになる
設定の概要
Azure ADを使用したSalesforceのSSO設定を行うには、大きく分けて2つの設定が必要になります。
(前編)Azureの環境↔Salesforceの環境を接続する設定

1.Salesforceドメインの取得
→Salesforce環境の情報を取得
2.Azure AD アプリケーションの作成
→Azure側でSalesforceの接続設定を行う
3.SSOのSAML構成のAzure設定
→Azure側でシングルサインオンに必要な環境設定を行う
4.SSOのSAML構成のSalesforce設定
→Salesforce側でシングルサインオンに必要な環境設定を行う
(本記事)Azureで管理されているMicrosoftユーザとSalesforceユーザの紐づけを行う設定

ユーザーが実際にログインできるようになるための設定を解説します。
補足
Azure AD(Azure Active Directory)とは…
Microsoft社が提供するアクセス管理サービスです。企業や組織が社員(ユーザー)の管理をしたり、安全にクラウドサービスを利用できるようにセキュリティを強化する管理ツールのこと。
ざっくりMicrosoftアカウントを管理するためのシステムのことです。
SSO(シングルサインオン)とは…
ユーザーが複数のアプリケーションやサービスにアクセスする際に、1回の認証プロセスで一度ログインするだけで、それ以降は別のアプリケーションにアクセスする際に再び認証情報を入力する必要がなくなる、という仕組み。
身近な例でいうと、マイナンバーカードを持っていれば
・手続きで身分証明書が必要なときにマイナンバーカードだけで済む
・役所に行かなくてもコンビニで住民票を発行できちゃう
・健康保険証の代わりになる
これのシステム版だ、と理解してもらえると分かりやすいです。
それでは後編にLet's Go!
5.Salesforceユーザのセキュリティトークン発行
SalesforceユーザとAzureユーザを紐づけするための準備として、Salesforceにログインしセキュリティトークンを再発行します。
セキュリティトークンとは…
セキュリティトークンは、SSOを実現するための重要な要素であり、ユーザーが一度のログインで複数のサービスにアクセスできるようにする仕組みです。このトークンにはユーザーの認証情報が含まれており、各サービスがそれを確認することで、再度ログインする手間を省いています。
ユーザーがログイン
↓
認証サーバーがユーザーを確認し、トークンを発行
↓
ユーザーが他のサービスにアクセスするとき、トークンを送信
↓
各サービスがトークンを確認し、アクセスを許可
セキュリティトークンをリセットすることで、古いセキュリティトークンでは認証できなくなります。再発行することでセキュリティを維持し、不正アクセスを防ぐことができます。
「Salesforceのシステム管理者ユーザーがAzure ADでログインするための認証情報を発行する」手順だと捉えていただければOKです。


※Salesforce環境が他のシステムやアプリケーションと接続されている場合、セキュリティトークンをリセットしてしまうと認証情報が切れてしまい、連携ができなくなってしまう可能性がある点をご注意ください
セキュリティトークンが再発行されると、システム管理者ユーザーのメールアドレスへ新しいセキュリティトークンの通知メールが送信されます。

次の章では、再発行したセキュリティトークンをAzure側に設定する手順を解説します。
6.Azureの自動ユーザープロビジョニング構成の設定
先ほど再発行したSalesforceのセキュリティトークン(Salesforceの管理ユーザの認証情報)をAzure ADに設定します。
ユーザープロビジョニングとは…
ユーザの権限や認証情報を他システムと同期・管理することです
Azure AD側にもどり、ユーザプロビジョニング設定を行います。


Salesforce管理者ユーザーの認証情報を設定します。
(シークレットトークン=Salesforce側で発行したセキュリティトークンのことです)

テスト接続を行い、入力した認証情報でSalesforceにログインできるかを確認します。テスト接続に成功したら保存します。

Azure AD ↔ SalesforceのSSOログインの下地が整いました。
次は、どのWindows(Azure)ユーザーをSSOログインの対象にするかの設定を行います。
7.Azureユーザをプロビジョニング対象に設定
Azure側で管理しているユーザのうち、SalesforceのSSO認証を許可するユーザを指定します。





SSOを許可するユーザーの追加ができたので、次はSalesforce側でユーザー設定を行います。
8.SalesforceユーザへAzureのユーザ情報を付与
先ほどの手順でAzure側のどのユーザーをSSOログイン許可するかの設定を行いました。
SalesforceユーザーにAzure側のユーザー情報を付与することで、利用メンバーがSSOログインできるようになります。(この手順を行わないと、環境同士は繋がっているのにユーザー同士が紐づかないのでログインに失敗します)

ユーザー情報の「統合ID」の欄に、Windowsユーザーの「ユーザープリンシパル名」を入力して保存します。(これによって、SalesforceユーザーとWindowsユーザーが同一人物かどうかが判定されます)

お待たせしました。ようやく全ての設定が完了です。
実際にログインを試みると、IDとパスワードを入力しなくても勝手にSalesforceにログインできることが確認できます。

いかがでしたでしょうか?
SalesforceのSSO設定はクセがありますが、1度設定してしまえば社内のユーザーは面倒なログイン作業が不要になります。
ぜひ設定を検討してみてください!!
CREFILではプロジェクトで得たナレッジやつまづいた箇所などを定期的に投稿しております。
もし参考になった方は「スキ」をよろしくお願いします。
では、またお会いしましょう!
※Microsoft Azure は、マイクロソフト グループの企業の商標です。