Entra IDでSalesforceへSSO&ユーザー自動プロビジョニング!実践手順まとめ

1.はじめに

こんにちは。NTT西日本の谷本です。

今回はMicrosoft Entra IDでSalesforceへのシングルサインオン(SSO)とユーザー自動プロビジョニングの実践的な手順をまとめます。
本記事では、手順を解説するだけでなく、実際にあったエラーとその回避方法もご紹介します。
※本記事の手順は 2025/11 記事作成時点のもので、Salesforceの無料開発者用アカウント(Developer Edition)で実施したものです。本番環境への適用に際しては、十分な検証を行った上で、ご自身の責任において実施してください。

2.対象読者

本記事が想定する対象読者は以下の通りです。

  • Microsoft Entra IDに興味をお持ちの方
  • Microsoft Entra IDを利用されている方
  • SalesforceとのSAML連携に興味をお持ちの方

3.検証の概要と前提条件

 今回の実践手順では以下の図のようにMicrosoft Entra ID Admin Centerでの設定作業とSalesforceでの設定作業を交互に行います。
 Microsoftの公式ドキュメントは以下になります。 learn.microsoft.com

本記事内容の前提条件は以下になります。

  • Microsoft Entra ID P1ライセンスが紐づいたユーザー
    Salesforceへの SSOのみの場合はMicrosoft Entra ID Freeライセンスで実装可能です。またユーザーを指定したユーザー自動プロビジョニングもMicrosoft Entra ID Freeライセンスで実装可能です。
    しかし今回の検証ではグループを指定し、グループに属するユーザーを自動プロビジョニングするように構成しているためMicrosoft Entra ID P1ライセンスが必要です。
    詳細は以下の公式ドキュメントをご参照ください。 learn.microsoft.com

  • 次のいずれかのロール
      -アプリケーション管理者
      -クラウドアプリケーション管理者
      -アプリケーション所有者
    今回の手順作成時は最も包括的な権限を持つグローバル管理者ロールを割り当てています。
    本番環境で運用する場合は、最小権限の原則に従い、上記のロールを割り当てることが推奨されます。

  • SSO が有効な Salesforce のサブスクリプション
    今回の検証ではSalesforce Developer Editionを用いて実践手順を作成しております。
    Salesforce Developer Editionアカウントの作成方法は4-0【事前準備】検証用のSalesforceのアカウント作成を行う。に記載しております。
    またSalesforce Developer Editionの制約もありますので、5-1.Salesforceのプロファイルについてをご参照ください。

4.実践手順について

4-0.【事前準備】Salesforce Developer Editionのアカウント作成を行う

【事前準備】の作業はSalesforceで設定作業を行います。
まず以下ページより、Salesforceの無料開発者用アカウント(Developer Edition)にサインアップします。

https://www.salesforce.com/form/developer-signup/
サインアップにはメールが受け取ることが可能なメールアドレスを利用してください。

作成したアカウントでSalesforceにログインし、[設定]からテナント情報を確認します。

以下のようにアクセスし作成したSalesforceのカスタムドメイン情報を確認します。

4-1.【作業1】SalesforceアプリをMicrosoft Entra IDテナントに追加する

【作業1】の作業はMicrosoft Entra ID側で設定作業を行います。

まずMicrosoft Entra IDにアクセスし、左側のエンタープライズアプリケーションのタブから遷移し、新しいアプリケーションの追加を行います。

検索タブに「Salesforce」と入力し検索を行い、Salesforceのアプリケーションを選択します。アプリケーションに対して名前を入力し作成します。

今回はSalesforce_tanimotoと名前を付けたアプリケーションを作成しました。

以下のように作成されたことを確認します。

4-2.【作業2】SalesforceテナントのSSOを構成する。

【作業2】の作業はMicrosoft Entra ID Admin Centerで設定作業を行います。
先ほど作成したSalesforce_tanimotoに移動し、シングルサインオンの設定項目からSAML方式を選択します。

SAMLによるシングルサインオンのセットアップの項目の①基本的なSAML構成を編集します。

基本的なSAML構成の識別子、応答URL,サインオンURLにhttps://"Salesforceのカスタムドメイン名"を入力します。
Salesforceのカスタムドメイン名の確認方法は4-0.【事前準備】Salesforce Developer Editionのアカウント作成を行う。を参照してください。

②属性とクレームに関しては今回は設定を行いません。なお、この項目ではMicrosoft Entra IDとSSOさせたいシステムでユーザー名やドメイン名が異なる際にユーザー情報を紐づける設定を行います。
③SAML証明書のフェデレーションメタデータXMLをダウンロードします。このXMLファイルを用いてSalesforce側の設定を行っていきます。

4-3.【作業3】Microsoft Entra IDテナントへのSSOを構成する。

【作業3】の作業はSalesforceで設定作業を行います。
Salesforceの[設定]-[ID]-[シングルサインオン設定]から編集を行います。

