SalesforceとAzure AD連携(SSO)について
こんにちは
久しぶりの投稿です。(半年近く…)
今回はSalesforceのシングルサインオンとIDプロビジョニング(Azure AD)についてしっかり説明してくれているところがなく、個人的に苦労したので(やってみたら簡単です!!)、noteにまとめます。
注意していただきたいのは
今回の設定はあくまでも私の個人環境での設定のため、こちらの説明は参考程度に使用していただければと思います。
必要な環境
・Salesforce環境(今回はSandbox)
・Azure AD環境
※Azure ADのトライアル環境はクレジットカードの登録が必要。
使い方によっては有料になる場合がありますが、
今回の使い方は無料のうちです。
連携でできること
・ユーザの一括管理
・ユーザの追加、削除、更新
・マイクロソフトアカウントを用いたシングルサインオン
etc..
Azure AD SAML設定 Part1
登録すると、home画面に飛びます。
「Azure Active Directory」→「エンタープライズアプリケーション」→「新しいアプリケーション」をクリック。
その後、「Salesforce sandbox」を追加します。
概要から「シングルサインオンの設定」→「SAML」に移動します。
いきなりですが2番から始めます笑
ユーザ属性とクレームの編集からユーザの識別子をマッピングします。
必要な要求のクレーム名をクリックします。
今回はIDプロビジョニングも同時に行っていくので、ソースは属性、ソース属性は、user.objectidに変更します。
つづいて3番のSAML署名証明書から
証明書(base64)とフェデレーションメタデータXMLをダウンロードします。
Salesforceの設定
「設定」→「シングルサインオン設定」→「編集」をクリックします。
「SAMLを有効化」にチェックをいれて、保存します。
「メタデータファイルから新規作成」をクリックします。
Azure ADからダウンロードしたXMLファイルをアップロードし作成します。
名前はAzureAD SSOなど自由に変更可能です。
ID・プロバイダの証明書にAzure ADからダウンロードしたbase64のファイルをアップロードします。
証明書の署名要求を先程アップロードしたファイルを指定します。
SAMLの種別では「ユーザオブジェクトの統合IDが含まれます」を選択します。
図にはないですが、ジャストインタイムのユーザプロビジョニングの「ユーザプロビジョニングの有効化」にチェックを入れて保存してください。
構成ができたら名前(図でいうとsts部分)をクリックしてください。
メタデータのダウンロードを行います。
Azure AD SAML設定 Part2
Salesforce側でダウンロードしたメタデータをAzureADにアップロードします。
アップロードし基本的なSAML構成(項目は自動的に入力されています。)を保存するとSAML構成は完了します。
SAML認証の設定は以上になります。
Azure AD プロビジョニング設定
AzureADの左側のメニューからIDプロビジョニングをクリックします。
「作業の開始」→プロビジョニングモードを「自動」に変更後、管理者資格情報(Salesforceのシステム管理者の情報)を入力します。
シークレットトークンはSalesforceの「個人設定」→「セキュリティートークンのリセット」を押すとメールでトークン情報を受け取ることができます。
セキュリティトークンのリセットの項目がない場合に関しては以下のトラブルシューティングを参照してください。
テナントURLはSalesforceのカスタムURLを入力してください。
※正しい形式でもAzure AD側でエラーが出てしまう場合があります。
私の場合、ブラウザを更新すると成功しました。
テスト接続をクリックして成功したら保存します。
次にマッピングを行います。
マッピング処理はAzure ADに登録されているユーザの項目をSalesforceのユーザの項目に一致させるために必要な処理になります。
以下は私が行ったマッピングになります(参考までに共有します)。
項目を必須にしたり、追加したい場合は下にある「詳細オプションの表示」→「属性リストを編集します」で行ってください。
以上で設定は完了になります。
いざ検証!
設定は完了したので、検証していきます。
Azure ADに登録されたユーザをSalesforce側にプロビジョニングするために
ユーザの追加を行います。
ユーザの追加→Salesforceへ登録したいユーザを選択します。
Salesforceのロールを選択して、割り当てをクリック
左メニューからプロビジョニングに戻り、プロビジョニングの開始を行います。
Salesforceの設定→ユーザで登録されているか確認します。
登録確認後
シングルサインオンも確認します。
Salesforceをログアウト後に
Azure ADで登録した識別子のURLをブラウザ上で検索します。
検索後はシングルサインオン用のボタンが表示されているのでクリックします。
クリックするとマイクロソフトのログインページにリダイレクトされます。
ID、パスワードを入力しログインします。
無事にシングルサインオンに成功しました!
エラーが出て失敗した場合は管理者IDでsalesforceの設定→シングルサインオンの設定
SAMLアサーション検証でValidateを行うとどこで失敗しているかなどわかります。
おわりに
私はSalesforceのSSO設定(Azure AD連携)に関しては全くの初心者で、知識0の状態から挑戦してなんとかできました。
いろいろ調べながら検証しながらだったので成功するまでかなりの時間がかかりました。
調べていて思ったのはプラットフォーム系のサービスは公式のヘルプページが初心者には難しいなと。。。
なので、私のような初心者の方でも挑戦できるようにと思い、noteで説明させていただきました。
少しでも設定の助けになれば幸いです。
最後まで読んでいただきありがとうございました!!
参考サイト
今回調べるのに使用したサイトなどをいかに記載します。