チュートリアル:Salesforce を構成し、自動ユーザー プロビジョニングに対応させる
このチュートリアルでは、Microsoft Entra ID から Salesforce にユーザー アカウントを自動的にプロビジョニング/プロビジョニング解除するうえで Salesforce と Microsoft Entra ID で実行する必要がある手順について説明します。
前提条件
このチュートリアルで説明するシナリオでは、次の項目があることを前提としています。
Microsoft Entra テナント。
Salesforce.com テナント。
Salesforce アカウントのユーザー名とパスワードとトークン。 今後、アカウントのパスワードをリセットすると、Salesforce から新しいトークンが提供され、Salesforce プロビジョニング設定を編集しなくてはいけなくなります。
Salesforce 内のカスタム ユーザー プロファイル。 Salesforce ポータルでカスタム プロファイルを作成したら、以下を有効にするようにプロファイルの管理権限を編集します。
API の有効化。
ユーザーの管理: このオプションを有効にすると、次のものが自動的に有効になります: アクセス許可セットの割り当て、内部 UsersManage IP アドレスの管理、ログイン アクセス ポリシーの管理、パスワード ポリシーの管理、プロファイルとアクセス許可セットの管理、ロールの管理、共有の管理、ユーザー パスワードのリセットとユーザーのロック解除、すべてのユーザーの表示、ロールと階層の表示、セットアップと構成の表示。
Salesforce ドキュメントの「プロファイルの作成またはクローン」も参照してください。
Note
アクセス許可をプロファイルに直接割り当てます。 アクセス許可セットを通したアクセス許可の追加は行わないでください。
Note
ロールのインポートを行う際に、Microsoft Entra ID でロールを手動で編集することは避けてください。
重要
Salesforce.com の試用アカウントを使用している場合は、自動化されたユーザー プロビジョニングを構成できません。 試用アカウントの場合、アカウントを購入するまでは、必要な API にアクセスできません。 無料の開発者アカウント を使用してこのチュートリアルを完了することで、この制限を回避できます。
Salesforce Sandbox 環境を使用している場合は、 Salesforce Sandbox の統合に関するチュートリアルを参照してください。
Salesforce へのユーザーの割り当て
Microsoft Entra ID では、選択されたアプリへのアクセスが付与されるユーザーを決定する際に "割り当て" という概念が使用されます。 自動ユーザー プロビジョニングのコンテキストでは、Microsoft Entra ID 内のアプリケーションに割り当て済みのユーザーやグループのみが同期されます。
プロビジョニング サービスを構成して有効にする前に、Salesforce アプリへのアクセスが必要な Microsoft Entra ID 内のユーザーやグループを決定しておく必要があります。 エンタープライズ アプリへのユーザーまたはグループの割り当てに関するページの手順に従って、これらのユーザーを Salesforce アプリに割り当てることができます。
ユーザーを Salesforce に割り当てる際の重要なヒント
単一の Microsoft Entra ユーザーを Salesforce に割り当てて、プロビジョニングの構成をテストすることをお勧めします。 さらに多くのユーザーやグループは、後で割り当てることができます。
Salesforce にユーザーを割り当てるときに、有効なユーザー ロールを選択する必要があります。 "既定のアクセス" ロールはプロビジョニングでは使えません。
Note
このアプリにより、プロビジョニング プロセスの一環として Salesforce からプロファイルがインポートされます。顧客は Microsoft Entra ID でユーザーを割り当てるとき、ロールを選択します。 Salesforce からインポートされたプロファイルは、Microsoft Entra ID ではロールとして表示されることに注意してください。
自動化されたユーザー プロビジョニングを有効にする
このセクションでは、Salesforce のユーザー アカウント プロビジョニング API - v40に Microsoft Entra ID を接続する手順を説明します。
ヒント
Salesforce では SAML ベースのシングル サインオンを有効にすることもできます。これを行うには、Azure portal で説明されている手順に従ってください。 シングル サインオンは自動プロビジョニングとは別に構成できますが、これらの 2 つの機能は相補的な関係にあります。
自動ユーザー アカウント プロビジョニングを構成する
このセクションでは、Active Directory のユーザー アカウントのユーザー プロビジョニングを Salesforce に対して有効にする方法について説明します。
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します。
シングル サインオンのために Salesforce を構成している場合は、検索フィールドで Salesforce のインスタンスを検索します。 構成していない場合は、 [追加] を選択してアプリケーション ギャラリーで Salesforce を検索します。 検索結果から Salesforce を選択してアプリケーションの一覧に追加します。
Salesforce のインスタンスを選択してから、 [プロビジョニング] タブを選択します。
[プロビジョニング モード] を [自動] に設定します。
[管理者資格情報] セクションに次の構成設定を指定します。
[管理ユーザー名] ボックスに、Salesforce.com でシステム管理者プロファイルが割り当てられている Salesforce アカウント名を入力します。
[管理パスワード] テキストボックスに、このアカウントのパスワードを入力します。
Salesforce のセキュリティ トークンを取得するには、新しいタブを開き、同じ Salesforce の管理者アカウントにサインインします。 ページの右上にある自分の名前をクリックし、 [Settings](設定) をクリックします。
左側のナビゲーション ウィンドウで [私の個人情報] をクリックして関連するセクションを展開し、 [私のセキュリティ トークンのリセット] をクリックします。
[Reset Security Token](セキュリティ トークンのリセット) ページで、 [Reset Security Token](セキュリティ トークンのリセット) ボタンをクリックします。
この管理アカウントに関連付けられている電子メールの受信トレイを確認します。 新しいセキュリティ トークンが記載された Salesforce.com からの電子メールを探します。
トークンをコピーして、Microsoft Entra のウィンドウに移動し、[シークレット トークン] フィールドに貼り付けます。
テナント URL は、Salesforce のインスタンスが Salesforce Government クラウドにある場合にのみ入力する必要があります。 それ以外の場合は省略可能です。 Salesforce インスタンスの名前に置き換えて
<your-instance>
、次のhttps://<your-instance>.my.salesforce.com
形式を使用してテナント URL を入力します。[接続テスト] をクリックして、Microsoft Entra ID で Salesforce アプリに接続できることを確認します。
プロビジョニングのエラー通知を受け取るユーザーまたはグループの電子メール アドレスを [通知用メール] フィールドに入力して、下のチェック ボックスをオンにします。
[保存] をクリックします。
[マッピング] セクションで、[Microsoft Entra ユーザーを Salesforce に同期する] を選択します。
[属性マッピング] セクションで、Microsoft Entra ID から Salesforce に同期されるユーザー属性を確認します。 [照合] プロパティとして選択されている属性は、更新処理で Salesforce のユーザー アカウントとの照合に使用されることに注意してください。 [保存] ボタンをクリックして変更をコミットします。
Salesforce の Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニング状態] を [オン] に変更します
[保存] をクリックします。
注意
ユーザーが Salesforce アプリケーションでプロビジョニングされたら、管理者は言語固有の設定を構成する必要があります。 言語の構成の詳細については、こちらの記事を参照してください。
これで、[ユーザーとグループ] セクションで Salesforce に割り当てたユーザーやグループの初期同期が開始されます。 初期同期は後続の同期よりも実行に時間がかかります。後続の同期は、サービスが実行されている限り約 40 分ごとに実行されます。 [同期の詳細] セクションを使用すると、進行状況を監視できるほか、リンクをクリックしてプロビジョニング アクティビティ ログを取得できます。このログには、プロビジョニング サービスによって Salesforce アプリに対して実行されたすべてのアクションが記載されています。
Microsoft Entra プロビジョニング ログの読み方の詳細については、「自動ユーザー アカウント プロビジョニングについてのレポート」をご覧ください。
一般的な問題
- Salesforce へのアクセスの承認で問題が発生している場合は、次のことを確認してください。
- 使用する資格情報に、Salesforce への管理者アクセス権がある。
- 使用している Salesforce のバージョン (たとえば、Salesforce の Developer、Enterprise、Sandbox、および Unlimited エディション) で、Web アクセスがサポートされていること。
- Web API アクセスがユーザーに対して有効になっている。
- Microsoft Entra プロビジョニング サービスでは、ユーザーのプロビジョニング言語、ロケール、およびタイムゾーンがサポートされています。 これらの属性は既定の属性マッピングに含まれていますが、既定のソース属性を保持していません。 既定のソース属性を選択し、そのソース属性が SalesForce で想定されている形式となるようにしてください。 たとえば、英語 (米国) の localeSidKey は、en_US です。 こちらに記載されているガイダンスを確認して、適切な localeSidKey 形式を把握してください。 languageLocaleKey の形式は、こちらに記載されています。 この形式が正しいことを確認するだけでなく、こちらに説明されているように、ユーザーに対して言語が有効になっていることを確認することが必要な場合もあります。
- SalesforceLicenseLimitExceeded: このユーザーが使用できるライセンスがないため、ターゲット アプリケーションでユーザーを作成できませんでした。 ターゲット アプリケーションの追加ライセンスを購入するか、ユーザーの割り当てと属性マッピングの構成を調べて、正しい属性で正しいユーザーが割り当てられていることを確認します。
- SalesforceDuplicateUserName: 別の Salesforce.com テナント内に重複している Salesforce.com の 'Username' があるため、ユーザーをプロビジョニングできません。 Salesforce.com では、'Username' 属性の値は、すべての Salesforce.com テナントにわたって一意である必要があります。 既定では、Microsoft Entra ID のユーザーの userPrincipalName は、Salesforce.com でのそのユーザーの 'Username' になります。 この場合、2 つの選択肢があります。 1 つ目のオプションは、他の Salesforce.com テナントも管理する場合に、その他のテナントの重複する 'Username' を持つユーザーを探して、名前を変更することです。 2 つ目のオプションは、Microsoft Entra ユーザーから、ディレクトリが統合されている Salesforce.com テナントへのアクセス権を削除することです。 次回の同期の試行時に、この操作を再試行します。
- SalesforceRequiredFieldMissing: Salesforce では、ユーザーを正常に作成または更新するために、特定の属性がユーザーに存在する必要があります。 このユーザーには、必須の属性の 1 つがありません。 Salesforce にプロビジョニングするすべてのユーザーに、email や alias などの属性が設定されていることを確認してください。 属性ベースのスコープ フィルターを使用して、これらの属性を持たないユーザーを対象外にすることができます。
- Salesforce へのプロビジョニング用の既定の属性マッピングには、Microsoft Entra ID の appRoleAssignments を Salesforce の ProfileName にマップするための SingleAppRoleAssignments 式が含まれています。 属性マッピングでは 1 つのロールのプロビジョニングのみがサポートされているため、ユーザーが Microsoft Entra ID で複数のアプリ ロールの割り当てを持たないようにしてください。
- Salesforce では、メールを変更する前に、その更新を手動で承認する必要があります。 そのため、メールの変更が承認されるまでは、プロビジョニングのログに、ユーザーのメールを更新するエントリが複数表示されることがあります。