SAMLの有効化にチェックを入れて、保存します。

SAMLシングルサインオン構成の[メタデータファイルから新規作成]を選択し、Microsoft Entra IDから取得したフェデレーションメタデータXMLファイルをアップロードします。

フェデレーションメタデータXMLの情報を基にした構成が作成されます。構成の名前がデフォルトではstsになっているため今回はEntra SSOに変更しています。

[設定]-[会社の設定]-[私のドメイン]の認証設定を編集し、ユーザー認証時に表示するログインフォームを指定します。既定ではログインフォームとシングルサインオン構成の両方が有効化されています。

今回は既定のまま保存します。

既定の設定のままだと以下のようなログイン画面が作成されます。この画面はMicrosoft 365ポータル以外からSalesforceへログインする際に表示されます。赤枠がログインフォームになっており、青枠にはEntraでSSOするためのURLが埋め込まれています。

設定画面からシングルサインオン構成のみ有効にするとMicrosoft 365ポータル以外からSalesforceへログインしようとした際に、いきなりMicrosoft Entra IDでの認証を求める画面へ遷移します。

4-4.【作業4】Salesforceアプリへのアクセス許可をユーザーに割り当てる。

【作業4】の作業はMicrosoft Entra ID Admin Centerで設定作業を行います。
Salesforce_tanimotoの画面からユーザーとグループを選択し、ユーザーまたはグループの追加を行います。

左のユーザーとグループからアクセス権を割り当てたいグループを選択します。グループを選択した際には、該当グループに所属しているユーザーにアクセス権、同じロールが割り当てられます。
今回はAccessPackage_tanimotoという割り当て済みメンバーシップのグループ(俗にいう静的グループ)を追加しています。

同じく左のロールを選択してくださいから選択したユーザーとグループに対して、どのようなロールを割り当てるかを選択します。
ここで指定するロールはSalesforce側のプロファイルになっています。今回はChatter Free Userというプロファイルを選択しています。プロファイルの選択はSalesforce Developer Editionの制約にも関係していますので、詳細は5-1.Salesforceのプロファイルについてを参照してください。

エンタープライズアプリケーションへのアクセス権がきちんと割り当たっていれば、Microsoft 365ポータルやマイアプリポータルから確認ができます。以下の画像はM365ポータルの画面になっています。ポータルに表示されなくても、何度かページを更新すると表示されることがあるので注意が必要です。

補足になりますが、SAML連携の証明書は通常有効期限が3年ですので、運用時の注意点として証明書の期限切れ前の更新や監視が必要になります。SAML署名証明書についての詳細は以下の公式ドキュメントをご参照ください。

learn.microsoft.com

4-5.【作業5】Salesforceユーザーの自動プロビジョニングを構成する。

【作業5】の作業はMicrosoft Entra ID Admin CenterとSalesforceの両方で設定作業を行います。
Salesforce_tanimotoの画面からプロビジョニングを選択し、設定を行います。

プロビジョニングを選択すると以下の画面に遷移し、中央の作業を開始から設定を行います。

新しいUI(2025/11~)では以下の画面に遷移します。
上部の[新しい構成]からも設定できますが、今回は左のバーの[プロビジョニング]から設定を行います。

まず[プロビジョニングモード]から自動を選択します。

次に[管理者資格情報]の赤枠内を設定していきます。
[テナントのURL]にはhttps://"Salesforceのカスタムドメイン名"を入力します。
[管理者パスワード]、[管理ユーザー名]にはユーザープロビジョニングを行うSalesforceテナントの管理者アカウントとパスワードを入力します。今回はSalesforce Developer Editionのアカウント作成時に作成した管理者アカウントのIDとパスワードを入力します。

最後に[管理者資格情報]の青枠で示す[シークレットトークン]の設定をしていきます。
シークレットトークンを得るためにはシークレットトークンのリセットが必要になります。シークレットトークンのリセットはSalesforceで実行します。

Salesforceの管理者でログインし、Salesforceの右上のアイコンから設定を開きます。

[私の個人情報]-[私のセキュリティトークンのリセット]からセキュリティトークンのリセットを行います。

セキュリティトークンのリセットを行うと以下のようなメールが送信されます。メール中のセキュリティトークンを青枠の[シークレットトークン]に入力します。

最後に[テスト接続]を押下し、赤枠、青枠に入力した情報でアカウントプロビジョニングが可能かの検証を行います。
緑のチェックが表示されれば、入力した情報でプロビジョニングが可能な状態です。

[設定]の項目から[割り当てられたユーザーとグループのみを同期する]を選択します。この設定を行うことでエンタープライズアプリケーションのアクセス権が割り当てられたユーザーとグループのみプロビジョニングされます。
[プロビジョニング状態]をオンにし、設定を保存します。

