Azure AD と Salesforce のプロビジョニングでのエラー
こんにちは。
今回は Azure AD を利用した Salesforce とのプロビジョニングの設定でのエラーについて記載します。
プロビジョニングは簡単にいうと Azure AD のユーザーを Salesforce に同期するよってことですね。
その際にエラーが発生したので、対応した内容を記録しておきます。
- 発生したエラー
今回、Azure AD のプロビジョニング ログに以下のエラーが発生していました。
・エラーコード
AzureActiveDirectoryDuplicateAppRoleForValueProperty
・エラーメッセージ
All application roles must have unique Id, Name and Claim in Azure AD. Attempt to update application roles resulted in a number of duplicated entries and will be aborted. This is most commonly caused by having non-unique role names in the directory of import. Application roles with non-unique values: [Id: 0921073b-b00d-40d7-be96-ac30921e3599, Name: Authenticated Website, Claim: ] [Id: 6808f7a0-09e8-42f5-a681-8cc0f60709cd, Name: Authenticated Website, Claim: ] . This operation was retried 0 times. It will be retried again after this date: 2021-11-04T09:46:54.4614788Z UTC
- 設定方法
1. Azure AD にアクセスをしてエンタープライズアプリケーションをクリック
2. 新しいアプリケーションをクリック
3. 検索ボックスに salesforce と入力し、表示されたアイコンをクリック
4. 任意の名前を入力して、作成をクリック
5. 作成されたアプリケーションに移動し、プロビジョニングをクリック
6. 作業の開始をクリック
7. 自動を選択
8. Salesforce に管理者でログオンして、画面右上から設定をクリック
9. 私のセキュリティトークンのリセットからセキュリティトークンのリセットをクリック
10. 9で設定していたユーザーのメールアドレス宛に以下のメールが届きます。
その中のセキュリティトークンをコピーします。
10. Azure AD の画面に戻り、以下の情報を入力してテスト接続をクリック
管理ユーザー名 : Salesforce の管理アカウント
管理者パスワード : 上記ユーザーのパスワード
シークレットトークン : 10 で確認した値
テナントの URL : ガバメントのテナント以外であれば空欄
※ちなみに私は空欄
11. テストが成功したら保存をクリック
12. 表示されたマッピングから Provision Azure Active Directory Users をクリック
13. 必要に応じてマッピングを変更
saleforce のユーザー名を Azure AD のほかの属性にする場合は、Username の行をクリック
14. ソース属性より変更可能
Azure AD の規定属性に加え、オンプレ ADからディレクトリ拡張した値も利用可能
設定が終わったら保存をクリック
- 動作確認
再度プロビジョニングのブレードを確認すると、下図の状態になっています。
プロビジョニングが開始していない場合は、プロビジョニングの開始ボタンをクリック
今回はエラーが発生していたので、以下からログを確認しました。
冒頭に記載したとおり、以下のログが確認できてプロビジョニングが失敗していることが確認できます。
なにこれ!?!?!?!
ってなったわけですが、調べていくと、記載の通りロールが重複しているってことがわかります。
重複するロール名は「Authenticated Website」とあるので、 Salesforce 側のロール (プロファイル) を確認すると.........
おったあああああ~~~~~~~~~~
なんで同じ名前のプロファイルが2つあるや!!笑
これが原因と思われます!
ってことでこれを削除したいのだが。。。。。。。。
削除できん!!!笑
Salesforce のコミュニティを確認してみると、どうやらサポートに問い合わせて削除してもらわないといけないらしい。。。。。
これはめんどくさいぞ!!!!!!!笑
まあでもとりあえず問合せってことで以下のリンクより問合せ
ログイン後、以下からケースを作成可能です。
問合せをしてしばらくすると、開発環境ではサポートできないとのこと。。。。。詰んだ。。。。
- 他の方法を検討してみた
Azure AD にてプロビジョニングのマッピングを再確認してみると、 Profilename にマッピングしているものがいた!!
これを変更したらプロビジョニングできるのでは??と思ったのですが、削除できません。
なので一回上記赤枠の属性をクリックして対象の属性を他の値に変更します。
すると削除ボタンがアクティブになるので、削除!!!!
本来は、Profilename に値が入らなくなるのでやめたほうがいいのですが、検証環境のためこれで一時しのぎしました。
皆様ちゃんとサポートに問い合わせして対応してくださいね!
あくまでも一時しのぎです。ごめんなさい。
プロビジョニング ログを確認すると、プロビジョニングが成功したことが確認できます。
やはり、上記の Profilename 属性が原因だったことが分かりました。
- 最後に!
Twitterでも情報発信したいと思いますので、興味があったらフォローしてください!