シングルサインオン実装ガイ ド - Salesforce.com

シングルサインオン実装ガイ
ド
Salesforce, Summer ’16
@salesforcedocs
最終更新日: 2016/04/22
本書の英語版と翻訳版で相違がある場合は英語版を優先するものとします。
© Copyright 2000–2016 salesforce.com, inc. All rights reserved. Salesforce およびその他の名称や商標は、salesforce.com,
inc. の登録商標です。本ドキュメントに記載されたその他の商標は、各社に所有権があります。
目次
シングルサインオン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
SAML について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
シングルサインオン用の SAML 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ID プロバイダの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ID プロバイダの値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SAML の開始ページ、エラーページ、ログインページ、およびログアウトページのカス
タマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
サンプル SAML アサーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
シングルサインオン設定の表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
シングルサインオン用の SAML 設定の検証 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
SAML アサーション検証エラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
SAML ログイン履歴のレビュー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
SAML 用のジャストインタイムプロビジョニングについて . . . . . . . . . . . . . . . . . . 32
ジャストインタイムプロビジョニングの要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
ポータルのジャストインタイムプロビジョニング . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
コミュニティのジャストインタイムプロビジョニング . . . . . . . . . . . . . . . . . . . . . . . . . 37
ジャストインタイムプロビジョニングのエラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
シングルサインオン実装のベストプラクティス . . . . . . . . . . . . . . . . . . . . . . . . . . 44
ポータルのシングルサインオンの有効化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
代理認証シングルサインオンについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
代理認証向けの Salesforce 設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
代理認証実装サンプル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
よくある質問 (FAQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
シングルサインオン
シングルサインオンを使用すると、ユーザは各リソースに個別にログインする
ことなく、認証済みのすべてのネットワークリソースにアクセスできます。企
業ユーザのデータベースまたはクライアントアプリケーションに対してユーザ
名とパスワードを検証でき、Salesforce 管理の個別のユーザパスワードは必要あ
りません。
エディション
Salesforce には、シングルサインオンを使用する方法として、次の方法がありま
す。
統合認証を使用可能なエ
ディション: すべてのエ
ディション
• Security Assertion Markup Language (SAML) を使用する統合認証を使用すると、関連
付けられているが関連のない Web サービス間で認証と認証データを送信する
ことができます。これにより、クライアントアプリケーションから Salesforce
にサインオンできます。SAML を使用した統合認証は、組織でデフォルトで有
効化されています。
• 代理認証のシングルサインオンを使用すると、Salesforce と選択した認証メ
ソッドを統合することができます。これにより、LDAP (Lightweight Directory Access
Protocol) サーバによる認証を統合するか、パスワードの変わりにトークンを
使用する認証にシングルサインオンを実行することができます。一部のユー
ザは代理認証を使用し、それ以外のユーザは引き続きSalesforce管理パスワー
ドを使用するように、権限レベルで代理認証を管理します。代理認証は組織
単位ではなく、権限ごとに設定されます。
代理認証を使用する主な理由を次に示します。
– 安全な ID プロバイダとのインテグレーションなど、より厳密なユーザ認
証を使用できる
– ログインページを非公開にし、企業ファイアウォールの内側からのみア
クセスできるようにする
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
– フィッシング攻撃を減らすために、Salesforceを使用する他のすべの企業と
差別化できる
設定を参照する
• 「設定・定義を参照す
る」
この機能をSalesforceで有効化されるよう要求する必要があります。組織の代
理認証シングルサインオンの有効化については、Salesforce にお問い合わせく
ださい。
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
• 認証プロバイダは外部サービスプロバイダのログイン情報を使用して、
Salesforce組織にユーザがログインできるようにします。Salesforceでは、OpenID
「すべてのデータの編
集」
Connect プロトコルがサポートされており、ユーザは任意の OpenID プロバイ
ダ (OpenID Connect をサポートする Google、Paypal、LinkedIn などのサービス) か
らログインできます。認証プロバイダが有効化されている場合、Salesforce は
ユーザのパスワードを検証しません。代わりに、Salesforce は外部サービスプロバイダのユーザログイン情
報を使用して、認証情報を設定します。
1
シングルサインオン
外部 ID プロバイダを使用しており、Salesforce 組織にシングルサインオンを設定する場合、Salesforce はサービス
プロバイダとして機能します。また、Salesforceを ID プロバイダとして有効化し、他のサービスプロバイダへの
接続にシングルサインオンを使用することもできます。シングルサインオンを設定する必要があるのはサービ
スプロバイダのみです。
[シングルサインオン設定] ページには、組織でどのバージョンのシングルサインオンが使用可能かが表示され
ます。シングルサインオン設定についての詳細は、「シングルサインオン用の SAML 設定」を参照してくださ
い。SAML およびSalesforceセキュリティについての詳細は、『セキュリティ実装ガイド』を参照してください。
シングルサインオンの利点
シングルサインオンを実装すると、組織は次の利点を得られます。
• 管理コストの削減: シングルサインオンを使用すると、パスワードを 1 つ覚えるだけで、ネットワークリ
ソースや外部アプリケーションとSalesforceの両方にアクセスできます。企業ネットワークの内側からSalesforce
にアクセスするとき、ユーザはシームレスにログインでき、ユーザ名やパスワードの入力を求められるこ
とはありません。企業ネットワークの外側から Salesforce にアクセスするとき、ユーザの企業ネットワーク
ログインにより、ログインできます。管理するパスワードが少なくなるほど、システム管理者へのパスワー
ドリセット要求も少なくなります。
• 既存の投資の活用: 多くの企業が中央 LDAP データベースを使用してユーザ ID を管理しています。Salesforce
の認証をこのシステムに代行させることで、ユーザが LDAP システムから削除されると、Salesforce にはアク
セスできなくなります。このため、退社するユーザは、離職後の会社のデータへのアクセス権を自動的に
失うことになります。
• 時間の節約: 平均すると、1 つのオンラインアプリケーションにログインするのに 5 ~ 20 秒かかります。
ユーザ名やパスワードの入力ミスがあり、再入力を求めるメッセージが出た場合には、さらに時間がかか
ります。シングルサインオンを使用すると、Salesforce に手動でログインする必要はなくなります。この数
秒の節約が、生産性の向上につながります。
• ユーザの採用の増加:ログインしなくてよいという便利さから、日常的にSalesforceを使用するようになりま
す。たとえば、ユーザはメールメッセージにレコードやレポートなどの Salesforce 内の情報へのリンクを記
載して送信できます。メールの受信者がリンクをクリックすると、対応する Salesforce ページが自動的に開
きます。
• セキュリティの向上: 企業ネットワーク用に作成したパスワードポリシーは、Salesforce にも有効となりま
す。また、1 回の使用のみ有効な認証情報を送信することで、機密データへのアクセス権を持つユーザに対
するセキュリティの向上を図れます。
2
シングルサインオン
SAML について
SAML について
Security Assertion Markup Language (SAML) は、XML ベースの標準です。これを使用し
てサービス間で認証のやりとりを行うことができます。これは、さまざまな Web
シングルサインオンソリューションをベースにしています。Salesforce は、企業
ポータルまたは ID プロバイダから Salesforce へのシングルサインオンを行うため
に SAML をサポートします。
エディション
SAML を使用してシングルサインオンをセットアップする作業の多くは、ID プロ
バイダで行います。
統合認証を使用可能なエ
ディション: すべてのエ
ディション
1. SAML ID プロバイダを設定し、Salesforce への接続方法に関する情報を収集しま
す。Salesforce にシングルサインオン要求を送信するプロバイダです。
2. ID プロバイダに、スタートページ、ログアウトページの URL などの情報を提
供します。
3. シングルサインオン向けの SAML の設定の手順で、Salesforce を設定します。
Salesforce で行う作業はこれだけです。
ID プロバイダを設定し、[SAML Web シングルサインオンブラウザ POST] プロファ
イルを使用して、SAML アサーションを Salesforce に送信します。Salesforce で SAML
レスポンスを指定された [ID プロバイダのログイン URL] に送信するには、[設
定] から [クイック検索] ボックスに「シングルサインオン」と入力し、[シングル
サインオン設定] を選択します。Salesforce は、アサーションを受信し、それを
Salesforceの設定と照合し、アサーションが「True」ならばシングルサインオンを
許可します。
Salesforceを SAML 用に設定した後に SAML アサーションに問題が発生した場合は、
[SAML アサーション検証] を使用して SAML アサーションを検証します。ID プロバ
イダから SAML アサーションの取得が必要になる場合があります。
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
SAML を使用したログインに問題が発生した場合、SAML ログイン履歴を確認し
て、ログインできない理由を確認し、その情報を ID プロバイダと共有すること
ができます。
設定を参照する
• 「設定・定義を参照す
る」
ID プロバイダがメタデータをサポートしていて、さらに SAML バージョン 2.0 を
使用して設定されている場合、[メタデータのダウンロード]をクリックするとダ
ウンロードした XML コンフィグレーションファイルを ID プロバイダに送信でき
ます。ID プロバイダはこのメタデータをアップロードして Salesforce 組織または
コミュニティへの接続設定を自動的に行うことができます。
設定を編集する
• 「アプリケーションの
カスタマイズ」
3
および
「すべてのデータの編
集」
シングルサインオン用の SAML 設定
このページから、シングルサインオンを使用するように組織を設定できます。
また、ジャストインタイムプロビジョニングを設定することもできます。これ
らを適切に設定するには、ID プロバイダを使用します。シングルサインオンの
詳細は、「シングルサインオン」を参照してください。ジャストインタイムプ
ロビジョニングの詳細は、「SAML 用のジャストインタイムプロビジョニングに
ついて」を参照してください。
企業 ID プロバイダから Salesforce へのシングルサインオンを行うための SAML 設定
をする手順は、次のとおりです。
1. ID プロバイダから情報を収集します。
2. ID プロバイダに情報を提供します。
3. シングルサインオンを設定します。
4. SAML アサーションを暗号化するように ID プロバイダを設定します (省略可
能)。
5. ジャストインタイムユーザプロビジョニングを有効にします (省略可能)。
6. ジャストインタイムプロビジョニングに [Apex ハンドラを使用したカスタム
SAML JIT] を選択した場合は、SAML JIT ハンドラを編集します。
7. シングルサインオン接続をテストします。
シングルサインオンの設定
1. Salesforce で、[設定] から [クイック検索] ボックスに「シングルサインオン設
定」と入力し、[シングルサインオン設定] を選択し、[編集] をクリックしま
す。
2. [SAML を有効化] を選択します。SAML シングルサインオン設定を表示する
には、SAML を有効にする必要があります。
3. ID プロバイダが使用する SAML のバージョンを指定します。
4. [保存] をクリックします。
5. [SAML シングルサインオン設定] で、次の中から適切なボタンをクリックして
新しい設定を作成します。
• 新規 - すべての設定を手動で指定します。
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
• メタデータファイルから新規作成 - ID プロバイダの XML ファイルから SAML
2.0 設定をインポートします。このオプションでは、XML ファイルを読み取り、その内容を基にできるだ
け多くの設定を行います。
4
シングルサインオン用の SAML 設定
メモ: XML ファイルに複数の設定の情報が含まれている場合は、XML ファイルで最初にある設定が
使用されます。
• メタデータ URL から新規作成 - 公開 URL から SAML 2.0 設定をインポートします。このオプションでは、
公開 URL にある XML ファイルを読み取り、その内容を基にできるだけ多くの設定を行います。URL は、
[リモートサイトの設定] に追加して、Salesforce 組織からアクセスできるようにする必要があります。
6. 組織内での参照用に、この設定に [名前] を指定します。
Salesforce により、対応する [API 参照名] 値が挿入されます。この値は、必要に応じてカスタマイズできま
す。
7. [発行者] を入力します。ID プロバイダのエンティティ ID として参照される場合があります。
8. Salesforce 組織でドメインをリリースしている場合、[エンティティ ID] として基本ドメイン
(https://saml.salesforce.com) を使用するか、カスタムドメインを使用するかを指定します。この情
報は、ID プロバイダと共有する必要があります。
ヒント: 通常、エンティティ ID としてカスタムドメインを使用します。ドメインをリリースする前に
シングルサインオンが設定済みである場合は、基本ドメインがエンティティ ID になります。Salesforce
を Salesforce サービスに提供する場合、カスタムドメインを指定する必要があります。
9. [ID プロバイダの証明書] の [参照] ボタンを使用して、ID プロバイダが発行する認証証明書を検索および
アップロードします。
10. [証明書の署名要求] で、[証明書と鍵の管理] 設定に保存されたものから目的の証明書を選択します。
11. [署名要求メソッド] で、要求暗号化のハッシュアルゴリズムを RSA-SHA1 または RSA-SHA256 から選択し
ます。
12. 必要に応じて、ID プロバイダが SAML アサーションを暗号化した場合は、使用されている [アサーション復
号化証明書] を [証明書と鍵の管理] 設定に保存した証明書から選択します。この項目は、組織で複数のシ
ングルサインオン設定がサポートされている場合にのみ使用できます。詳細は、「ID プロバイダへの SAML
アサーションの暗号化の設定」を参照してください。
13. [SAML ID 種別]、[SAML ID の場所]、および 「ID プロバイダの値」 で説明されているその他の項目に対
して、ID プロバイダによって提供された値を必要に応じて指定します。
14. [サービスプロバイダの起動要求バインド] で、ID プロバイダから提供された情報に基づいて適切な値を選択
します。
15. SAML 2.0 では、ID プロバイダに特定のログオンページまたはログアウトページがある場合、それぞれを [ID
プロバイダのログイン URL] および [ID プロバイダのログアウト URL] で指定します。
メモ: これらの項目は Developer Edition の組織および Sandbox 組織ではデフォルトで表示され、本番組織
では、[私のドメイン] が有効になっている場合に限り表示されます。この項目は、トライアル組織ま
たはトライアル組織にリンクされている Sandbox では表示されません。
16. [カスタムエラー URL] には、SAML ログイン時にエラーが発生した場合にユーザが移動する先のページの
URL を指定します。この URL は、公開サイトの Visualforce ページなど、公開されているページである必要が
あります。URL は相対または絶対のどちらでも使用できます。
5
シングルサインオン用の SAML 設定
17. 必要に応じて、ジャストインタイムユーザプロビジョニングを設定します。詳細は、「ジャストインタイ
ムプロビジョニングの有効化」および「SAML 用のジャストインタイムプロビジョニングについて」を参照
してください。
18. [保存] をクリックします。
ID プロバイダがメタデータをサポートしていて、さらに SAML バージョン 2.0 を使用して設定されている場合、
[メタデータのダウンロード] をクリックするとダウンロードした XML コンフィグレーションファイルを ID プロ
バイダに送信できます。ID プロバイダはこのメタデータをアップロードしてSalesforce組織またはコミュニティ
への接続設定を自動的に行うことができます。
ID プロバイダへの SAML アサーションの暗号化の設定
Salesforceが受信 SAML アサーションのサービスプロバイダである場合、保存された証明書を選択し、サードパー
ティの ID プロバイダからの受信アサーションを復号化できます。この証明書のコピーを ID プロバイダに提供
する必要があります。
1. [設定] の [シングルサインオン設定] ページで、新しい SAML 設定を追加します。
2. [アサーション復号化証明書] 項目で、[証明書と鍵の管理]設定に保存した証明書から暗号化する証明書を指
定します。
メモ: [アサーション復号化証明書] 項目が表示されない場合、組織で複数のシングルサインオンを有
効化する必要があります (Summer '13 リリースよりも前に作成され、SAML 1.1 を使用していない組織が
該当します)。複数のシングルサインオン設定を有効化するには、[シングルサインオン設定] ページの
[複数の設定を有効化] を選択します。この設定がすでに有効化されている場合、項目が表示され、[複
数の設定を有効化] ボタンは表示されません。
3. ID がある要素に [SAML ID の場所] を設定します。
4. 新しい SAML 設定を保存すると、組織の [Salesforce ログイン URL] の SAML 設定値 (「Salesforce ACS URL」
とも呼ばれる) が変更されます。([設定] の [シングルサインオン設定] ページから) 新しい値を取得し、新し
い SAML 設定の名前をクリックします。値は [Salesforce ログイン URL] 項目にあります。
5. ID プロバイダは [Salesforce ログイン URL] 値を使用する必要があります。
6. また、アサーションの暗号化に使用するため、ID プロバイダに [アサーション復号化証明書] で選択した証
明書のコピーを提供する必要があります。
ジャストインタイムプロビジョニングの有効化
1. [SAML シングルサインオン設定] で、[ユーザプロビジョニングの有効化] を選択します。
• 標準 - このオプションを選択すると、アサーションの属性を使用して自動的にユーザをプロビジョニン
グできます。
• Apex ハンドラを使用したカスタム SAML JIT - このオプションを選択すると、Apex クラスのロジックに
基づいてユーザがプロビジョニングされます。
6
シングルサインオン用の SAML 設定
2. [標準] を選択した場合は、[保存]をクリックし、シングルサインオン接続をテストします。[Apex ハンド
ラを使用したカスタム SAML JIT] を選択した場合は、次のステップに進みます。
3. [SAML JIT ハンドラ] 項目で、既存の Apex クラスを SAML JIT ハンドラクラスとして選択します。このクラ
スは、SamlJitHandler インターフェースを実装している必要があります。Apex クラスがない場合、[SAML JIT
ハンドラテンプレートを自動的に作成する] をクリックしてクラスを生成できます。このクラスを編集して
デフォルトのコンテンツを変更してから使用する必要があります。詳細は、「SAML JIT ハンドラの編集」を
参照してください。
4. [他のアカウントでハンドラを実行] 項目で、Apex クラスを実行するユーザを選択します。このユーザは
「ユーザの管理」権限を持っている必要があります。
5. ジャストインタイムプロビジョニングでは、ユーザタイプの統合 ID が必要です。[SAML ID 種別] で、[ア
サーションには、ユーザオブジェクトの統合 ID が含まれます] を選択します。ID プロバイダがSalesforceユー
ザ名を以前使用していた場合は、統合 ID を使用する必要があることを ID プロバイダに通知してください。
6. [保存] をクリックします。
SAML JIT ハンドラの編集
1. [設定] から、[クイック検索] ボックスに「Apex クラス」と入力し、[Apex クラス] を選択します。
2. 生成された Apex SAML JIT ハンドラを編集して SAML と Salesforce の項目を対応付けます。また、生成された
コードを変更して次のサポート対象を追加できます。
• カスタム項目
• プロファイルあいまい一致
• ロールあいまい一致
• メールによる取引先責任者ルックアップ
• 取引先番号による取引先ルックアップ
• コミュニティへの標準ユーザのプロビジョニング
• コミュニティへの標準ユーザのログイン
• ポータルジャストインタイムプロビジョニングでのデフォルトプロファイル ID の使用
• ポータルジャストインタイムプロビジョニングでのデフォルトポータルロールの使用
• ポータルジャストインタイムプロビジョニング用のユーザ名生成
たとえば、生成されたハンドラコードでカスタム項目をサポートするには、生成されたコード内にある
「Handle custom fields here」を見つけます。このコードコメントの後にカスタム項目コードを挿入します。詳
細と例は、「SamlJitHandler インターフェース」を参照してください。
メモ: 取引先責任者オブジェクトまたは取引先オブジェクトの JIT 属性を同じアサーションでユーザオプ
ションと一緒に ID プロバイダから送信した場合、生成されたハンドラで更新を実行できない可能性があ
ります。取引先責任者項目または取引先項目と同時に更新できないユーザ項目のリストについては、「DML
操作で同時に使用できない sObject」を参照してください。
7
シングルサインオン用の SAML 設定
シングルサインオン接続のテスト
SAML を設定し、設定を保存した後、ID プロバイダのアプリケーションにアクセスして SAML 設定をテストしま
す。ID プロバイダがユーザのブラウザに指示して、SAML アサーションを含むフォームをSalesforceログインペー
ジに送信します。各アサーションを確認し、確認に成功するとシングルサインオンが許可されます。
SAML を設定して保存した後にシングルサインオンを使用してサインオンできない場合は、[SAML アサーション
検証] を使用します。最初に ID プロバイダから SAML アサーションを取得する必要が生じる場合があります。
SAML を使用したログインに問題が発生した場合、SAML ログイン履歴を確認して、ログインできない理由を確
認し、その情報を ID プロバイダと共有することができます。
SAML バージョン 2.0 を使用している場合、SAML 設定の完了後に、[OAuth 2.0 Token Endpoint] 項目が入力されます。
この項目は、OAuth 2.0 用の Web シングルサインオン認証フローで使用します。
8
シングルサインオン用の SAML 設定
ID プロバイダの使用
ID プロバイダの使用
1. Salesforceに SAML を設定する前に、ID プロバイダから次の情報を収集する必要
があります。
• ID プロバイダが使用する SAML のバージョン (1.1 または 2.0)
• ID プロバイダのエンティティ ID (発行者)
• 認証証明書。
ヒント: ブラウザからアクセスする場合、証明書の保存場所を確認し
てください。後の手順で Salesforce アップロードされます。
• 必要に応じて、次の SAML アサーションパラメータ
– SAML のユーザ ID 種別
– SAML のユーザ ID の場所
– 属性名
– 属性の URI
– 名前 ID の形式
メモ: 属性名、属性 URI、名前 ID の形式は、[SAML のユーザ ID の場
所] が Attribute 要素で、Subject 文の名前識別子用途ではない場合にの
み必要となります。
ヒント: シングルサインオンをすばやく設定するには、[シングルサ
インオン設定] ページの XML ファイル (または、このファイルを指し
示している URL) から SAML 2.0 設定をインポートできます。XML は ID
プロバイダから入手します。
ID プロバイダと、これらの値に関する詳細情報を共有する場合があります。
ヒント: Salesforce for SAML を有効にし、ID プロバイダのページのスクリー
ンショットを撮影します。[設定] から、[クイック検索] ボックスに「シ
ングルサインオン設定」と入力し、[シングルサインオン設定]を選択し、
[編集] をクリックしてから、[SAML を有効化] を選択します。
2. ID プロバイダを使用して、スタートページ、ログインページ、ログアウト
ページを設定します。
3. サンプル SAML アサーションを IP プロバイダと共有すると、Salesforce正常なシ
ングルサインオンのために必要な情報を形式を確認できます。
9
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
シングルサインオン用の SAML 設定
ID プロバイダの値
ID プロバイダの値
Salesforce for SAML を設定する前に、ID プロバイダからの情報を受け取る必要があ
ります。この情報は、シングルサインオンページで使用します。
エディション
ID プロバイダには、次の情報が有用です。
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
項目
説明
SAML のバージョ
ID プロバイダが使用する SAML のバージョンを指定します。
Salesforce では、現在バージョン 1.1 および 2.0 をサポートし
ています。さまざまなバージョンの SAML の指定は、以下
にリンクしています。
ン
• SAML 1.1
• SAML 2.0
発行者
エンティティ ID
エンティティ ID: SAML ID プロバイダを一意に識別する URL。
Salesforceに送られてくる SAML アサーションは、SAML アサー
ションの <saml:Issuer> 属性でこの値に完全に一致する
必要があります。
Salesforce によって生成された SAML 要求の発行者、または
SAML 着信レスポンスの予測される利用者です。ドメイン
をリリースしていない場合、この値は常に
https://saml.salesforce.com になります。ドメイン
をリリースしている場合、Salesforceではカスタムドメイン
名の使用をお勧めします。この値は、[シングルサインオ
ン設定] ページにあります。[設定] から、[クイック検索]
ボックスに「シングルサインオン設定」と入力し、[シング
ルサインオン設定] を選択します。
ID プロバイダの証 ID プロバイダが発行した認証証明書。
明書
Request
Signing
Certificate
サービスプロバイダが開始した SAML ログインで Salesforce
がそのサービスプロバイダである場合、SAML 要求上にプ
ロバイダの識別を目的として署名を生成するために使用さ
れる証明書 ([設定] の [証明書と鍵の管理] ページに保存)。
証明書が [設定] の [証明書と鍵の管理] ページ に保存されて
いない場合、Salesforceはデフォルトでグローバルプロキシ
証明書を使用します。保存された署名付き証明書を使用す
ると、グローバルプロキシ証明書を使用した場合よりも、
証明書の有効期限などのイベントをより詳細に制御できる
ようになります。
10
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
シングルサインオン用の SAML 設定
ID プロバイダの値
項目
説明
Request Signature
Method
要求暗号化のハッシュアルゴリズム (RSA-SHA1 または RSA-SHA256)。
SAML ID 種別
Salesforce ユーザを識別する文字列が入っている SAML アサーション内の要素。値
は次のとおりです。
Assertion contains User’s Salesforce username
このオプションは、ID プロバイダが SAML アサーションで Salesforce ユーザ名を
渡します。
アサーションには、ユーザオブジェクトの統合 ID が含まれます
たとえば、ID プロバイダが従業員 ID など、SAML アサーションでユーザを識別
する外部ユーザ ID を渡す場合にこのオプションを使用します。
アサーションには、ユーザオブジェクトのユーザ ID が含まれます
SAML アサーションでユーザを識別するために ID プロバイダが内部ユーザ ID
(Salesforce 組織のユーザ ID など) を渡す場合、このオプションを使用します。
SAML ID の場所
アサーション内のどこでユーザを識別するかを指定します。値は次のとおりで
す。
ID は、Subject ステートメントの NameIdentifier 要素にあります
Salesforce の [ユーザ名] または FederationIdentifier は、アサーションの
<Subject> ステートメントに入っています。
ID は Attribute 要素にあります
Salesforce の [ユーザ名] または FederationIdentifier は、アサーションの
<Attribute> の中の <AttributeValue> で指定されています。
属性の名前
[ID は Attribute 要素にあります]を選択した場合は、[ユーザ ID] が含まれて
いる <Attribute> に指定されている AttributeName の値を入力します。
属性の URI
SAML のバージョンに SAML 1.1 を指定して、[ID は Attribute 要素にあります]
を選択した場合は、<Attribute> に指定されている AttributeNamespace の
値を入力します。
名前 ID 形式
SAML のバージョンに SAML 2.0 を指定して、[ID は Attribute 要素にあります]
を選択した場合は、nameid-format の値を指定します。値には、unspecified、
emailAddress、persistent があります。すべての規定値は、SAML 2.0 のアサー
ションとプロトコルの仕様書にある「Name Identifier Format Identifiers」の項に記載さ
れています。
サービスプロバイダの起動 [私のドメイン] を使用している場合は、ID プロバイダが SAML メッセージで要求す
要求バインド
るバインドメカニズムを選択します。値は次のとおりです。
HTTP ポスト
HTTP POST バインドは、base64url エンコードされた HTML フォームを使用して
SAML メッセージを送信します。
11
シングルサインオン用の SAML 設定
項目
ID プロバイダの値
説明
HTTP リダイレクト
HTTP リダイレクトバインドは、URL パラメータ内で base64url エンコードおよび
URL エンコードされた SAML メッセージを送信します。
選択された要求バインドに関係なく、SAML レスポンスでは HTTP POST バインドが
常に使用されます。
ID プロバイダのログイン SAML 2.0 でのみ有効: Salesforce がログインシーケンスを開始する SAML 要求を送信
URL
する URL です。
ドメインをリリースしており、この項目に値を指定している場合、ログイン要求
は通常、この項目で指定されるアドレスに送信されます。ただし、この値をス
キップする必要がある場合は (ID プロバイダが停止している場合など)、ログイン
ページのクエリ文字列に login パラメータを追加します。たとえば、
http://mydomain.my.salesforce.com?login です。
メモ: この項目は Developer Edition の本番組織および Sandbox 組織ではデフォ
ルトで表示され、本番組織では、[私のドメイン] が有効になっている場合
に限り表示されます。この項目は、トライアル組織またはトライアル組織
にリンクされている Sandbox では表示されません。
ID プロバイダのログアウ SAML 2.0 でのみ有効: ユーザが Salesforce で [ログアウト] リンクをクリックしたとき
に移動先となる URL。デフォルトは http://www.salesforce.com です。
ト URL
メモ: この項目は Developer Edition の本番組織および Sandbox 組織ではデフォ
ルトで表示され、本番組織では、[私のドメイン] が有効になっている場合
に限り表示されます。この項目は、トライアル組織またはトライアル組織
にリンクされている Sandbox では表示されません。
Salesforce ログイン
URL
Web ブラウザのシングルサインオンフローのログインに関連付けられている URL。
OAuth 2.0 Token
Endpoint
SAML 2.0 でのみ有効: Web シングルサインオン OAuth アサーションフローで ID プロ
バイダとして Salesforce を有効化する場合に、API で使用される ACS URL。
カスタムエラー URL
SAML ログイン時にエラーが発生した場合にユーザが移動する先のページの URL。
この URL は、公開サイトのVisualforceページなど、公開されているページである必
要があります。URL は相対または絶対のどちらでも使用できます。
開始、ログイン、ログアウトの URL 値
シングルサインオンで使用する情報のほか、ID プロバイダは開始ページ、ログインページ、ログアウトページ
も設定します。また、これらのページは、シングルサインオンを設定する場合に自分で指定できます。
これらのページを設定する場合は、ID プロバイダには、次の情報が有用です。
12
シングルサインオン用の SAML 設定
ID プロバイダの値
• SAML の指定は、HTTPS POST を経由して SAML アサーションを渡すために使用する HTML 形式をサポートして
います。
• SAML 1.1 では、SAML ID プロバイダは TARGET 項目に名前-値のペアを埋め込むことができ、URL 符号化され
たパラメータを含む特別な形式の URL を先頭に追加した情報を Salesforce に渡すことができます。
• [対象] 項目を含める SAML 1.1 の URL は、https://saml.salesforce.com/? となります。
• SAML 2.0 では、[対象] 項目の代わりに SAML アサーションで <AttributeStatement> を使用して、追加情
報を指定します。
• Salesforce では、次のパラメータをサポートしています。
メモ: SAML 1.1 では、これらのパラメータは URL 符号化する必要があります。このため URL は独自のパ
ラメータを含む値として渡され、正しく処理されます。SAML 2.0 では、これらのパラメータは
<AttributeStatement> に含まれます。
– ssoStartPage は、SAML でログインを試行したときに自動で表示されるページです。セッションが有
効でない場合に、Salesforce の保護されたリソースを要求すると、ページに自動的に移動します。
ssoStartPage は、SAML の ID プロバイダのログインページにする必要があります。
– startURL は、サインオンが正常に完了した場合に、ユーザが移動される URL です。この URL は、
https://yourInstance.salesforce.com/001/o のような絶対 URL、または /001/o のような相対
URL にすることができます。このパラメータは、SAML 1.1 でのみ使用されます。SAML 2.0 では、開始 URL
は認証される前にユーザがアクセスを試みたページです。
– logoutURL は、Salesforce で [ログアウト] リンクをクリックした場合に、ユーザが移動される URL です。
デフォルトは http://www.salesforce.com です。
次の SAML 1.1 のサンプル [対象] 項目には、正しく符号化されたパラメータが含まれています。カスタマイズ
された開始ページ、クエリ文字列のパラメータ値として埋め込まれた開始 URL およびログアウト URL を渡しま
す。
https://saml.salesforce.com/?ssoStartPage=https%3A%2F
%2Fwww.customer.org%2Flogin%2F&startURL=%2F001%2Fo&logoutURL=http%3A%2F%2Fwww.salesforce.com
次の SAML 2.0 の <AttributeStatement> の例は、ssoStartPage と logoutURL の両方を含みます。
<saml:AttributeStatement>
<saml:Attribute Name="ssoStartPage"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">
http://www.customer.org
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="logoutURL"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
https://www.salesforce.com
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
13
シングルサインオン用の SAML 設定
SAML の開始ページ、エラーページ、ログインページ、
およびログアウトページのカスタマイズ
SAML の開始ページ、エラーページ、ログインページ、およびロ
グアウトページのカスタマイズ
SAML 1.1 または 2.0 を使用するシングルサインオンユーザのための開始ページ、
エラーページ、ログインページ、ログアウトページをカスタマイズできます。
設定の一環として、次の事項を決定します。
• ID プロバイダが SAML 1.1 を使用する場合に、シングルサインオンが正常に完
了したときのユーザの移動先となる URL (開始ページ)。この URL は、
https://yourInstance.salesforce.com/001/o のような絶対 URL、また
は /001/o のような相対 URL にすることができます。この URL は SAML 認証要
求を受け入れるエンドポイントである必要があります。
SAML 2.0 では、開始ページは認証される前にユーザがアクセスを試みたペー
ジです。SAML 2.0 開始ページは Sp-init シングルサインオンをサポートしなけ
ればなりません。
SAML 2.0 を使用している場合、RelayState パラメータを使用して正常なロ
グイン後にユーザをリダイレクトする場所を制御することもできます。
• Salesforceがログインシーケンスを開始する SAML 要求を送信するシングルサイ
ンオン開始ページです。
シングルサインオン開始ページを指定する場合は、ログアウトページも指定
することをお勧めします。ログアウトページを指定するとき、ユーザがログ
アウトをクリックするとき、またはユーザセッションの有効期限が切れた場
合に、ユーザはそのページにリダイレクトされます。ログアウトページを指
定しない場合、ユーザはSalesforceの通常のログインページにリダイレクトさ
れます。
• ユーザが Salesforce の [ログアウト] リンクをクリックしたときの移動先となる
URL (ログアウトページ)。[私のドメイン] が有効な場合を除き、デフォルトは
https://login.salesforce.com です。[私のドメイン] が有効な場合のデ
フォルトは https://customdomain.my.salesforce.com です。
SAML 2.0 では、これらの値は、シングルサインオン設定時、またはログイン URL
か SAML アサーションの ID プロバイダを使用して設定できます。優先順位は次の
とおりです。
1. セッション Cookie: Salesforce にすでにログインしており、Cookie がまだ存在す
る場合、セッション Cookie で指定されるログインページおよびログアウト
ページが使用されます。
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
2. ID プロバイダから渡される値。
3. シングルサインオン設定ページの値。
シングルサインオン設定にこれらの値を追加しない場合、ID プロバイダとこれらの値を共有します。ID プロバ
イダは、ログイン URL またはアサーションのいずれかでこれらの値を使用する必要があります。
14
シングルサインオン用の SAML 設定
サンプル SAML アサーション
SAML ログイン時にエラーが発生した場合にユーザをカスタムエラーページに移動するかどうかを決定するこ
ともできます。カスタムエラーページは、公開サイトの Visualforce ページなど、公開されていてアクセス可能
なページである必要があります。URL は相対または絶対のどちらでも使用できます。SAML の設定時にはこの値
を使用します。
サンプル SAML アサーション
サンプル SAML アサーションを ID プロバイダと共有すると、Salesforce で正常なシ
ングルサインオンのために必要な情報の形式を確認できます。アサーションは、
RSA および SHA-1 または SHA-256 のいずれかを使用して、XML 署名仕様に従って署
名する必要がある。
SAML 1.1 および SAML 2.0 の一般的なシングルサインオンの例に加え、特定の機能
については次の例を使用してください。
• ポータルのアサーション
• サイトのアサーション
• 代理認証の SOAP メッセージ
• ジャストインタイムプロビジョニングのアサーション
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
15
シングルサインオン用の SAML 設定
サンプル SAML アサーション
SAML ユーザ ID の種別が Salesforce ユーザ名、SAML ユーザ ID の場所が <Subject> 要素の中の
<NameIdentifier> 要素の場合
SAML 1.1:
<Subject>
<NameIdentifier>user101@salesforce.com</NameIdentifier>
</Subject>
SAML 2.0:
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">user101@salesforce.com</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2008-06-26T02:44:24.173Z"
Recipient="http://localhost:9000"/>
</saml:SubjectConfirmation>
</saml:Subject>
SAML ユーザ ID の種別が Salesforce ユーザ名、SAML ユーザ ID の場所が <Attribute> 要素の場合
SAML 1.1:
<AttributeStatement>
<Subject>
<NameIdentifier>this value doesn't matter</NameIdentifier>
<SubjectConfirmation>
<ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</ConfirmationMethod>
</SubjectConfirmation>
</Subject>
<Attribute AttributeName="MySfdcName" AttributeNamespace="MySfdcURI">
<AttributeValue>user101@salesforce.com</AttributeValue>
</Attribute>
</AttributeStatement>
SAML 2.0:
<saml:AttributeStatement>
<saml:Attribute FriendlyName="fooAttrib" Name="SFDC_USERNAME"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
user101@salesforce.com
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
SAML ユーザ ID の種別が Salesforce ユーザオブジェクトの FederationIdentifier 項目、SAML ユーザ ID の場
所が <Subject> 要素の中の <NameIdentifier> 要素の場合
SAML 1.1:
<AttributeStatement>
<saml:Subject>
<saml:NameIdentifier Format="urn:oasis:names:tc:SAML:1.0:assertion"
16
シングルサインオン用の SAML 設定
サンプル SAML アサーション
NameQualifier="www.saml_assertions.com">
MyName
</saml:NameIdentifier>
</saml:Subject>
</AttributeStatement>
SAML 2.0:
<saml:Subject>
<saml:NameID
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">MyName</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2008-06-26T02:48:25.730Z"
Recipient="http://localhost:9000/"/>
</saml:SubjectConfirmation>
</saml:Subject>
メモ: 名前 ID は、メールアドレスや数字 ID 文字列など、任意の文字列でかまいません。
SAML ユーザ ID の種別が Salesforce ユーザオブジェクトの FederationIdentifier 項目、SAML ユーザ ID の場
所が <Attribute> 要素の場合
SAML 1.1:
<AttributeStatement>
<Subject>
<NameIdentifier>who cares</NameIdentifier>
<SubjectConfirmation>
<ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</ConfirmationMethod>
</SubjectConfirmation>
</Subject>
<Attribute AttributeName="MyName" AttributeNamespace="MyURI">
<AttributeValue>user101</AttributeValue>
</Attribute>
</AttributeStatement>
SAML 2.0:
<saml:AttributeStatement>
<saml:Attribute FriendlyName="fooAttrib" Name="SFDC_ATTR"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
user101
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
SAML のユーザ ID 種別が Salesforce ユーザ名、SAML のユーザ ID の場所が <Subject> 要素の中の
<NameIdentifier> 要素の場合
SAML 2.0 の完全な SAML レスポンスを次に示します。
<samlp:Response ID="_257f9d9e9fa14962c0803903a6ccad931245264310738"
IssueInstant="2009-06-17T18:45:10.738Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
17
シングルサインオン用の SAML 設定
サンプル SAML アサーション
https://www.salesforce.com
</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ID="_3c39bc0fe7b13769cab2f6f45eba801b1245264310738"
IssueInstant="2009-06-17T18:45:10.738Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
https://www.salesforce.com
</saml:Issuer>
<saml:Signature>
<saml:SignedInfo>
<saml:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<saml:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<saml:Reference URI="#_3c39bc0fe7b13769cab2f6f45eba801b1245264310738">
<saml:Transforms>
<saml:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<saml:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces PrefixList="ds saml xs"/>
</saml:Transform>
</saml:Transforms>
<saml:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<saml:DigestValue>vzR9Hfp8d16576tEDeq/zhpmLoo=
</saml:DigestValue>
</saml:Reference>
</saml:SignedInfo>
<saml:SignatureValue>
AzID5hhJeJlG2llUDvZswNUrlrPtR7S37QYH2W+Un1n8c6kTC
Xr/lihEKPcA2PZt86eBntFBVDWTRlh/W3yUgGOqQBJMFOVbhK
M/CbLHbBUVT5TcxIqvsNvIFdjIGNkf1W0SBqRKZOJ6tzxCcLo
9dXqAyAUkqDpX5+AyltwrdCPNmncUM4dtRPjI05CL1rRaGeyX
3kkqOL8p0vjm0fazU5tCAJLbYuYgU1LivPSahWNcpvRSlCI4e
Pn2oiVDyrcc4et12inPMTc2lGIWWWWJyHOPSiXRSkEAIwQVjf
Qm5cpli44Pv8FCrdGWpEE0yXsPBvDkM9jIzwCYGG2fKaLBag==
</saml:SignatureValue>
<saml:KeyInfo>
<saml:X509Data>
<saml:X509Certificate>
MIIEATCCAumgAwIBAgIBBTANBgkqhkiG9w0BAQ0FADCBgzELM
[Certificate truncated for readability...]
</saml:X509Certificate>
</saml:X509Data>
</saml:KeyInfo>
</saml:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">
saml01@salesforce.com
18
シングルサインオン用の SAML 設定
サンプル SAML アサーション
</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2009-06-17T18:50:10.738Z"
Recipient="https://login.salesforce.com"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2009-06-17T18:45:10.738Z"
NotOnOrAfter="2009-06-17T18:50:10.738Z">
<saml:AudienceRestriction>
<saml:Audience>https://saml.salesforce.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2009-06-17T18:45:10.738Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7L5
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="ssostartpage"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">
http://www.salesforce.com/security/saml/saml20-gen.jsp
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="logouturl"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xsi:type="xs:string">
http://www.salesforce.com/security/del_auth/SsoLogoutPage.html
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
19
シングルサインオン用の SAML 設定
サンプル SAML アサーション
ポータルのサンプル SAML アサーション
SAML アサーション文の portal_id および organization_id 属性を次に示します。
<saml:AttributeStatement>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7P5</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
次は、ポータルのシングルサインオンに使用できる完全な SAML アサーションステートメントです。組織は、
主体ではなく属性に含まれている統合サインオンを使用しています (アサーションの太字テキストで示される
<saml:AttributeStatement> を参照)。
<samlp:Response ID="_f97faa927f54ab2c1fef230eee27cba21245264205456"
IssueInstant="2009-06-17T18:43:25.456Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
https://www.salesforce.com</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ID="_f690da2480a8df7fcc1cbee5dc67dbbb1245264205456"
IssueInstant="2009-06-17T18:45:10.738Z" Version="2.0">
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
https://www.salesforce.com
</saml:Issuer>
<saml:Signature>
<saml:SignedInfo>
<saml:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<saml:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<saml:Reference URI="#_f690da2480a8df7fcc1cbee5dc67dbbb1245264205456">
<saml:Transforms>
<saml:Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<saml:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces PrefixList="ds saml xs"/>
</saml:Transform>
</saml:Transforms>
<saml:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<saml:DigestValue>vzR9Hfp8d16576tEDeq/zhpmLoo=
</saml:DigestValue>
</saml:Reference>
</saml:SignedInfo>
<saml:SignatureValue>
20
シングルサインオン用の SAML 設定
サンプル SAML アサーション
AzID5hhJeJlG2llUDvZswNUrlrPtR7S37QYH2W+Un1n8c6kTC
Xr/lihEKPcA2PZt86eBntFBVDWTRlh/W3yUgGOqQBJMFOVbhK
M/CbLHbBUVT5TcxIqvsNvIFdjIGNkf1W0SBqRKZOJ6tzxCcLo
9dXqAyAUkqDpX5+AyltwrdCPNmncUM4dtRPjI05CL1rRaGeyX
3kkqOL8p0vjm0fazU5tCAJLbYuYgU1LivPSahWNcpvRSlCI4e
Pn2oiVDyrcc4et12inPMTc2lGIWWWWJyHOPSiXRSkEAIwQVjf
Qm5cpli44Pv8FCrdGWpEE0yXsPBvDkM9jIzwCYGG2fKaLBag==
</saml:SignatureValue>
<saml:KeyInfo>
<saml:X509Data>
<saml:X509Certificate>
MIIEATCCAumgAwIBAgIBBTANBgkqhkiG9w0BAQ0FADCBgzELM
Certificate truncated for readability...
</saml:X509Certificate>
</saml:X509Data>
</saml:KeyInfo>
</saml:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">null
</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData NotOnOrAfter="2009-06-17T18:48:25.456Z"
Recipient="https://login.salesforce.com/?saml=02HKiPoin4f49GRMsOdFmhTgi
_0nR7BBAflopdnD3gtixujECWpxr9klAw"/>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions NotBefore="2009-06-17T18:43:25.456Z"
NotOnOrAfter="2009-06-17T18:48:25.456Z">
<saml:AudienceRestriction>
<saml:Audience>https://saml.salesforce.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2009-06-17T18:43:25.456Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute FriendlyName="Friendly Name" Name="federationId"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:string">saml_portal_user_federation_id
</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">SomeOtherValue
21
シングルサインオン用の SAML 設定
サンプル SAML アサーション
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xsi:type="xs:anyType">060D00000000SHZ
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xsi:type="xs:anyType">00DD0000000F7Z5
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="ssostartpage"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">
http://www.salesforce.com/qa/security/saml/saml20-gen.jsp
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="logouturl"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml:AttributeValue xsi:type="xs:string">
http://www.salesforce.com/qa/security/del_auth/SsoLogoutPage.html
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
サイトのサンプル SAML アサーション
SAML アサーション文の portal_id、organization_id、および siteurl 属性を次に示します。
<saml:AttributeStatement>
<saml:Attribute Name="portal_id">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:anyType">060900000004cDk
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="organization_id">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:anyType">00D900000008bX0
</saml:AttributeValue></saml:Attribute>
<saml:Attribute Name="siteurl">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:anyType">https://ap1.force.com/mySuffix</saml:AttributeValue>
22
シングルサインオン用の SAML 設定
サンプル SAML アサーション
</saml:Attribute>
</saml:AttributeStatement>
代理認証の SOAP メッセージのサンプル
代理認証シングルサインオン処理の一部として、Salesforceサーバは、ログイン情報の中に入れて渡したユーザ
を認証するように SOAP 1.1 要求を作成します。この種の要求の例を示します。シングルサインオン Web サービ
スは、この要求を受け付けて処理し、応答で true または false を返す必要があります。
要求サンプル
<?xml version="1.0" encoding="UTF-8" ?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<Authenticate xmlns="urn:authentication.soap.sforce.com">
<username>sampleuser@sample.org</username>
<password>myPassword99</password>
<sourceIp>1.2.3.4</sourceIp>
</Authenticate>
</soapenv:Body>
</soapenv:Envelope>
応答メッセージサンプル
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<AuthenticateResult xmlns="urn:authentication.soap.sforce.com">
<Authenticated>false</Authenticated>
</AuthenticateResult>
</soapenv:Body>
</soapenv:Envelope>
ジャストインタイムプロビジョニングのサンプル SAML アサーション
ジャストインタイムプロビジョニングのサンプル SAML アサーションを次に示します。
<saml:AttributeStatement>
<saml:Attribute Name="User.Username"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">testuser@123.org
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.Phone"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">415-123-1234
</saml:AttributeValue>
</saml:Attribute>
23
シングルサインオン用の SAML 設定
サンプル SAML アサーション
<saml:Attribute Name="User.FirstName"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">Testuser
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.LanguageLocaleKey"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">en_US
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.CompanyName"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">Salesforce.com
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.Alias"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">tlee2
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.CommunityNickname"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">tlee2
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.UserRoleId"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">000000000000000
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.Title"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">Mr.
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.LocaleSidKey"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">en_CA
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.Email"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">testuser@salesforce.com
</saml:AttributeValue>
</saml:Attribute>
24
シングルサインオン用の SAML 設定
サンプル SAML アサーション
<saml:Attribute Name=" User.FederationIdentifier"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">tlee2
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.TimeZoneSidKey"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">America/Los_Angeles
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.LastName"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">Lee
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.ProfileId"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">00ex0000001pBNL
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.IsActive"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">1
</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="User.EmailEncodingKey"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">UTF-8
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
25
シングルサインオン設定の表示
SAML を使用するように Salesforce 組織を設定すると、シングルサインオン設定を
表示できます。[設定] から、[クイック検索] ボックスに「シングルサインオン設
定」と入力し、[シングルサインオン設定] を選択します。
このページに SAML 設定の詳細が表示されます。ほとんどの項目は、SAML を設
定したページの項目と同じです。次の項目には、設定を完了すると自動的に生
成される情報が含まれます。有効な項目は設定により異なります。
項目
説明
Salesforce ログ SAML 2.0 でのみ有効。[SAML ユーザ ID の種別] で [アサー
イン URL
ションには、ユーザの Salesforce ユーザ名が含まれます] を
選択し、[SAML ユーザ ID の場所] で [ユーザ ID は、Subject
ステートメントの NameIdentifier 要素にあります] を選択し
た場合、この URL は OAuth アサーションフローの Web シン
グルサインオンのログインに関連付けられている URL で
す。
Salesforce ログ SAML 2.0 で有効。ユーザがログオフした後に移動する
Salesforce ログアウト URL を表示します。この URL は、[ID
アウト URL
プロバイダのログアウト URL] に値が指定されていない場
合にのみ使用します。
OAuth 2.0
SAML 2.0 でのみ有効: ACS URL は、Web シングルサインオン
Token Endpoint OAuth アサーションフローで ID プロバイダとして Salesforce
を有効化して使用します。
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
このページから、次の操作を実行できます。
• [編集] をクリックして、既存の SAML 設定を変更する。
• [SAML アサーション検証] をクリックして、ID プロバイダが提供する SAML ア
サーションを使用する組織の SAML 設定を検証する。
• ID プロバイダがメタデータをサポートしていて、さらに SAML バージョン 2.0
を使用して設定されている場合、[メタデータのダウンロード] をクリックす
るとダウンロードした XML コンフィグレーションファイルを ID プロバイダに
送信できます。ID プロバイダはこのメタデータをアップロードして Salesforce
組織またはコミュニティへの接続設定を自動的に行うことができます。
26
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
シングルサインオン用の SAML 設定の検証
Salesforce をシングルサインオン用に設定した後、ユーザが Salesforce にログイン
できない場合は、[SAML アサーション検証] とログイン履歴を使用して ID プロバ
イダから送信された SAML アサーションを検証します。
1. ID プロバイダから SAML アサーションを取得します。アサーションはプレー
ン XML 形式または base64 エンコードです。
ユーザがSalesforceにログインしようとして失敗した場合、無効な SAML アサー
ションを使用して SAML アサーション検証が自動的に設定される場合があり
ます。
2. [設定] から、[クイック検索] ボックスに「シングルサインオン設定」と入力
し、[シングルサインオン設定] を選択し、[SAML アサーション検証] をクリッ
クします。
3. テキストボックスに SAML アサーションを入力して、[検証] をクリックしま
す。
4. 検証エラーの結果を ID プロバイダを共有します。
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
27
シングルサインオン用の SAML 設定の検証
SAML アサーション検証エラー
SAML アサーション検証エラー
Salesforce では、アサーションで次の有効性が必要です。
認証ステートメント
アサーションには <AuthenticationStatement> を含める必要がありま
す。
条件ステートメント
アサーションに <Conditions> ステートメントが含まれる場合、有効なタ
イムスタンプを含める必要があります。
タイムスタンプ
アサーションに有効性の期間を指定することをお勧めします。また、アサー
ションのタイムスタンプは、アサーションの有効性の期間の設定に関わら
ず、発行から 5 分プラスマイナス 3 分以内であることが必要です。これで、
マシン間の相違が許容されます。NotBefore および NotOnOrAfter の制約
も定義済みで有効である必要があります。
属性
Salesforce 設定が [ID は Attribute 要素にあります] に設定されている場
合、ID プロバイダからのアサーションに <AttributeStatement> が含まれ
ている必要があります。
SAML 1.1 を使用している場合、<AttributeName> および
<AttributeNamespace> が <AttributeStatement> の一部として必須で
す。
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
SAML 2.0 を使用している場合、<AttributeName> は必須です。
表示形式
ユーザ権限
<Issuer> ステートメントの Format 属性
は、"urn:oasis:names:tc:SAML:2.0:nameid-format:entity" と設定
するか、全く設定しないかのいずれかである必要があります。
例:
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://www.salesforce.com</saml:Issuer>
次の例も有効です。
<saml:Issuer >https://www.salesforce.com</saml:Issuer>
28
シングルサインオン用の SAML 設定の検証
SAML アサーション検証エラー
発行者
アサーションで指定された発行者は、Salesforce で指定された発行者と一致する必要があります。
件名
アサーションの件名は、Salesforce ユーザ名またはユーザの統合 ID のいずれかにする必要があります。
利用者
<Audience> の値は必須で、シングルサインオン設定の [エンティティ ID] と一致する必要があります。
デフォルト値は、https://saml.salesforce.com です。
受信者
アサーションで指定された受信者は、Salesforce の設定または OAuth 2.0 トークンエンドポイントで指定され
た Salesforce ログイン URL と一致する必要があります。アサーションのこの部分は必須で、常に検証されま
す。
署名
アサーションには、有効な署名が含まれている必要があります。署名は、SAML 設定で指定された証明書に
関連付けられている秘密鍵を使用して作成する必要があります。
受信者
アサーションで受け取った受信者と組織 ID が、シングルサインオン設定で指定したように予期した受信者
と組織 ID に一致します。アサーションのこの部分は省略可能で、存在する場合にのみ検証されます。例:
Recipient that we found in the assertion: http://aalbert-salesforce.com:8081/
?saml=02HKiPoin4zeKLPYxfj3twkPsNSJF3fxsH0Jnq4vVeQr3xNkIWmZC_IVk3
Recipient that we expected based on the Single Sign-On Settings page:
http://asmith.salesforce.com:8081/
?saml=EK03Almz90Cik_ig0L97.0BRme6mT4o6nzi0t_JROL6HLbdR1WVP5aQO5w
Organization Id that we expected: 00Dx0000000BQlI
Organization Id that we found based on your assertion: 00D000000000062
サイト URL 属性
有効なサイト URL が指定された場合に検証されます。値は次のとおりです。
• 未指定
• オン
• サイトの URL が無効です
• HTTPS にはサイトの URL が必要です
• 指定サイトが無効であるか、ページの使用制限を超えています
29
SAML ログイン履歴のレビュー
ユーザがシングルサインオンを使用して他のアプリケーションから Salesforce に
ログインしてくると、SAML アサーションが Salesforce ログインページに送信され
ます。アサーションは、[設定] の [シングルサインオン設定] ページで指定された
認証証明書にあるアサーションと照合されます。ユーザがログインに失敗する
と、ログインに失敗した理由を示すメッセージがログイン履歴に書き込まれま
す。さらに、SAML アサーション検証に無効なアサーションが自動的に設定され
る可能性があります。
ログイン履歴を表示するには、[設定] から [クイック検索] ボックスに「ログイ
ン履歴」と入力し、[ログイン履歴]を選択します。ログイン履歴を参照した後、
ID プロバイダと情報の共有が必要な場合があります。
発生すると考えられるエラーは次のとおりです。
アサーションが期限切れです
アサーションのタイムスタンプが発行から 5 分以上経っています。
メモ: Salesforce では、3 分間のクロックスキューが許可されます。つま
りアサーションの実際の有効期間は、タイムスタンプの 3 分前から 8 分
後まで許容されることになります。アサーションの有効期間が 5 分未満
の場合、時間は短くなります。
アサーションが無効です
アサーションが有効ではありません。たとえば、アサーションの <Subject>
要素がないなどです。
利用者が無効です
<Audience> に指定する値は、https://saml.salesforce.com とします。
設定エラー/無効な権限
Salesforceの SAML 設定に問題があります。たとえば、アップロードした証明書
が壊れているか、組織設定が無効になっている可能性があります。設定を確
認するには、[設定] から [クイック検索] ボックスに「シングルサインオン設
定」と入力し、[シングルサインオン設定] を選択します。次に、ID プロバイ
ダから SAML アサーションのサンプルを入手し、[SAML アサーション検証] を
クリックします。
発行者が一致しません
アサーションで指定された発行者またはエンティティ ID が Salesforce 設定で指
定された発行者と一致しません。
エディション
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
認証プロバイダを使用可
能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
受信者が一致しません
アサーションで指定された受信者が Salesforce 設定で指定された受信者と一致しません。
再実行が検出されました
同じアサーション ID が複数回使用されました。アサーション ID は、組織内で一意にする必要があります。
30
SAML ログイン履歴のレビュー
署名が無効です
アサーションで指定された署名が Salesforce 設定で指定された証明書と一致しません。
件名確認エラー
アサーションで指定された <Subject> が Salesforce で指定された SAML 設定と一致しません。
31
SAML 用のジャストインタイムプロビジョニングにつ
いて
ジャストインタイムのプロビジョニングによって、SAML アサーションを使用し
エディション
て、ユーザがはじめてログインするときにその場で通常のユーザとポータルユー
ザを作成することができます。そのため、あらかじめユーザアカウントを作成
使用可能なエディション:
する必要性がなくなります。たとえば、最近、従業員を組織に追加した場合は、
Salesforce Classic と
Salesforce で手動でそのユーザを作成する必要はありません。ユーザがシングル
Lightning Experience の両方
サインオンでログインすると、アカウントが自動的に作成されるため、アカウ
使用可能なエディション:
ント登録にかかる時間と労力を排除できます。ジャストインタイムのプロビジョ
すべてのエディション
ニングは、SAML ID プロバイダと連動し、SAML 2.0 アサーションで正しいユーザ
情報をSalesforceに渡します。この方法でアカウントを作成および変更できます。
ジャストインタイムのプロビジョニングは、SAML を使用して通信するため、組織で SAML ベースのシングルサ
インオンが有効化されている必要があります。
ジャストインタイムプロビジョニングの利点
ジャストインタイムプロビジョニングを実装すると、組織は次の利点を得られます。
• 管理コストの削減: SAML を介してプロビジョニングすることにより、シングルサインオンプロセスの一部
として、担当者がオンデマンドで取引先を作成できます。このことにより、プロビジョニングプロセスお
よびシングルサインオンプロセスを 1 つのメッセージに結合することによって、ユーザが動的にプロビジョ
ニングを実行する必要のあるシナリオで必要な統合作業が大幅に簡略化されます。
• ユーザの採用の増加: 1 つのパスワードを 1 つ覚えるだけで、自分のメインのサイトと Salesforce の両方にア
クセスできます。そのため、ユーザが Salesforce アプリケーションを定期的に使用する可能性が高くなりま
す。
• セキュリティの向上: 企業ネットワーク用に作成したパスワードポリシーは、Salesforce にも有効となりま
す。また、1 回の使用のみ有効な認証情報を送信することで、機密データへのアクセス権を持つユーザに対
するセキュリティの向上を図れます。
ジャストインタイムプロビジョニングの要件
ジャストインタイムプロビジョニングでは SAML アサーションを作成する必要があります。SAML アサーション
を作成するときは、次の点を考慮してください。
• Provision Versionはオプションの属性としてサポートされています。この属性を指定しない場合、デ
フォルトは 1.0 です。例:
<saml:Attribute Name="ProvisionVersion" NameFormat=
"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">1.0</saml:AttributeValue>
</saml:Attribute>
32
SAML 用のジャストインタイムプロビジョニングについ
て
ジャストインタイムプロビジョニングの要件
• ProfileID は標準プロファイル用でも組織ごとに異なります。プロファイル名を検索しやすくするため、Salesforce
では、ProfileName を ProfileId 項目に渡すことでプロファイル名を検索できるようにしています。
SAML アサーションの項目の要件
Salesforce で作成するオブジェクトを正しく特定するには、SAML アサーションに渡されるすべてのプレフィッ
クスで [ユーザ] を使用する必要があります。次の例では、Username 項目名に User. プレフィックスが追加
されています。
<saml:Attribute
Name="User.Username"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">testuser@123.org</saml:AttributeValue>
</saml:Attribute>
次の標準項目をサポートしています。
項目
必須項目
コメント
AboutMe
この項目がない場合は、デフォルトは firstName および lastName
から派生します。
Alias
CallCenter
City
この項目がない場合は、デフォルトはユーザ名から派生しま
す。
CommunityNickname
CompanyName
Country
組織設定から派生します。
DefaultCurrencyIsoCode
DelegatedApproverId
Department
Division
Email
EmailEncodingKey
Y
例: User.Email=test2@salesforce.com
この項目がない場合は、デフォルトは組織設定から派生しま
す。
EmployeeNumber
Extension
Fax
33
SAML 用のジャストインタイムプロビジョニングについ
て
項目
ジャストインタイムプロビジョニングの要件
必須項目
コメント
この項目がある場合は、SAML 件名に一致する必要がありま
す。一致しない場合は、代わりに SAML 件名を取得します。
SAML では更新できません。
FederationIdentifier (挿入
のみ)
FirstName
ForecastEnabled
IsActive
LastName
Y
LanguageLocaleKey
この項目がない場合は、デフォルトは組織設定から派生しま
す。
LocaleSidKey
Manager
MobilePhone
Phone
ProfileId
Y
例: User.ProfileId=Standard User
ReceivesAdminInfoEmails
ReceivesInfoEmails
State
Street
この項目がない場合は、デフォルトは組織設定から派生しま
す。
TimeZoneSidKey
Title
Username (挿入のみ)
Y
UserRoleId
たとえば、User.Username=test2@test.com です。SAML
を使用して更新できません。
空白の場合、デフォルトは「ロールなし」に設定されます。
Zip
その他の項目の要件は次のとおりです。
• テキストタイプの項目のみがサポートされています。
• カスタム項目では、insert および update 関数のみがサポートされます。
• ユーザ作成で API を使用すると、User.Username 項目に新しいユーザ名を渡すことができます。また、こ
の項目がある場合は User.FederationIdentifier も指定できます。ただし、Username 項目および
FederationIdentifier 項目は、API を使用して更新できません。
34
SAML 用のジャストインタイムプロビジョニングについ
て
ポータルのジャストインタイムプロビジョニング
ポータルのジャストインタイムプロビジョニング
ポータルのジャストインタイム (JIT) のプロビジョニングによって、SAML アサーションを使用して、ユーザが
はじめてログインするときにその場で顧客とパートナーポータルユーザを作成することができます。そのた
め、あらかじめユーザアカウントを作成する必要性がなくなります。JIT は、SAML を使用して通信するため、
組織で SAML ベースのシングルサインオンが有効化されている必要があります。
メモ: Summer '13 リリースから、新しい組織ではカスタマーポータルおよびパートナーポータルを利用で
きなくなっています。既存の組織は、引き続きこれらのポータルにアクセスすることができます。カス
タマーポータルまたはパートナーポータルがない場合に顧客やパートナーと簡単に情報を共有するには、
コミュニティを使用します。
カスタマーポータルおよびパートナーポータルを使用している既存の組織は、それらのポータルを継続
して使用することも、コミュニティに移行することもできます。詳細は、Salesforce アカウントエグゼク
ティブにお問い合わせください。
ポータルユーザの作成
SAML アサーションの一部として [ポータル ID] と [組織 ID] を指定する必要があります。これらのパラメー
タは、組織またはポータルの会社情報ページにあります。通常のユーザもプロビジョンできるため、[ポータ
ル ID] は、通常の要求とポータル JIT プロビジョニング要求を区別するために使用されます。[ポータル ID]
が指定されていない場合、要求は通常プラットフォームユーザの JIT 要求として扱われます。ポータルユーザ
の作成の要件は、次のとおりです。
• [統合 ID] を指定すること。ID が既存のユーザアカウントに属する場合、そのユーザアカウントは更新さ
れます。ユーザアカウントが無効な場合、ユーザアカウントは更新されますが、JIT アサーションの
User.IsActive が true に設定されていない限り、無効なままです。その [統合 ID] のユーザアカウント
が存在しない場合、新規ユーザが作成されます。
• ポータルに自己登録が有効になっており、デフォルトの新規プロファイルとロールが指定されていない場
合、User.ProfileId 項目に、ポータルに関連付けられている有効なプロファイル名または ID が含まれる
こと。さらに、User.PortalRole 項目に、有効なポータルロール名または ID が含まれている必要があり
ます。
メモ: User.Role は null である必要があります。
取引先の作成と変更
有効な [取引先 ID] または Account.AccountNumber と Account.Name の両方を指定して、取引先を作成
または変更します。
• 一致は Account.AccountNumber に基づきます。複数の取引先が見つかった場合、エラーが表示されま
す。そうでない場合は、その取引先が更新されます。
• 一致する取引先が見つからない場合、新しい取引先が作成されます。
• SAML アサーションに Account.Owner を指定し、この所有者のプロファイルの Account.AccountNumber
項目の項目レベルセキュリティが表示されるように設定されている必要があります。
35
SAML 用のジャストインタイムプロビジョニングについ
て
ポータルのジャストインタイムプロビジョニング
取引先責任者の作成と変更
有効な User.Contact または Contact.Email と Contact.LastName の両方を指定して、取引先責任者を
作成または変更します。
• 一致は Contact.Email に基づきます。複数の取引先責任者が見つかった場合、エラーが表示されます。
そうでない場合は、その取引先責任者が更新されます。
• 一致する取引先責任者が見つからない場合、新しい取引先責任者が作成されます。
ポータル SAML アサーションでサポートされる項目
Salesforceに作成するオブジェクトを正しく識別するために、プレフィックスを使用する必要があります。SAML
アサーションでは、取引先スキーマのすべての項目に Account プレフィックスを使用し (たとえば、
Account.AccountId)、取引先責任者スキーマのすべての項目に Contact プレフィックスを使用します。次
の例では、[メール] 項目名に Contact プレフィックスが追加されています。
<saml:Attribute
Name="Contact.Email"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">testuser@123.org</saml:AttributeValue>
</saml:Attribute>
通常の SAML JIT ユーザにサポートされた標準項目のほかに、取引先では、次の項目がサポートされています。
項目
必須項目
コメント
町名・番地|市区郡|都道府県|郵便番号|国
Billing
AnnualRevenue
Description
Fax
FederationIdentifier (挿入
Y
この項目がある場合は、SAML 件名に一致する必要がありま
す。一致しない場合は、代わりに SAML 件名を取得します。
SAML で更新することはできません。
Y
すべてのポータルユーザに Worker を使用します。
のみ)
IsCustomerPortal
IsPartner
NumberOfEmployees
Ownership
Phone
PortalRole
Rating
Street
TickerSymbol
36
SAML 用のジャストインタイムプロビジョニングについ
て
項目
コミュニティのジャストインタイムプロビジョニング
必須項目
コメント
空白の場合、デフォルトは「ロールなし」に設定されます。
UserRoleId
Website
Zip
通常の SAML JIT ユーザにサポートされた標準項目のほかに、取引先責任者では、次の項目がサポートされてい
ます。
項目
必須項目
コメント
Birthdate
CanAllowPortalSelfReg
氏名|電話
Department
Description
DoNotCall
Fax
HasOptedOutofEmail
HasOptedOutofFax
HomePhone
LeadSource
Mailing
町名・番地|市区郡|都道府県|郵便番号|国
MobilePhone
Owner
Other
町名・番地|市区郡|都道府県|郵便番号|国
OtherPhone
Phone
Salutation
Title
コミュニティのジャストインタイムプロビジョニング
コミュニティのジャストインタイム (JIT) のプロビジョニングによって、SAML アサーションを使用して、ユー
ザが ID プロバイダからはじめてログインするときにその場で顧客とパートナーコミュニティユーザを作成す
ることができます。そのため、あらかじめユーザアカウントを作成する必要性がなくなります。JIT は、SAML
37
SAML 用のジャストインタイムプロビジョニングについ
て
コミュニティのジャストインタイムプロビジョニング
を使用して通信するため、組織で SAML ベースのシングルサインオンが有効化されている必要があります。そ
の後、ID プロバイダと連携して必要な JIT の SAML アサーションを生成できます。
SAML シングルサインオン設定
[SAML を有効化] を使用したシングルサインオン用の SAML 設定の手順に従います。必要に応じて値を設定
し、JIT プロビジョニングのコミュニティに固有の次の値も含めます。
1. [ユーザプロビジョニングの有効化] をオンにします。
メモ:
• ジャストインタイムプロビジョニングでは、ユーザタイプの統合 ID が必要です。[SAML のユーザ
ID 種別] で、[アサーションには、ユーザオブジェクトの統合 ID が含まれます] を選択します。
• ID プロバイダが Salesforce ユーザ名を以前使用していた場合は、統合 ID を使用する必要があること
を ID プロバイダに通知してください。
2. [エンティティ ID] は組織全体で一意であり、https で始まる必要があります。1 つの組織に [エンティティ
ID] が同じ 2 つの SAML 設定を使用することはできません。[エンティティ ID] に基本ドメイン
(https://saml.salesforce.com) を使用するか、コミュニティ URL
(https://acme.force.com/customers など) を使用するかを指定します。この情報は、ID プロバイダと
共有する必要があります。
ヒント: 通常、エンティティ ID としてコミュニティ URL を使用します。Salesforce to Salesforce サービスを
提供する場合、コミュニティ URL を指定する必要があります。
3. [SAML のユーザ ID 種別] で、[アサーションには、ユーザオブジェクトの統合 ID が含まれます] を選択
します。ID プロバイダが Salesforce ユーザ名を以前使用していた場合は、統合 ID を使用する必要があること
を ID プロバイダに通知してください。
コミュニティユーザの作成と変更
SAML アサーションには次が必要です。
• [受信者] URL。これは、組織の SAML シングルサインオン設定詳細ページからのコミュニティログイン URL
です。URL は次の形式を使用します。
https://<community_URL>/login?so=<orgID>
たとえば、Recipient="https://acme.force.com/customers/login?so=00DD0000000JsCM" とした
場合、acme.force.com/customers がコミュニティホームページで、00DD0000000JsCM が [組織 ID]
です。
アサーション復号化証明書が組織の SAML シングルサインオン設定にアップロードされている場合、sc パ
ラメータを使用して URL に証明書 ID を含めます。たとえば、
Recipient="https://acme.force.com/customers/login?so=00DD0000000JsCM&sc=0LE000000Dp"
とした場合、0LE000000Dp が証明書 ID です。
38
SAML 用のジャストインタイムプロビジョニングについ
て
コミュニティのジャストインタイムプロビジョニング
• Salesforce で、SAML アサーションの件名内 (または、SAML シングルサインオン設定での SAML ID の場所の定義
方法によっては属性要素内) の [統合 ID] を既存のユーザレコードの FederationIdentifier 項目と照
合すること。
1. 一致するユーザレコードが見つかった場合は、SAML アサーションの属性を使用して指定された項目を
更新します。
2. 一致するユーザレコードが見つからなかった場合は、指定された [取引先 ID] (Contact.Account ま
たは Account.AccountNumber) の取引先責任者の一致を取引先責任者 ID (User.ContactId) またはメー
ル (Contact.Email) に基づいて検索します。
i. 一致する取引先責任者レコードが見つかった場合は、SAML アサーションの属性を使用して指定され
た取引先責任者項目を更新してから、新しいユーザレコードを挿入します。
ii. 一致する取引先責任者レコードが見つからなかった場合は、SAML アサーションで指定された
Contact.Account または Account.AccountNumber と Account.Name の両方に基づいて取引先
の一致を検索するか、一致が見つかった場合は取引先の既存の取引先責任者とユーザレコードを更
新します。
i. 一致する取引先レコードが見つかった場合は、新しいユーザレコードを挿入し、SAML アサーショ
ンで指定された属性に基づいて取引先レコードを更新します。
ii. 一致する取引先レコードが見つからなかった場合は、SAML アサーションで指定された属性に基づ
いて新しい取引先レコード、新しい取引先責任者レコード、および新しいユーザレコードを挿入
します。
ユーザアカウントが無効な場合、ユーザアカウントは更新されますが、JIT アサーションの User.IsActive
が true に設定されていない限り、無効なままです。その [統合 ID] のユーザアカウントが存在しない場
合、新規ユーザが作成されます。
• コミュニティで自己登録が無効になっており、デフォルトの新規ユーザプロファイルとロールが指定され
ていない場合、User.ProfileId 項目に、コミュニティに関連付けられている有効なプロファイル名また
は ID が含まれること。
Salesforce は、SAML アサーションの件名内の [統合 ID] を既存のユーザレコードの FederationIdentifier
項目と照合します。
メモ: Salesforce では、SAML アサーション内のユーザオブジェクトのカスタム項目もサポートされていま
す。User で始まるアサーションの属性は、カスタム項目として解析されます。たとえば、アサーション
の属性 User.NumberOfProductsBought__c は、プロビジョニングされるユーザの
NumberOfProductsBought 項目に配置されます。取引先と取引先責任者ではカスタム項目はサポート
されていません。
コミュニティ SAML アサーションでサポートされる項目
Salesforceに作成するオブジェクトを正しく識別するために、プレフィックスを使用する必要があります。SAML
アサーションでは、取引先スキーマのすべての項目に Account プレフィックスを使用し (たとえば、
39
SAML 用のジャストインタイムプロビジョニングについ
て
コミュニティのジャストインタイムプロビジョニング
Account.AccountId)、取引先責任者スキーマのすべての項目に Contact プレフィックスを使用します。次
の例では、[メール] 項目名に Contact プレフィックスが追加されています。
<saml:Attribute
Name="Contact.Email"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<saml:AttributeValue xsi:type="xs:anyType">testuser@123.org</saml:AttributeValue>
</saml:Attribute>
通常の SAML JIT ユーザにサポートされた標準項目のほかに、取引先では、次の項目がサポートされています。
項目
必須項目
コメント
町名・番地|市区郡|都道府県|郵便番号|国
Billing
AnnualRevenue
Description
Fax
FederationIdentifier (挿入
Y
のみ)
この項目がある場合は、SAML 件名に一致する必要がありま
す。一致しない場合は、代わりに SAML 件名を取得します。
SAML で更新することはできません。
IsCustomerPortal
IsPartner
NumberOfEmployees
Ownership
Phone
PortalRole
Rating
Street
TickerSymbol
空白の場合、デフォルトは「ロールなし」に設定されます。
UserRoleId
Website
Zip
通常の SAML JIT ユーザにサポートされた標準項目のほかに、取引先責任者では、次の項目がサポートされてい
ます。
項目
必須項目
コメント
Birthdate
40
SAML 用のジャストインタイムプロビジョニングについ
て
項目
CanAllowPortalSelfReg
ジャストインタイムプロビジョニングのエラー
必須項目
コメント
氏名|電話
Department
Description
DoNotCall
Fax
HasOptedOutofEmail
HasOptedOutofFax
HomePhone
LeadSource
Mailing
町名・番地|市区郡|都道府県|郵便番号|国
MobilePhone
Owner
町名・番地|市区郡|都道府県|郵便番号|国
Other
OtherPhone
Phone
Salutation
Title
ジャストインタイムプロビジョニングのエラー
次に、SAML 用のジャストインプロビジョニングのエラーコードと説明を示します。
SAML エラーは URL パラメータで返されます。次に例を示します。
http://login.salesforce.com/identity/jit/saml-error.jsp?
ErrorCode=5&ErrorDescription=Unable+to+create+user&ErrorDetails=
INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST+TimeZoneSidKey
メモ: Salesforce では、SAML 構成でカスタムエラー URL が指定されている場合、この URL をリダイレクトし
ます。
エラーメッセージ
コード 説明
エラーの詳細
1
MISSING_FEDERATION_ID
統合 ID がありません
41
SAML 用のジャストインタイムプロビジョニングについ
て
コード 説明
ジャストインタイムプロビジョニングのエラー
エラーの詳細
2
統合 ID が一致しません
MISMATCH_FEDERATION_ID
3
組織 ID が無効です
INVALID_ORG_ID
4
ロックを取得できません
USER_CREATION_FAILED_ON_UROG
5
ユーザを作成できません
USER_CREATION_API_ERROR
6
管理コンテキストを設定できません
ADMIN_CONTEXT_NOT_ESTABLISHED
8
不明なカスタム項目です
UNRECOGNIZED_CUSTOM_FIELD
9
不明な標準項目です
UNRECOGNIZED_STANDARD_FIELD
11
ライセンスの制限を超えています
LICENSE_LIMIT_EXCEEDED
12
統合 ID とユーザ名が一致しません
MISMATCH_FEDERATION_ID_AND_USERNAME_ATTRS
13
プロビジョン API バージョンがサポー
トされていません
UNSUPPORTED_VERSION
14
ユーザ名は変更できません
USER_NAME_CHANGE_NOT_ALLOWED
15
カスタムデータ型はサポートされてい UNSUPPORTED_CUSTOM_FIELD_TYPE
ません
16
PROFILE_NAME_LOOKUP_ERROR
特定のプロファイル名の一意のプロ
ファイル ID を対応付けることができま
せん
17
特定のロール名の一意のロール ID を対 ROLE_NAME_LOOKUP_ERROR
応付けることができません
18
取引先が無効です
INVALID_ACCOUNT_ID
19
取引先名がありません
MISSING_ACCOUNT_NAME
20
取引先番号がありません
MISSING_ACCOUNT_NUMBER
22
取引先を作成できません
ACCOUNT_CREATION_API_ERROR
23
取引先責任者が無効です
INVALID_CONTACT
24
取引先責任者メールがありません
MISSING_CONTACT_EMAIL
25
取引先責任者の姓がありません
MISSING_CONTACT_LAST_NAME
26
取引先責任者を作成できません
CONTACT_CREATION_API_ERROR
27
一致する取引先責任者が複数見つかり MULTIPLE_CONTACTS_FOUND
ました
28
一致する取引先が複数見つかりました MULTIPLE_ACCOUNTS_FOUND
42
SAML 用のジャストインタイムプロビジョニングについ
て
コード 説明
ジャストインタイムプロビジョニングのエラー
エラーの詳細
30
取引先の所有者が無効です
INVALID_ACCOUNT_OWNER
31
ポータルプロファイルが無効です
INVALID_PORTAL_PROFILE
32
取引先の変更は許可されていません
ACCOUNT_CHANGE_NOT_ALLOWED
33
取引先を更新できません
ACCOUNT_UPDATE_FAILED
34
取引先責任者を更新できません
CONTACT_UPDATE_FAILED
35
標準取引先項目の値が無効です
INVALID_STANDARD_ACCOUNT_FIELD_VALUE
36
取引先責任者の変更は許可されていま CONTACT_CHANGE_NOT_ALLOWED
せん
37
ポータルのロールが無効です
INVALID_PORTAL_ROLE
38
ポータルロールを更新できません
CANNOT_UPDATE_PORTAL_ROLE
39
SAML JIT ハンドラクラスが無効です
INVALID_JIT_HANDLER
40
実行ユーザが無効です
INVALID_EXECUTION_USER
41
実行エラー
APEX_EXECUTION_ERROR
42
個人取引先を持つ取引先責任者の更新 UNSUPPORTED_CONTACT_PERSONACCT_UPDATE
はサポートされていません
43
シングルサインオン実装のベストプラクティス
Salesforce には、シングルサインオンを使用する方法として、次の方法がありま
す。
エディション
• Security Assertion Markup Language (SAML) を使用する統合認証を使用すると、関連
付けられているが関連のない Web サービス間で認証と認証データを送信する
ことができます。これにより、クライアントアプリケーションから Salesforce
にサインオンできます。SAML を使用した統合認証は、組織でデフォルトで有
効化されています。
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
• 代理認証のシングルサインオンを使用すると、Salesforce と選択した認証メ
ソッドを統合することができます。これにより、LDAP (Lightweight Directory Access
Protocol) サーバによる認証を統合するか、パスワードの変わりにトークンを
使用する認証にシングルサインオンを実行することができます。一部のユー
ザは代理認証を使用し、それ以外のユーザは引き続きSalesforce管理パスワー
ドを使用するように、権限レベルで代理認証を管理します。代理認証は組織
単位ではなく、権限ごとに設定されます。
代理認証を使用する主な理由を次に示します。
– 安全な ID プロバイダとのインテグレーションなど、より厳密なユーザ認
証を使用できる
– ログインページを非公開にし、企業ファイアウォールの内側からのみア
クセスできるようにする
– フィッシング攻撃を減らすために、Salesforceを使用する他のすべの企業と
差別化できる
この機能をSalesforceで有効化されるよう要求する必要があります。組織の代
理認証シングルサインオンの有効化については、Salesforce にお問い合わせく
ださい。
• 認証プロバイダは外部サービスプロバイダのログイン情報を使用して、
Salesforce組織にユーザがログインできるようにします。Salesforceでは、OpenID
Connect プロトコルがサポートされており、ユーザは任意の OpenID プロバイ
ダ (OpenID Connect をサポートする Google、Paypal、LinkedIn などのサービス) か
らログインできます。認証プロバイダが有効化されている場合、Salesforce は
ユーザのパスワードを検証しません。代わりに、Salesforce は外部サービスプ
ロバイダのユーザログイン情報を使用して、認証情報を設定します。
統合認証を使用可能なエ
ディション: すべてのエ
ディション
代理認証を使用可能なエ
ディション: Professional
Edition、Enterprise
Edition、Performance
Edition、Unlimited Edition、
Developer Edition、および
Database.com Edition
カスタマーポータルおよ
びパートナーポータルは
Database.com Edition では
利用できません。
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
さらに、サイトだけでなくポータルで使用するように SAML を設定することもできます。
代理認証のベストプラクティス
組織で代理認証シングルサインオンを実装する場合は、次のベストプラクティスを考慮してください。
44
シングルサインオン実装のベストプラクティス
• 組織の Web サービスの実装は、Salesforce サーバからアクセスできる必要があります。これは、Web サービ
スを DMZ 内のサーバにリリースする必要があるということです。Salesforceで、[代理認証] セクション ([設定]
から [クイック検索] ボックスに「シングルサインオン設定」と入力し、[シングルサインオン設定] を選択)
に [代理ゲートウェイ URL] を入力するときは、サーバの外部 DNS 名を使用してください。
• Salesforce とシステムを接続できない場合、または要求の処理に 10 秒以上かかる場合は、ログイン試行は失
敗します。エラーはユーザに報告され、ユーザ企業の認証サービスが停止していることを示します。
• 名前空間、要素名、大文字の使用は、SOAP リクエストにあるとおりとします。可能な限り、WSDL からサー
バスタブを生成して正確性を保つようにします。
• セキュリティ上の理由から、Web サービスは TLS で使用可能にしてください。Verisign や Thawte などの信頼
できるプロバイダから得た証明書を使用する必要があります。信頼できるプロバイダの一覧については、
Salesforce にお問い合わせください。
• ログイン要求を出した IP アドレスは、sourceIp です。この情報を使用して、ユーザの場所に基づいてア
クセスを制限します。ログイン IP の範囲を検証する Salesforce の機能は、シングルサインオンユーザに対し
ても有効です。詳細は、「ユーザがSalesforceにログインできる範囲と時間帯の制限」を参照してください。
• 社内組織で利用しているユーザ名と Salesforce ユーザ名との対応付けが必要な場合があります。組織が標準
の対応付けに従っていない場合、ユーザデータベーススキーマ (Active Directory など) を拡張して、Salesforce
ユーザ名をユーザアカウントの属性として含めることができる場合があります。そうすることで、お使い
の認証サービスで、この属性を使用してユーザアカウントを対応付けることができます。
• システム管理者に対しては、シングルサインオンを有効にしないことをお勧めします。システム管理者が
シングルサインオンユーザの場合、シングルサインオンサーバが機能停止すると、Salesforce にログインす
る方法がなくなります。システム管理者は、問題がある場合にはシングルサインオンを無効にできるよう
に、常に Salesforce にログインできるようにしておく必要があります。
• 組織に実装する前にシングルサインオンソリューションを開発するときには、Developer Edition または Sandbox
のアカウントの使用をお勧めします。無償の Developer Edition アカウントにサインアップするには、
developer.salesforce.com にアクセスしてください。
• Salesforce for Outlook、Connect for Office、および Connect Offline などの Salesforce クライアントで実装を必ずテスト
してください。詳細は、「Single Sign-On for Salesforce clients」を参照してください。
SAML ベストプラクティスを使用した統合認証
組織で SAML を使用した統合シングルサインオンを実装する場合は、次のベストプラクティスを考慮してくだ
さい。
• [シングルサインオン設定] ページから [Salesforce ログイン URL] 値を取得し、ID プロバイダの設定パ
ラメータの対応箇所 (「受信者 URL」と呼ばれることがある) に指定します。
• Salesforce では、IDP サーバを使用したクロックスキューを最大 3 分間許可します。サーバクロックが最新で
あることを確認してください。
• SAML アサーションを使ったログインができない場合、ログイン履歴を常にチェックし、エラーメッセージ
を記録します。トラブルシューティングするには、[シングルサインオン設定] ページで SAML アサーション
検証を使用します。
• 社内組織で利用しているユーザ名と Salesforce ユーザ名との対応付けが必要な場合があります。各 Salesforce
ユーザの FederationIdentifier 項目に一意の識別子を追加する、またはユーザデータベーススキーマ
45
シングルサインオン実装のベストプラクティス
(Active Directory など) を拡張して、Salesforce ユーザ名をユーザアカウントの属性として追加します。[SAML
のユーザ ID 種別] 項目の対応するオプションを選択し、SAML アサーションの識別子を送信するよう、認
証サービスを設定します。
• SAML アサーションを使用したログインをユーザに許可する前に、SAML 組織設定を有効にし、必要な設定を
すべて行ってください。
• ユーザが Salesforce に直接ログインできないようにするには、[私のドメイン] 機能を使用し、ログインポリ
シーについてシステム管理者が制御できるようにします。[シングルサインオン設定] 設定ページの
[Salesforce ログイン URL] 値で指定した URL パラメータをカスタムドメインで使用できます。
たとえば、[Salesforce ログイン URL] が https://login.salesforce.com/?saml=02HKiP... の場
合、
https://yourDomain.my.salesforce.com/?saml=02HKiP... を使用できます。
• SAML シングルサインオンソリューションをテストするときには、Sandbox または Developer Edition のアカウン
トの使用をお勧めします。無償の Developer Edition アカウントにサインアップするには、developer.salesforce.com
にアクセスしてください。
• Sandbox のコピーは、SAML を使用する統合認証を無効にして作成されます。[Salesforce ログイン URL]
の値を除き、設定情報はすべて保存されます。[Salesforce ログイン URL] は、SAML を再度有効にした
後、Sandbox URL と一致するように更新されます (例: https://yourInstance.salesforce.com/)。Sandbox
で SAML を有効化するには、[設定] から [クイック検索] ボックスに「シングルサインオン設定」と入力し、
[シングルサインオン設定] を選択します。次に、[編集] をクリックして [SAML を有効化] を選択します。
• ID プロバイダによって、ユーザがサービスプロバイダの利用者 URL を設定することが許可されている必要
があります。この値はシングルサインオン設定の [エンティティ ID] の値と一致する必要があります。デ
フォルト値は、https://saml.salesforce.com です。
ポータルのシングルサインオンのベストプラクティス
Summer '13 リリース以降では、新しい組織にカスタマーポータルとパートナーポータルを使用できません。代
わりに、コミュニティを使用します。コミュニティのシングルサインオンおよび SAML の詳細は、「Salesforce
Communites 実装ガイド」の「コミュニティの SAML の設定」を参照してください。ポータルを引き続き使用す
る場合は、次の点に注意してください。
• ポータルで使用できるのは、SAML バージョン 2.0 のみです。
• カスタマーポータルおよびパートナーポータルのみがサポートされます。
• ログインを開始したサービスプロバイダはサポートされません。
• ポータルのシングルサインオンには、portal_id および organization_id 属性の両方が必須です。1 つ
だけ指定した場合、ユーザにはエラーが表示されます。
• portal_id および organization_id の両方の属性が SAML アサーションに存在する場合、ユーザはその
ポータルログインに送られます。どちらも指定されていない場合、ユーザは通常の SAML Salesforce ログイン
に送られます。
• 1 つの組織で複数のポータルを使用できます。
46
シングルサインオン実装のベストプラクティス
サイトのシングルサインオンのベストプラクティス
• サイトで使用できるのは、SAML バージョン 2.0 のみです。
• カスタマーポータルおよびパートナーポータルのみがサポートされます。
• ログインを開始したサービスプロバイダはサポートされません。
• サイトのシングルサインオンには、portal_id、organization_id、および siteUrl 属性が必須です。
1 つだけ指定した場合、ユーザにはエラーが表示されます。
• portal_id、organization_id、および siteUrl の 3 つすべての属性が SAML アサーションに存在する場
合、ユーザはそのサイトログインに送られます。siteUrl が入力されておらず、他の 2 つの属性が入力さ
れている場合、ユーザはポータルログインに送られます。
• 1 つの組織で複数のポータルを使用できます。
47
ポータルのシングルサインオンの有効化
シングルサインオンを使用すると、ユーザは各リソースに個別にログインする
ことなく、認証済みのすべてのネットワークリソースにアクセスできます。企
業ユーザのデータベースまたはクライアントアプリケーションに対してユーザ
名とパスワードを検証でき、Salesforce 管理の個別のユーザパスワードは必要あ
りません。
カスタマーポータルおよびパートナーポータルでSAMLシングルサインオンを使
用するように設定して、ユーザのログインを一度で済ませることができます。
メモ: ポータルでのシングルサインオンは SAML 2.0 でのみサポートされてい
ます。
ポータルのシングルサインオンを有効にする手順は、次のとおりです。
1. ID プロバイダと収集および共有する必要のあるSAML サインオン情報のほか、
情報プロバイダに組織 ID とポータル ID を知らせる必要があります。ID プロバ
イダから送信される SAML アサーションで、portal_id および
organization_id を属性として追加する必要があります。
メモ: これらの属性を空白のままにして、ポータルユーザとプラット
フォームユーザを区別できるようになりました。たとえば、属性を空白
のままにした場合は、通常のプラットフォームユーザで、入力した場合
はポータルユーザです。
a. [設定] から、[クイック検索] ボックスに「組織情報」と入力し、[組織情
報] を選択して、[Salesforce 組織 ID] にある ID をコピーします。
b. カスタマーポータルの場合、[設定] から [クイック検索] ボックスに「カ
スタマーポータル設定」と入力し、[カスタマーポータル設定] を選択し、
カスタマーポータルの名前をクリックして、[ポータル ID] にある ID を
コピーします。
c. パートナーポータルの場合、[設定] から [クイック検索] ボックスに「パー
トナー」と入力し、[設定]を選択します。次に、パートナーポータルの名
前をクリックして、[Salesforce ポータル ID] にある ID をコピーします。
48
エディション
使用可能なエディション:
Salesforce Classic
カスタマーポータルを使
用可能なエディション:
Enterprise Edition、
Performance Edition、
Unlimited Edition、および
Developer Edition
パートナーポータルを使
用可能なエディション:
Enterprise Edition、
Performance Edition、およ
び Unlimited Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
代理認証シングルサインオンについて
Salesforce は、代理認証シングルサインオンによるユーザ認証で、次の手順を使
用します。
エディション
1. ユーザが、オンラインまたは API の使用のいずれかでログインしようとする
と、Salesforceはユーザ名を確認し、そのユーザの権限とアクセス設定をチェッ
クします。
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
2. ユーザに「シングルサインオンの有効」ユーザ権限がある場合、Salesforce は
ユーザ名とパスワードを確認しません。代わりに、ユーザの組織に Web サー
ビスコールを行って、ユーザ名とパスワードを確認するように依頼します。
使用可能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、
Developer Edition、および
Database.com Edition
メモ: Salesforce ではいかなる方法でもパスワードの保存、記録、または
表示を行いません。パスワードはプロセスの完了直後に破棄されます。
3. Web サービスコールは、username、password、および sourceIp を Web
サービスに渡します (sourceIp は、ログイン要求を出した IP アドレスです。
Salesforce サーバからアクセスできる Web サービスの実装を作成しリリースす
る必要があります)。
4. Web サービスの実装では、渡された情報を確認し、true または false を返
します。
5. 返答が true ならば、ログイン処理を続行して、新しいセッションを生成
し、ユーザはアプリケーションの処理を進めます。false が返されると、
ユーザにはユーザ名とパスワードの組み合わせが無効であることが通知され
ます。
メモ: ユーザのアカウントを組織で有効化するために必要な時間によって
は、代理認証を行ってからユーザがログインできるようになるまでにわず
かな遅延が生じる場合があります。
49
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
代理認証シングルサインオンについて
代理認証向けの Salesforce 設定
代理認証向けの Salesforce 設定
組織の代理認証シングルサインオン (SSO) を有効にする手順は、次のとおりで
す。
エディション
1. 組織の代理認証シングルサインオンの有効化については、Salesforce にお問い
合わせください。
使用可能なエディション:
Salesforce Classic と
Lightning Experience の両方
2. シングルサインオン Web サービスを作成します。
a. Salesforce で、[設定] から [クイック検索] ボックスに「代理認証 WSDL を
ダウンロード」と入力し、[代理認証 WSDL をダウンロード] を選択して、
Web サービス記述言語 (WSDL) ファイル AuthenticationService.wsdl
をダウンロードします。WSDL は、代理認証シングルサインオンサービス
を記述するもので、特定の実装を追加するサーバ側スタブを自動的に生
成するために使用できます。たとえば、Apache Axis から入手できる
WSDL2Java ツールでは、--server-side スイッチを使用できます。.NET
から入手できる wsdl.exe ツールでは、/server スイッチを使用できます。
要求と応答のサンプルについての詳細は、「代理認証の SOAP メッセージ
のサンプル」 (ページ 23)を参照してください。
b. 企業イントラネットまたはその他の社内でアクセス可能なサイトにリン
クを追加し、そこで認証済みユーザの認証情報を取得し、それを HTTP POST
経由で Salesforce ログインページに渡します。
Salesforce では password 項目はユーザに戻す場合以外には使用しないた
め、この項目にパスワードを入れて送信する必要はありません。代わり
に、Kerberos Ticket などの他の認証トークンを渡して、実際の企業パスワー
ドが Salesforce との間でやりとりされないようにすることができます。
使用可能なエディション:
Professional Edition、
Enterprise Edition、
Performance Edition、
Unlimited Edition、
Developer Edition、および
Database.com Edition
ユーザ権限
設定を参照する
• 「設定・定義を参照す
る」
設定を編集する
• 「アプリケーションの
カスタマイズ」
および
「すべてのデータの編
集」
Salesforce代理認証機関を設定して、トークンのみを許可するか、トークン
およびパスワードのいずれかを受け付けるようにできます。機関がトークンのみを受け付ける場合、
Salesforce ユーザは有効なトークンを作成できないため、直接 Salesforce にログインすることはできませ
ん。ただし、多くの企業はトークンとパスワードの両方を許可することを選択します。この環境の場
合、ユーザはまだログインページから Salesforce にログインできます。
Salesforce サーバから Authenticate メッセージで認証情報が戻されたら、それを確認します。これで
ユーザはアプリケーションへのアクセス権が得られます。
3. Salesforce で、[設定] から [クイック検索] ボックスに「シングルサインオン」と入力し、[シングルサインオ
ン設定] を選択し、[編集] をクリックして、組織のシングルサインオンゲートウェイ URL を指定します。URL
を [代理ゲートウェイ URL] テキストボックスに入力します。
セキュリティ上の理由から、Salesforce では、指定できる送信ポートを、次のいずれかに制限します。
• 80: このポートは、HTTP 接続のみを受け付けます。
• 443: このポートは、HTTPS 接続のみを受け付けます。
• 1024–66535 (1024 と 66535 も含む): これらのポートは、HTTP 接続または HTTPS 接続を受け付けます。
4. 必要に応じて、[代理認証コールアウトの強制実行] チェックボックスをオンにします。
50
代理認証シングルサインオンについて
代理認証向けの Salesforce 設定
メモ: このチェックボックスをオフにすると、Salesforce 組織内のログイン制限が原因で最初のログイ
ンに失敗した場合、SSO エンドポイントへのコールは行われません。ログイン試行すべてを記録する
必要がある場合は、このチェックボックスをオンにして、ログイン制限が失敗したかどうかに関係な
く SSO エンドポイントへのコールアウトが強制的に実行されるようにします。
5. 「シングルサインオンの有効」権限を有効にします。
重要:
51
代理認証実装サンプル
サンプルを入手するには、Salesforce Developers Web サイトから .NET 用サンプルコードをダウンロードしてくださ
い。
このサンプルは、C# で記述され、Active Directory に対してユーザを認証します。最初のサンプルは、代理認証
の単純な実装です。2 つ目のより複雑なサンプルは、認証トークンを使用したシングルサインオンソリュー
ションです。どちらのサンプルも Microsoft .NET v1.1 を使用し、Windows Sever 2003 で IIS 6 を使用してリリースされ
ています。サンプルをビルドするには、同梱されている makefile を使用してください。
サンプル 1
これは、simple.asmx.cs に実装されます。このファイルでは、新しいクラス SimpleAdAuth を宣言しま
す。これは、メソッド Authenticate が 1 つ含まれる Web サービスです。このメソッドでは複数の属性が宣
言されます。これらの属性によって、期待される要求と生成される応答のフォーマット設定が制御され、WSDL
でメッセージ定義を照合するサービスが設定されます。実装では、渡された認証情報を使用し、LDAP プロバ
イダ経由で Active Directory への接続を試みます。接続に成功した場合、認証情報は有効であり、それ以外の場
合、認証情報は無効です。
サンプル 2
このより複雑な例では、パスワードではなく認証トークンを生成して検証します。実装の大部分は sso.asmx.cs
ファイルに含まれます。このファイルは、認証トークンを生成できる SingleSignOn クラスを定義し、認証
サービスを実装して後でそのトークンを検証します。生成されたトークンは、トークン番号、有効期限のタイ
ムスタンプ、ユーザ名で構成されます。すべてのデータは暗号化されて署名されます。
検証プロセスでは、署名の検証、トークンの復号化、トークンが期限切れでないことの確認、トークン番号が
以前使用されていないことの確認を行います (トークン番号と有効期限のタイムスタンプは、リプレイ攻撃の
防止に使用されます)。ファイル gotosfdc.aspx は、イントラネットファイルからリリースまたはリンクさ
れるように設計された ASPX ページです。このページで強制的にユーザの認証を行い、ユーザの新しい認証トー
クンを生成し、さらにそのトークンをローカル NT ユーザ名から対応付けられたユーザ名と一緒に Salesforce ロ
グインページに POST 送信します。Salesforce ログインプロセスは、認証トークンをサービスに返送し、サービ
スがトークンを検証して、ユーザが Salesforce にログインできるようにします。intranet.aspx は、
gotosfdc.aspx にリンクする単純なページであるため、この動作を確認できます。
52
よくある質問 (FAQ)
シングルサインオンを有効にする方法は?
Salesforce には、シングルサインオンを使用する方法として、次の方法があります。
• Security Assertion Markup Language (SAML) を使用する統合認証を使用すると、関連付けられているが関連の
ない Web サービス間で認証と認証データを送信することができます。これにより、クライアントアプリ
ケーションから Salesforce にサインオンできます。SAML を使用した統合認証は、組織でデフォルトで有
効化されています。
• 代理認証のシングルサインオンを使用すると、Salesforceと選択した認証メソッドを統合することができ
ます。これにより、LDAP (Lightweight Directory Access Protocol) サーバによる認証を統合するか、パスワード
の変わりにトークンを使用する認証にシングルサインオンを実行することができます。一部のユーザは
代理認証を使用し、それ以外のユーザは引き続きSalesforce管理パスワードを使用するように、権限レベ
ルで代理認証を管理します。代理認証は組織単位ではなく、権限ごとに設定されます。
代理認証を使用する主な理由を次に示します。
– 安全な ID プロバイダとのインテグレーションなど、より厳密なユーザ認証を使用できる
– ログインページを非公開にし、企業ファイアウォールの内側からのみアクセスできるようにする
– フィッシング攻撃を減らすために、Salesforce を使用する他のすべの企業と差別化できる
この機能をSalesforceで有効化されるよう要求する必要があります。組織の代理認証シングルサインオン
の有効化については、Salesforce にお問い合わせください。
• 認証プロバイダは外部サービスプロバイダのログイン情報を使用して、Salesforce組織にユーザがログイ
ンできるようにします。Salesforce では、OpenID Connect プロトコルがサポートされており、ユーザは任意
の OpenID プロバイダ (OpenID Connect をサポートする Google、Paypal、LinkedIn などのサービス) からログイ
ンできます。認証プロバイダが有効化されている場合、Salesforce はユーザのパスワードを検証しませ
ん。代わりに、Salesforceは外部サービスプロバイダのユーザログイン情報を使用して、認証情報を設定
します。
Salesforce のどこでシングルサインオンを設定すればよいですか?
代理認証シングルサインオンの場合:
• WSDL にアクセスするには、[設定] から [クイック検索] ボックスに「API」と入力し、[API] を選択し、
[代理認証 WSDL をダウンロード] を選択します。
• 組織のシングルサインオンゲートウェイ URL を指定するには、[設定] から [クイック検索] ボックスに
「シングルサインオン設定」と入力し、[シングルサインオン設定] を選択し、[編集] を選択します。
• シングルサインオンユーザの「シングルサインオンの有効」ユーザ権限を有効化するには、[設定] から
[クイック検索] ボックスに「権限セット」と入力し、[権限セット] を選択します。
SAML を使用する統合認証の場合:
• [設定] から、[クイック検索] ボックスに「シングルサインオン設定」と入力し、[シングルサインオン設
定] を選択し、[編集] をクリックします。
53
よくある質問 (FAQ)
シングルサインオンの実装時にパスワードをリセットする方法は?
代理認証を使用するシングルサインオンユーザの場合、Salesforce でそのパスワードが管理されなくなるた
め、パスワードリセットは無効化されます。ユーザが Salesforce でパスワードをリセットしようとすると、
Salesforce システム管理者に転送されます。
シングルサインオンログインエラーを表示できる場所は?
代理認証の場合、「すべてのデータの編集」権限を持つシステム管理者は、[設定] から [クイック検索]
ボックスに「代理認証のエラー履歴」と入力し、[代理認証のエラー履歴] を選択して、組織のシングルサイ
ンオンログインエラーを新しい順に 21 件表示できます。失敗したログインごとに、ユーザのユーザ名、ロ
グイン時刻、およびエラーが表示されます。統合認証の場合、システム管理者は [設定] から [クイック検
索] ボックスに「ログイン履歴」と入力し、[ログイン履歴] を選択して、ログインエラーを表示できます。
失敗した SAML ログイン試行のログイン履歴のエントリはどこにありますか?
Salesforce では、アサーションにユーザが見つからない場合、または指定されたユーザ ID を Salesforce のユー
ザに関連付けられない場合、ログイン履歴にエントリが挿入されます。ログイン履歴を表示するには、[設
定] から [クイック検索] ボックスに「ログイン履歴」と入力し、[ログイン履歴] を選択します。
シングルサインオンは会社のファイアウォール外でも機能しますか?
はい、シングルサインオンは会社のファイアウォール外でも機能します。ユーザが会社のファイアウォー
ルの外側にいる場合、自分のネットワークパスワードを使用して Salesforce にログインできます。または、
ログインするための前提条件として、ユーザが会社のネットワークに接続されていることを要求できます。
ID プロバイダから送信された SAML レスポンスを検証できますか?
はい、できます。シングルサインオンを設定した後、[設定] の [シングルサインオン設定] ページで [SAML 検
証] をクリックして、[SAML 検証] ページにアクセスできます。ユーザが Salesforce にログインしようとして失
敗した場合、無効な SAML アサーションを使用して SAML アサーション検証が自動的に設定される場合があ
ります。[SAML 検証] ページで、SAML アサーションが自動的に設定されていない場合、サービスプロバイダ
から受信した XML エンコードまたは base64 エンコードされた SAML レスポンスを入力できます。Salesforce
は、シングルサインオン設定時に指定された値に対してレスポンスを検証し、レスポンスに関する詳細な
情報を提供します。
会社固有の開始ページとログアウトページを設定できますか?
はい、できます。
SAML 1.1 または 2.0 を使用するシングルサインオンユーザのための開始ページ、エラーページ、ログインペー
ジ、ログアウトページをカスタマイズできます。設定の一環として、次の事項を決定します。
• ID プロバイダが SAML 1.1 を使用する場合に、シングルサインオンが正常に完了したときのユーザの移動
先となる URL (開始ページ)。この URL は、https://yourInstance.salesforce.com/001/o のような
絶対 URL、または /001/o のような相対 URL にすることができます。この URL は SAML 認証要求を受け入
れるエンドポイントである必要があります。
SAML 2.0 では、開始ページは認証される前にユーザがアクセスを試みたページです。SAML 2.0 開始ページ
は Sp-init シングルサインオンをサポートしなければなりません。
SAML 2.0 を使用している場合、RelayState パラメータを使用して正常なログイン後にユーザをリダイ
レクトする場所を制御することもできます。
• Salesforce がログインシーケンスを開始する SAML 要求を送信するシングルサインオン開始ページです。
シングルサインオン開始ページを指定する場合は、ログアウトページも指定することをお勧めします。
ログアウトページを指定するとき、ユーザがログアウトをクリックするとき、またはユーザセッション
54
よくある質問 (FAQ)
の有効期限が切れた場合に、ユーザはそのページにリダイレクトされます。ログアウトページを指定し
ない場合、ユーザは Salesforce の通常のログインページにリダイレクトされます。
• ユーザが Salesforce の [ログアウト] リンクをクリックしたときの移動先となる URL (ログアウトページ)。
[私のドメイン] が有効な場合を除き、デフォルトは https://login.salesforce.com です。[私のド
メイン] が有効な場合のデフォルトは https://customdomain.my.salesforce.com です。
「SAML の開始ページ、エラーページ、ログインページ、およびログアウトページのカスタマイズ」 (ペー
ジ 14)を参照してください。
Salesforce 代理認証では SAML トークンがサポートされますか?
はい、SAML トークンは、トークンを検証するリスナーを使用する代理認証実装サンプルで使用できます。
代理認証シングルサインオンは Connect Offline で機能しますか?
はい、代理認証は、両方のトークンとパスワードで機能するように設定されていれば、Connect Offline で機
能します。この場合、ユーザは Connect Offline へのアクセスに自分のネットワークパスワードを使用する必
要があります。
55