プロビジョニング状態をオンにすることで、以下の画像のようにアクセス権が割り当てられたユーザーと、割り当てられたグループに所属するユーザーが追加されます。
Salesforceの場合、デフォルトで割り当てられているマッピングルールだけでは設定情報が足りないので、5-3.ProfileIdのマッピングエラーについてをご参照ください。
基本的に40分間隔でユーザー同期処理が発生します。ユーザー指定ではなく、動的グループなどを指定している場合は内部処理の関係でユーザー同期タイミングが少し遅れることがあるようです。

Salesforce側でも[設定]-[ユーザー]-[ユーザー]からプロビジョニングされたユーザーを確認することができます。
Microsoft Entra IDの設定でプロビジョニング済のユーザーからアプリケーションのアクセス権を削除した場合、Salesforce側では青枠のように有効のチェックが外れた状態へと更新されます。

5.各種エラーについて

手順作成に当たって対応したエラーをまとめました。

5-1.Salesforceのプロファイルについて

Salesforce Developer Editionでは通常ユーザー用のプロファイルを持ったユーザーのプロビジョニングは2名までしかサポートされていません。それ以上のユーザーを作成しようとした際に以下のエラーが出力されます。今回の手順書では通常ユーザー用のプロファイルではないChatter Free Userを指定しているので人数制限はありません。

5-2.Salesforceからのプロファイル同期エラーについて

Salesforce側で同じ名前のプロファイルがあるために発生しているエラーです。Microsoft Entra ID側ではSalesforceのプロファイルは一意である必要がありますが、Salesforce Developer Editionではプロファイル削除ができないので回避ができません。

以下の赤枠のプロファイル名が重複してます。

5-3.ProfileIdのマッピングエラーについて

ユーザープロビジョニングに必要なProfileIDという属性情報が足りないというエラーになっています。
このエラーを回避するためにデフォルト作成されるマッピングルールにProfileID属性を追加します。

エンタープライズアプリケーションからSalesforceアプリを選択し、[プロビジョニング]タブの[マッピング]から既定のマッピングルール(Provision Microsoft Entra ID Users)を選択し、設定を行います。

新しいUI(2025/11~)では以下の画面に遷移します。
エンタープライズアプリケーションからSalesforceアプリを選択し、[属性マッピング]から既定のマッピングルール(Provision Microsoft Entra ID Users)を選択し、設定を行います。

画面下部の[新しいマッピングの追加]に情報を入力します。

[属性の編集]より必要な情報を入力します。
まず赤枠部分の[マッピングの種類]についてです。今回はユーザーに割り当てるプロファイルがChatter Free Userのみであるので[マッピングの種類]は定数になっています。
実際に導入する際には、Microsoft Entra IDの属性をもとにプロファイルを振り分けることがほとんどだと思います。その場合は[マッピングの種類]で直接を選択し、Microsoft Entra IDのユーザー属性値を引数にしてください。また[マッピングの種類]でを選択した場合、関数などを記述して複雑な処理を実行させることが可能になります。式の詳細については以下に公式リファレンスがありますので、参考にしてください。

learn.microsoft.com 次に[対象の属性]ですが、エラーの原因であるProfileIDをプルダウンから選択します。
最後に青枠部分についてです。定数の場合は[定数値]にSalesforce側のプロファイルを識別するための文字列を入力する必要があります。確認方法は後述します。
必要情報の入力ののち[OK]を選択し、設定を反映させます。

Salesforce側のプロファイルを識別するための文字列の確認方法ですが、私は該当のロールのURLで確認を行いました。
Salesforceの[設定]-[ユーザー]-[プロファイル]を選択し、割り当てたいプロファイルを選択します。

上部のURLの末尾からプロファイルを識別するための文字列を確認します。
URLの末尾が、/page?address=%2F[プロファイルを識別するための文字列]のような構成になっています。

5-4.ユーザープロファイルの更新に関するエラーについて

一度通常ユーザープロファイルを割り当てたユーザープロファイルをChatter Free Userに上書きしようとした際に出るエラーです。  

5-5.同名のユーザーに関するエラーについて

別のSalesforceテナントにて同じユーザー名が存在するというエラーになっています。

6.まとめ

本記事では、Microsoft Entra ID と Salesforce を連携させ、SSOとユーザー自動プロビジョニングを構成するための実践的な手順を紹介しました。
特に、SAML構成の設定やプロビジョニング設定における注意点、そして実際に発生したエラーとその回避方法を解説しました。
導入時には、ライセンス要件や適切なロールへの属性マッピングを設定することが重要です。
本記事が、Microsoft Entra IDとSalesforceの連携を検討されている方の参考になれば幸いです。

7.執筆者

谷本 有正(NTT西日本 ビジネス営業部所属)
現在、教育委員会向けに、Microsoft製品を中心としたゼロトラストセキュリティの提案業務に従事しています。

8.商標

Microsoft製品に関する商標 「Microsoft Entra ID」、「Microsoft 365」は、米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Salesforceに関する商標 「Salesforce」は、Salesforce.com, Inc.の米国およびその他の国における登録商標または商標です。

© NTT WEST, Inc.