おはようございます。ロジカル・アーツ株式会社のSE 輪島 幸治です。
axiomからSalesforceにSAMLシングルサインオンで連携するSalesforceインテグレーションの記事を執筆させて頂きます。
この記事は、Salesforceとaxiomを使用します。初心者向けに、axiomに値を設定して、シングルサインオンで、 ユーザ名・パスワードを使用せずにSalesforceにログインする連携方法をご紹介させて頂きます。
ブログ記事の範囲としては、axiomの入力項目値、Salesforce側の連携設定を画像で紹介するところまでです。 axiomからSalesforce組織にSAMLシングルサインオンを実行して、その結果、Salesforceにログイン出来れば目標達成としています。
- はじめに
- axiomとSalesforceについて
- 設定手順
- Identity Provider Certificate(IDプロバイダー証明書)のダウンロード(axiom)
- SP側シングルサインオン設定(Salesforce)
- IDP側シングルサインオン設定(axiom)
- Salesforce ログイン
- まとめ
- 備考
はじめに
Salesforceは、ID管理の機能があり、SalesforceがIDプロバイダーとして他システムのID管理をする役割を担うことができます。 その一方で、他のシステムがログインIDを管理した場合に、Salesforceがサービスプロバイダーとして他システムにID管理をしてもらうこともできます。 この記事では、初心者向けにSAMLを用いたシングルサインオンのうち、Salesforceがサービスプロバイダーである場合について記載させて頂きます。
エンジニアの皆様は、合わせて関連する公式のドキュメントもご参照下さい。 シングルサインオンについては、 公式のSalesforce 開発者サイトに、ドキュメントが用意されています。 また、公式のTrailheadにモジュールも用意されています。
この記事では、IDプロバイダーにaxiomを使用します。
公式Trailhead: 内部ユーザのシングルサインオンの設定
SAMLについて: Identity の基本 - ID に関する用語
ユーザが繰り返しログインせずに Salesforce 組織とアプリケーションの間をシームレスに移動できるようにするには、シングルサインオン (SSO) を設定します。Security Assertion Markup Language (SAML) は、SSO を可能にするプロトコルです。
この記事の目的
対象者
この記事では、他システムのログインIDをSalesforceと連携するシステム基盤の構築などで、 技術検証でSAMLのインテグレーションを行う方向け。 あるいはSalesforceを使用していて、 初めて他システムとのシングルサインオンを検討する場合を想定しています。
目標
SAMLシングルサインオンでSalesforceを用いる場合に、他システム連携の設定理解を目標とした記事です。 Salesforceの設定をする時間がないので、画像だけで設定概要を知りたいという方に設定方法を知って頂くことを目標としています。 公式のTrailheadを補足する記事として、Salesforceとaxiom側の設定について、画像付きでご紹介させて頂きます。
概要
こちらの記事で紹介させて頂くSAMLシングルサインオンは、axiomからSalesforceに、ログインを行います。
シングルサインオン(Single Sign-On/SSO)自体は、 一度の認証で連携システムにアクセスが行える仕組みです。複数のアプリケーションなどにも対応しています。
この記事では、IDプロバイダーをIDP、サービスプロバイダーをSPと表記しています。
axiomとSalesforceについて
axiomは、Heroku Web アプリケーションのシングルサインオンツールです。
axiom: Axiom
axiomでは、SAML IDプロバイダーとして、SAMLシングルサインオンを使用して 他システムへのSAMLシングルサインオンをすることができます。
Salesforceは、すぐに使えるクラウドサービスとして、 官公庁などでも使用されているクラウドアプリケーションプラットフォームです。
・SEC・JASA共催セミナー大阪 - 第1部 - クラウド・コンピューティングとIT経営
(P.36) クラウド・コンピューティングの利点 5
臨時に発生する業務への即応性 その2
[総務省・経産省・環境庁] エコポイント管理システムにSalesForce.ComのSaaSを利用 制度確定から約1カ月で稼働開始 想定利用者は1500万人から2000万人
さて、近年では、情報化社会の発展に伴い、教育のオンライン化なども進んでいます。 一般社会では、ニューノーマルやテレワークが進む中、オンライン環境のアーキテクチャの再構築も急務であり、多くの議論がされています。
一般社団法人情報処理学会 - 会誌「情報処理」 - 情報化社会のニューノーマル:0.編集にあたって
axiomとSalesforceなどでの設定概要が分かると、他のWebアプリケーションがIDPの場合のシングルサインオン設定が理解しやすいと思います。参考にしてみて下さい。
設定手順
シングルサインオンの設定手順ですが、 SP側の設定とIDP側の設定を交互に行う必要があります。
- 統合IDの設定(Salesforce)
- Identity Provider Certificate(IDプロバイダー証明書)のダウンロード(axiom)
- SP側シングルサインオン設定(Salesforce)
- IDP側シングルサインオン設定(axiom)
- Salesforce ログイン
各手順について、順に説明させて頂きます。
統合IDの設定(Salesforce)
まず、SP側Salesforce組織でシングルサインオンで使用する統合IDの設定を行います。 設定した統合IDは、今回、IDPにて使用するaxiomでSAML Responseを生成するために使用します。 Salesforce組織の設定箇所は、ユーザの管理にある各ユーザの詳細画面にて設定することができます。
[設定] > [ユーザの管理] > [ユーザ]
項目名 | 項目値 |
---|---|
統合ID | logical2021webapp@gmail.com.axiomsso01.sp |
※SalesforceIDと同じでもOK。
Identity Provider Certificate(IDプロバイダー証明書)のダウンロード(axiom)
次に、IDP側のaxiomにて、IDプロバイダー証明書をダウンロードします。
[Download the Identity Provider Certificate]を押下することでファイルを取得できます。
IDプロバイダー証明書は、SP側のSalesforce組織にて、 SAMLシングルサインオン構成を行い、シングルサインオンの設定を行う際に、Salesforceにアップロードして使用します。
axiomからダウンロードできるファイルは、"Axiom-IdpCert.cer"というファイル名の.cer拡張子ファイルです。
SP側シングルサインオン設定(Salesforce)
シングルサインオン設定 - SAML を使用した統合シングルサインオン
axiomでIDプロバイダー証明書をダウンロードしたら、SPにて使用するSalesforce組織にログインして、 SAMLの有効化設定を行います。シングルサインオンでのSAMLの有効化設定は、"シングルサインオン設定 - SAMLを有効化"という設定項目にチェックを入れるのみです。
シングルサインオン設定 - SAML シングルサインオン構成
SAMLシングルサインオンの設定は、SAMLの有効化設定と同じページにある SAML シングルサインオン構成にある[新規]を押下して作成します。
IDPがaxiomの場合は、SAMLでシングルサインオンを行う設定値は、 赤枠で囲った8箇所を設定頂くことで、シングルサインオン設定を行うことができます。
設定項目の参考値は、下記の通りです。
項目名 | 項目値 |
---|---|
名前 | Axiom Test App |
発行者 | http://axiomsso.herokuapp.com |
ID プロバイダの証明書 | Axiom-IdpCert.cer *axiomからダウンロードしたIDプロバイダー証明書ファイルです。 |
SAML ID 種別 | アサーションには、ユーザオブジェクトの統合 ID が含まれます |
SAML ID の場所 | ID は、Subject ステートメントの NameIdentifier 要素にあります |
サービスプロバイダの起動要求バインド | HTTP リダイレクト |
API 参照名 | Axiom_Test_App |
エンティティ ID | https://gmailcomaxiomsso01sp-dev-ed.my.salesforce.com/ |
設定項目を入力して保存すると、SP側のSalesforce組織の設定は完了です。
IDP側シングルサインオン設定(axiom)
Axiom - SAML Identity Provider & Tester
SP側のSalesforce組織の設定が完了したので、IDPとなるAxiomからシングルサインオンにてログインします。
まず、Axiomの[SAML Identity Provider & Tester]のページを開き、Generateセクションにある[generate a SAML Response]のリンクを押下します。
[generate a SAML Response]を開くと、ログイン情報となるSAML Responseを作成するための項目設定画面が表示されます。
SP側のSalesforce組織で[SAML シングルサインオン構成]にて設定した項目値をaxiomの入力フォームに設定して、 [Request SAML Response]を押下してログインに使用するSAML Responseを作成します。
入力フォームの具体的な設定値としては、SP側のSalesforce組織でシングルサインオンのログインユーザ向けに設定した統合IDや SAML シングルサインオン構成にて設定したEntity Idなどです。 Entity Idは、設定項目内にスラッシュ"/"がない場合には、エラーが発生する場合もあります。
項目名 | 項目値 |
---|---|
SAML Version | 2.0 |
Username OR Federated ID | http://axiomsso.herokuapp.com |
Issuer | logical2021webapp@gmail.com.axiomsso01.sp |
Recipient URL | http://axiomsso.herokuapp.com |
Recipient URL | https://gmailcomaxiomsso01sp-dev-ed.my.salesforce.com |
Entity Id | https://gmailcomaxiomsso01sp-dev-ed.my.salesforce.com/ *スラッシュ必要 |
SSO Start Page | http://axiomsso.herokuapp.com/RequestSamlResponse.action |
入力フォームに項目値を設定したら、[Request SAML Response]を押下します。
Axiom - SAML HTTP POST Binder
[Request SAML Response]を押下すると、入力フォームに入力した情報から、SAMLでログインするためのSAML Responseが生成されます。今回は、SAMLを用いたシングルサインオンの検証なので、画面右下の[Login]を押下します。
Salesforce ログイン
SAMLシングルサインオンでのログイン確認
axiomのSAML HTTP POST Binderで[Login]を押下するとaxiomからSalesforceに遷移して、統合IDを設定して、axiomにてSAML Responseを作成したログインユーザでログインできていることが確認できます。
ユーザの管理から、統合IDを設定したユーザのログイン履歴を確認すると、 [SAML Idp Initiated SSO]というログイン履歴を確認することができ、SAML認証のシングルサインオンを用いてSalesforceにログインしたことが分かります。
[設定] > [ユーザの管理] > [ユーザ]
まとめ
以上が、axiomからSalesforceにログインするSAMLシングルサインオン連携するSalesforceインテグレーションの設定方法です。
この記事の範囲であるaxiomからSalesforceにログインできました。 ログインでは、統合IDを使用することにより、ユーザ名とパスワードを使用していないことがわかると思います。
この記事で紹介させて頂いた手順を理解することで、 外部IDPからSalesforceにログインするインテグレーションパターンを検討することができます。
皆様もシステムIDの共通化のようなプロジェクトでSalesforceを連携先として検討する際に、 Salesforceをサービスプロバイダーという役割で使用するSAMLシングルサインオンを検討してみて下さい。
関連する公式ヘルプ:
サービスプロバイダとして Salesforce を使用した SAML シングルサインオン
Microsoft AD FS を ID プロバイダとして使用した Salesforce への SSO の設定
ジャストインタイムプロビジョニングの要件および SAML アサーション項目
よろしくお願い致します。
備考
この記事は、著者が独自に調査した結果を、ロジカル・アーツ株式会社のブログにて記事化したものです。 記載されている手順やアドレスなどは、予告なく変更される場合もあります。
この記事に記載されている会社名、商品名などは一般に各社の商標または登録商標です。なお、本文中には、™、®を明記しておりません。
クラウドアプリケーションは、成長が著しいため、機能更新も早いです。至らない箇所もあると思いますが、お気付きの点がありましたらお問い合わせ下さい。
クラウドアプリケーショントレンド(参考)
Stack Overflow Insights - Stack Overflow Trends
Yahoo Finance - Salesforce.com Inc (CRM) Interactive Stock Chart
よろしくお願い致します。