• 検索結果がありません。

シングルサインオン実装ガイド

N/A
N/A
Protected

Academic year: 2021

シェア "シングルサインオン実装ガイド"

Copied!
61
0
0

読み込み中.... (全文を見る)

全文

(1)

シングルサインオン実装ガイ

(2)
(3)

シングルサインオンについて . . . 1 SAML について. . . 3 ID プロバイダの使用 . . . 4 SAML の開始ページ、エラーページ、ログインページ、およびログアウトページの カスタマイズ . . . 5 サンプル SAML アサーション. . . 6 ID プロバイダの値. . . 25 シングルサインオン用の SAML 設定. . . 30 シングルサインオン設定の表示 . . . 35 シングルサインオン用の SAML 設定の検証 . . . 36 SAML アサーション検証エラー . . . 37 SAML ログイン履歴のレビュー. . . 39 SAML 用のジャストインタイムプロビジョニングについて . . . 41 ジャストインタイムプロビジョニングの要件. . . 41 ジャストインタイムプロビジョニングのエラー. . . 44 シングルサインオン実装のベストプラクティス . . . 46 ポータルのシングルサインオンの有効化. . . 50 代理認証シングルサインオンについて . . . 51 代理認証向けの Salesforce 設定. . . 52 代理認証実装サンプル . . . 54 よくある質問 (FAQ) . . . 55

(4)
(5)

エディション 統合認証を使用可能なエ ディション: すべてのエ ディション 代理認証を使用可能なエ ディション: 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 には、シングルサインオンを使用する方法として、次の方法がありま す。

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は外部サービスプロバイダのユー ザログイン情報を使用して、認証情報を設定します。

外部 ID プロバイダを使用しており、Salesforce 組織にシングルサインオンを設定する場合、Salesforce はサービス プロバイダとして機能します。また、Salesforceを ID プロバイダとして有効化し、他のサービスプロバイダへの

(6)

接続にシングルサインオンを使用することもできます。シングルサインオンを設定する必要があるのはサービ スプロバイダのみです。 [シングルサインオン設定] ページには、組織でどのバージョンのシングルサインオンが使用可能かが表示され ます。シングルサインオン設定についての詳細は、「シングルサインオン用の SAML 設定」を参照してくださ い。SAML およびSalesforceセキュリティについての詳細は、『セキュリティ実装ガイド』を参照してください。

シングルサインオンの利点

シングルサインオンを実装すると、組織は次の利点を得られます。 管理コストの削減: シングルサインオンを使用すると、パスワードを 1 つ覚えるだけで、ネットワークリ ソースや外部アプリケーションとSalesforceの両方にアクセスできます。企業ネットワークの内側からSalesforce にアクセスするとき、ユーザはシームレスにログインでき、ユーザ名やパスワードの入力を求められるこ とはありません。企業ネットワークの外側から Salesforce にアクセスするとき、ユーザの企業ネットワーク ログインにより、ログインできます。管理するパスワードが少なくなるほど、システム管理者へのパスワー ドリセット要求も少なくなります。 既存の投資の活用: 多くの企業が中央 LDAP データベースを使用してユーザ ID を管理しています。Salesforce の認証をこのシステムに代行させることで、ユーザが LDAP システムから削除されると、Salesforce にはアク セスできなくなります。このため、退社するユーザは、離職後の会社のデータへのアクセス権を自動的に 失うことになります。 時間の節約: 平均すると、1 つのオンラインアプリケーションにログインするのに 5 ~ 20 秒かかります。 ユーザ名やパスワードの入力ミスがあり、再入力を求めるメッセージが出た場合には、さらに時間がかか ります。シングルサインオンを使用すると、Salesforce に手動でログインする必要はなくなります。この数 秒の節約が、生産性の向上につながります。 ユーザの採用の増加:ログインしなくてよいという便利さから、日常的にSalesforceを使用するようになりま す。たとえば、ユーザはメールメッセージにレコードやレポートなどの Salesforce 内の情報へのリンクを記 載して送信できます。メールの受信者がリンクをクリックすると、対応する Salesforce ページが自動的に開 きます。 セキュリティの向上: 企業ネットワーク用に作成したパスワードポリシーは、Salesforce にも有効となりま す。また、1 回の使用のみ有効な認証情報を送信することで、機密データへのアクセス権を持つユーザに対 するセキュリティの向上を図れます。

(7)

SAML について

エディション 統合認証を使用可能なエ ディション: すべてのエ ディション 代理認証を使用可能なエ ディション: Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、 Developer Edition、および Database.com Edition 認証プロバイダを使用可 能なエディション: Professional Edition、 Enterprise Edition、 Performance Edition、 Unlimited Edition、および Developer Edition ユーザ権限 設定を参照する 「設定・定義を参照す る」 設定を編集する 「アプリケーションの カスタマイズ」 および 「すべてのデータの編 集」

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 アサーションの取得が必要になる場合があります。 SAML を使用したログインに問題が発生した場合、SAML ログイン履歴を確認し て、ログインできない理由を確認し、その情報を ID プロバイダと共有すること ができます。 ID プロバイダがメタデータをサポートしていて、さらに SAML バージョン 2.0 を 使用して設定されている場合、[メタデータのダウンロード]をクリックするとダ ウンロードした XML コンフィグレーションファイルを ID プロバイダに送信でき ます。ID プロバイダはこのメタデータをアップロードして Salesforce 組織または コミュニティへの接続設定を自動的に行うことができます。

(8)

ID プロバイダの使用

エディション 統合認証を使用可能なエ ディション: すべてのエ ディション 代理認証を使用可能なエ ディション: Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、 Developer Edition、および Database.com Edition 認証プロバイダを使用可 能なエディション: Professional Edition、 Enterprise Edition、 Performance Edition、 Unlimited Edition、および Developer Edition ユーザ権限 設定を参照する 「設定・定義を参照す る」 設定を編集する 「アプリケーションの カスタマイズ」 および 「すべてのデータの編 集」

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)

SAML の開始ページ、エラーページ、ログインページ、およびログア

ウトページのカスタマイズ

エディション 統合認証を使用可能なエ ディション: すべてのエ ディション 代理認証を使用可能なエ ディション: Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、 Developer Edition、および Database.com Edition 認証プロバイダを使用可 能なエディション: Professional Edition、 Enterprise Edition、 Performance Edition、 Unlimited Edition、および Developer Edition ユーザ権限 設定を参照する 「設定・定義を参照す る」 設定を編集する 「アプリケーションの カスタマイズ」 および 「すべてのデータの編 集」 SAML 1.1 または 2.0 を使用するシングルサインオンユーザのための開始ページ、 エラーページ、ログインページ、ログアウトページをカスタマイズできます。 設定の一環として、次の事項を決定します。 ユーザが Salesforce の [ログアウト] リンクをクリックしたときの移動先となる URL (ログアウトページ)。[私のドメイン] が有効な場合を除き、デフォルトは https://login.salesforce.comです。[私のドメイン] が有効な場合のデ フォルトはhttps://customdomain.my.salesforce.comです。 ID プロバイダが SAML 1.1 を使用する場合に、シングルサインオンが正常に完 了したときのユーザの移動先となる URL (開始ページ)。この URL は、

https://na1.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の通常のログインページにリダイレクトさ れます。 SAML 2.0 では、これらの値は、シングルサインオン設定時、またはログイン URL か SAML アサーションの ID プロバイダを使用して設定できます。優先順位は次の とおりです。

1. セッション Cookie: Salesforce にすでにログインしており、Cookie がまだ存在す る場合、セッション Cookie で指定されるログインページおよびログアウト ページが使用されます。 2. ID プロバイダから渡される値。 3. シングルサインオン設定ページの値。 シングルサインオン設定にこれらの値を追加しない場合、ID プロバイダとこれらの値を共有します。ID プロバ イダは、ログイン URL またはアサーションのいずれかでこれらの値を使用する必要があります。 SAML ログイン時にエラーが発生した場合にユーザをカスタムエラーページに移動するかどうかを決定するこ ともできます。カスタムエラーページは、公開サイトの Visualforce ページなど、公開されていてアクセス可能

(10)

なページである必要があります。URL は相対または絶対のどちらでも使用できます。SAML の設定時にはこの値 を使用します。

サンプル SAML アサーション

エディション 統合認証を使用可能なエ ディション: すべてのエ ディション 代理認証を使用可能なエ ディション: 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 プロバイダと共有すると、Salesforce で正常なシ ングルサインオンのために必要な情報の形式を確認できます。アサーションは、

RSA および SHA-1 または SHA-256 のいずれかを使用して、XML 署名仕様に従って署 名する必要がある。 SAML 1.1 および SAML 2.0 の一般的なシングルサインオンの例に加え、特定の機能 については次の例を使用してください。 ポータルのアサーション サイトのアサーション 代理認証の SOAP メッセージ ジャストインタイムプロビジョニングのアサーション

SAML ユーザ ID の種別がSalesforceユーザ名、SAML ユーザ ID の場所が<Subject> 要素の中の<NameIdentifier>要素の場合

SAML 1.1:

<Subject>

<NameIdentifier>user101@salesforce.com</NameIdentifier> </Subject>

(11)

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>

(12)

</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" 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>

(13)

</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"> https://www.salesforce.com </saml:Issuer> <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/> </samlp:Status>

(14)

<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

(15)

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 </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.www.salesforce.com"/> </saml:SubjectConfirmation> </saml:Subject>

(16)

<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>

(17)

<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>

ポータルのサンプル 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>

(18)

</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>

(19)

<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>

(20)

</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://www.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

(21)

</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 </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">

(22)

<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_idorganization_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"

(23)

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> </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

(24)

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> <saml:Attribute Name="User.FirstName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">Testuser

(25)

</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>

(26)

<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>

<saml:Attribute Name=" User.FederationIdentifier"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xsi:type="xs:anyType">tlee2

(27)

</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>

(28)

<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>

(29)

ID プロバイダの値

エディション 統合認証を使用可能なエ ディション: すべてのエ ディション 代理認証を使用可能なエ ディション: Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、 Developer Edition、および Database.com Edition 認証プロバイダを使用可 能なエディション: Professional Edition、 Enterprise Edition、 Performance Edition、 Unlimited Edition、および Developer Edition ユーザ権限 設定を参照する 「設定・定義を参照す る」 設定を編集する 「アプリケーションの カスタマイズ」 および 「すべてのデータの編 集」

Salesforce for SAML を設定する前に、ID プロバイダからの情報を受け取る必要があ

ります。この情報は、シングルサインオンページで使用します。 ID プロバイダには、次の情報が有用です。 説明 項目 ID プロバイダが使用する SAML のバージョンを指定します。 Salesforce では、現在バージョン 1.1 および 2.0 をサポートし ています。さまざまなバージョンの SAML の指定は、以下 にリンクしています。 SAML のバージョ SAML 1.1 SAML 2.0

エンティティ ID: SAML ID プロバイダを一意に識別する URL。

Salesforceに送られてくる SAML アサーションは、SAML アサー

ションの<saml:Issuer>属性でこの値に完全に一致する 必要があります。 発行者 Salesforce によって生成された SAML 要求の発行者、または SAML 着信レスポンスの予測される利用者です。ドメイン をリリースしていない場合、この値は常に https://saml.salesforce.comになります。ドメイン をリリースしている場合、Salesforceではカスタムドメイン 名の使用をお勧めします。この値は、[シングルサインオ ン設定] ページにあります。[設定] で、[セキュリティのコ ントロール] > [シングルサインオン設定] をクリックしま す。 エンティティ ID ID プロバイダが発行した認証証明書。 ID プロバイダの証 明書 サービスプロバイダが開始した SAML ログインで Salesforce がそのサービスプロバイダである場合、SAML 要求上にプ ロバイダの識別を目的として署名を生成するために使用さ Request Signing Certificate れる証明書 ([セキュリティのコントロール] > [証明書と鍵 の管理]に保存)。証明書が[セキュリティのコントロール] > [証明書と鍵の管理] に保存されていない場合、Salesforce は デフォルトでグローバルプロキシ証明書を使用します。保 存された署名付き証明書を使用すると、グローバルプロキ シ証明書を使用した場合よりも、証明書の有効期限などの イベントをより詳細に制御できるようになります。 要求暗号化のハッシュアルゴリズム (RSA-SHA1または RSA-SHA256)。 Request Signature Method

(30)

説明 項目

Salesforce ユーザを識別する文字列が入っている SAML アサーション内の要素。値

は次のとおりです。

Assertion contains User’s Salesforce username

このオプションは、ID プロバイダが SAML アサーションで Salesforce ユーザ名を 渡します。 SAML ID 種別 アサーションには、ユーザオブジェクトの統合 ID が含まれます たとえば、ID プロバイダが従業員 ID など、SAML アサーションでユーザを識別 する外部ユーザ ID を渡す場合にこのオプションを使用します。 アサーションには、ユーザオブジェクトのユーザ ID が含まれます SAML アサーションでユーザを識別するために ID プロバイダが内部ユーザ ID (Salesforce 組織のユーザ ID など) を渡す場合、このオプションを使用します。 アサーション内のどこでユーザを識別するかを指定します。値は次のとおりで す。 ID は、Subject ステートメントの NameIdentifier 要素にあります Salesforce の[ユーザ名]またはFederationIdentifierは、アサーションの <Subject>ステートメントに入っています。 SAML ID の場所 ID は Attribute 要素にあります Salesforce の[ユーザ名]またはFederationIdentifierは、アサーションの <Attribute>の中の<AttributeValue>で指定されています。

[ID は Attribute 要素にあります]を選択した場合は、[ユーザ ID] が含まれて いる<Attribute>に指定されているAttributeNameの値を入力します。 属性の名前

SAML のバージョンに SAML 1.1 を指定して、[ID は Attribute 要素にあります] を選択した場合は、<Attribute>に指定されているAttributeNamespace 値を入力します。

属性の URI

SAML のバージョンに SAML 2.0 を指定して、[ID は Attribute 要素にあります] を選択した場合は、nameid-formatの値を指定します。値には、unspecified 名前 ID 形式

emailAddresspersistentがあります。すべての規定値は、SAML 2.0 のアサー ションとプロトコルの仕様書にある「Name Identifier Format Identifiers」の項に記載さ れています。 [私のドメイン] を使用している場合は、ID プロバイダが SAML メッセージで要求す るバインドメカニズムを選択します。値は次のとおりです。 HTTP ポスト HTTP POST バインドは、base64url エンコードされた HTML フォームを使用して SAML メッセージを送信します。 サービスプロバイダの起動 要求バインド HTTP リダイレクト HTTP リダイレクトバインドは、URL パラメータ内で base64url エンコードおよび URL エンコードされた SAML メッセージを送信します。

(31)

説明 項目

選択された要求バインドに関係なく、SAML レスポンスでは HTTP POST バインドが 常に使用されます。

SAML 2.0 でのみ有効: Salesforce がログインシーケンスを開始する SAML 要求を送信

する URL です。 ドメインをリリースしており、この項目に値を指定している場合、ログイン要求 は通常、この項目で指定されるアドレスに送信されます。ただし、この値をス ID プロバイダのログイン URL キップする必要がある場合は (ID プロバイダが停止している場合など)、ログイン ページのクエリ文字列にloginパラメータを追加します。たとえば、 http://mydomain.my.salesforce.com?loginです。

メモ: この項目は Developer Edition の本番組織および Sandbox 組織ではデフォ ルトで表示され、本番組織では、[私のドメイン] が有効になっている場合 に限り表示されます。この項目は、トライアル組織またはトライアル組織 にリンクされている Sandbox では表示されません。 SAML 2.0 でのみ有効: ユーザが Salesforce で [ログアウト] リンクをクリックしたとき に移動先となる URL。デフォルトはhttp://www.salesforce.comです。 ID プロバイダのログアウ ト URL

メモ: この項目は Developer Edition の本番組織および Sandbox 組織ではデフォ ルトで表示され、本番組織では、[私のドメイン] が有効になっている場合 に限り表示されます。この項目は、トライアル組織またはトライアル組織 にリンクされている Sandbox では表示されません。 Web ブラウザのシングルサインオンフローのログインに関連付けられている URL。 Salesforce ログイン URL

SAML 2.0 でのみ有効: Web シングルサインオン OAuth アサーションフローで ID プロ

バイダとして Salesforce を有効化する場合に、API で使用される ACS URL。 OAuth 2.0 Token Endpoint SAML ログイン時にエラーが発生した場合にユーザが移動する先のページの URL。 この URL は、公開サイトのVisualforceページなど、公開されているページである必 要があります。URL は相対または絶対のどちらでも使用できます。 カスタムエラー URL

開始、ログイン、ログアウトの URL 値

シングルサインオンで使用する情報のほか、ID プロバイダは開始ページ、ログインページ、ログアウトページ も設定します。また、これらのページは、シングルサインオンを設定する場合に自分で指定できます。 これらのページを設定する場合は、ID プロバイダには、次の情報が有用です。

SAML の指定は、HTTPS POST を経由して SAML アサーションを渡すために使用する HTML 形式をサポートして

います。

SAML 1.1 では、SAML ID プロバイダはTARGET項目に名前-値のペアを埋め込むことができ、URL 符号化され たパラメータを含む特別な形式の URL を先頭に追加した情報を Salesforce に渡すことができます。

(32)

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://na1.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>の例は、ssoStartPagelogoutURLの両方を含みます。

<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

(33)

</saml:AttributeValue> </saml:Attribute>

(34)

エディション 統合認証を使用可能なエ ディション: すべてのエ ディション 代理認証を使用可能なエ ディション: Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、 Developer Edition、および Database.com Edition 認証プロバイダを使用可 能なエディション: Professional Edition、 Enterprise Edition、 Performance Edition、 Unlimited Edition、および Developer Edition ユーザ権限 設定を参照する 「設定・定義を参照す る」 設定を編集する 「アプリケーションの カスタマイズ」 および 「すべてのデータの編 集」 このページから、シングルサインオンを使用するように組織を設定できます。 また、ジャストインタイムプロビジョニングを設定することもできます。これ らを適切に設定するには、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 シングルサインオン設定] で、次の中から適切なボタンをクリックして 新しい設定を作成します。 新規 - すべての設定を手動で指定します。 メタデータファイルから新規作成 - ID プロバイダの XML ファイルから SAML 2.0 設定をインポートします。 このオプションでは、XML ファイルを読み取り、その内容を基にできるだけ多くの設定を行います。

メタデータ URL から新規作成 - 公開 URL から SAML 2.0 設定をインポートします。このオプションでは、 公開 URL にある XML ファイルを読み取り、その内容を基にできるだけ多くの設定を行います。URL は、

(35)

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 は相対または絶対のどちらでも使用できます。 17. 必要に応じて、ジャストインタイムユーザプロビジョニングを設定します。詳細は、「ジャストインタイ ムプロビジョニングの有効化」および「SAML 用のジャストインタイムプロビジョニングについて」を参照 してください。 18. [保存] をクリックします。 ID プロバイダがメタデータをサポートしていて、さらに SAML バージョン 2.0 を使用して設定されている場合、 [メタデータのダウンロード] をクリックするとダウンロードした XML コンフィグレーションファイルを ID プロ

(36)

バイダに送信できます。ID プロバイダはこのメタデータをアップロードしてSalesforce組織またはコミュニティ への接続設定を自動的に行うことができます。

ID プロバイダへの SAML アサーションの暗号化の設定

Salesforceが受信 SAML アサーションのサービスプロバイダである場合、保存された証明書を選択し、サードパー ティの ID プロバイダからの受信アサーションを復号化できます。この証明書のコピーを ID プロバイダに提供 する必要があります。 1. [セキュリティのコントロール] > [シングルサインオン設定] で、新しい SAML 設定を追加します。 2. [アサーション復号化証明書]項目で、[証明書と鍵の管理]設定に保存した証明書から暗号化する証明書を指 定します。 メモ: [アサーション復号化証明書]項目が表示されない場合、組織で複数のシングルサインオンを有 効化する必要があります (Summer '13 リリースよりも前に作成され、SAML 1.1 を使用していない組織が 該当します)。複数のシングルサインオン設定を有効化するには、[シングルサインオン設定] ページの [複数の設定を有効化] を選択します。この設定がすでに有効化されている場合、項目が表示され、[複 数の設定を有効化] ボタンは表示されません。

3. [SAML ID の場所]を[ID は、Subject ステートメントの NameIdentifier 要素にあります]に設定し ます。

認証を成功させるには、ユーザがアサーションの<Subject>ステートメントで識別される必要がありま

す。詳細は、「ID プロバイダの値」を参照してください。

4. 新しい SAML 設定を保存すると、組織の[Salesforce ログイン URL]の SAML 設定値 (「Salesforce ACS URL」 とも呼ばれる) が変更されます。[セキュリティのコントロール] > [シングルサインオン設定] で 新しい値を 取得し、新しい SAML 設定の名前をクリックします。値は[Salesforce ログイン URL]項目にあります。 5. ID プロバイダは[Salesforce ログイン URL]値を使用する必要があります。 6. また、アサーションの暗号化に使用するため、ID プロバイダに[アサーション復号化証明書]で選択した証 明書のコピーを提供する必要があります。

ジャストインタイムプロビジョニングの有効化

1. [SAML シングルサインオン設定] で、[ユーザプロビジョニングの有効化]を選択します。 標準 - このオプションを選択すると、アサーションの属性を使用して自動的にユーザをプロビジョニン グできます。

Apex ハンドラを使用したカスタム SAML JIT - このオプションを選択すると、Apex クラスのロジックに 基づいてユーザがプロビジョニングされます。

2. [標準]を選択した場合は、[保存]をクリックし、シングルサインオン接続をテストします。[Apex ハンド ラを使用したカスタム SAML JIT]を選択した場合は、次のステップに進みます。

3. [SAML JIT ハンドラ]項目で、既存の Apex クラスを SAML JIT ハンドラクラスとして選択します。このクラ スは、SamlJitHandler インターフェースを実装している必要があります。Apex クラスがない場合、[SAML JIT

(37)

ハンドラテンプレートを自動的に作成する]をクリックしてクラスを生成できます。このクラスを編集して デフォルトのコンテンツを変更してから使用する必要があります。詳細は、「SAML JIT ハンドラの編集」を 参照してください。 4. [他のアカウントでハンドラを実行]項目で、Apex クラスを実行するユーザを選択します。このユーザは 「ユーザの管理」権限を持っている必要があります。 5. ジャストインタイムプロビジョニングでは、ユーザタイプの統合 ID が必要です。[SAML ID 種別]で、[ア サーションには、ユーザオブジェクトの統合 ID が含まれます]を選択します。ID プロバイダがSalesforceユー ザ名を以前使用していた場合は、統合 ID を使用する必要があることを ID プロバイダに通知してください。 6. [保存] をクリックします。

SAML JIT ハンドラの編集

1. [設定] で、[開発] > [Apex クラス] をクリックします。

2. 生成された Apex SAML JIT ハンドラを編集して SAML と Salesforce の項目を対応付けます。また、生成された コードを変更して次のサポート対象を追加できます。 カスタム項目 プロファイルあいまい一致 ロールあいまい一致 メールによる取引先責任者ルックアップ 取引先番号による取引先ルックアップ コミュニティへの標準ユーザのプロビジョニング コミュニティへの標準ユーザのログイン ポータルジャストインタイムプロビジョニングでのデフォルトプロファイル ID の使用 ポータルジャストインタイムプロビジョニングでのデフォルトポータルロールの使用 ポータルジャストインタイムプロビジョニング用のユーザ名生成 たとえば、生成されたハンドラコードでカスタム項目をサポートするには、生成されたコード内にある 「Handle custom fields here」を見つけます。このコードコメントの後にカスタム項目コードを挿入します。詳 細と例は、SamlJitHandler インターフェースに関するドキュメントを参照してください。 メモ: 取引先責任者オブジェクトまたは取引先オブジェクトの JIT 属性を同じアサーションでユーザオプ ションと一緒に ID プロバイダから送信した場合、生成されたハンドラで更新を実行できない可能性があ ります。取引先責任者項目または取引先項目と同時に更新できないユーザ項目のリストについては、「DML 操作で同時に使用できない sObject」を参照してください。

シングルサインオン接続のテスト

SAML を設定し、設定を保存した後、ID プロバイダのアプリケーションにアクセスして SAML 設定をテストしま

す。ID プロバイダがユーザのブラウザに指示して、SAML アサーションを含むフォームをSalesforceログインペー ジに送信します。各アサーションを確認し、確認に成功するとシングルサインオンが許可されます。

(38)

SAML を設定して保存した後にシングルサインオンを使用してサインオンできない場合は、[SAML アサーション

検証]を使用します。最初に ID プロバイダから SAML アサーションを取得する必要が生じる場合があります。

SAML を使用したログインに問題が発生した場合、SAML ログイン履歴を確認して、ログインできない理由を確 認し、その情報を ID プロバイダと共有することができます。

SAML バージョン 2.0 を使用している場合、SAML 設定の完了後に、[OAuth 2.0 Token Endpoint] 項目が入力されます。

参照

関連したドキュメント

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)

据付確認 ※1 装置の据付位置を確認する。 実施計画のとおりである こと。. 性能 性能校正

[r]

ῌ Heiner Ku ¨h n e ,D ie Rechtsprechung des EGMR als Motor fu¨r eine Verbesser-.. ung des Schutzes von Beschuldigtenrechten in den nationalen Strafverfahrensrechten der

Saffering, Anmerkung zum BVerfG, ῎ Kammer des ῎ .S enats, Beschl... Deutschland

und europa ¨i sche Rechtsprechung im Konflikt?, NStZ ῎ῌῌῒ , ΐῑ ff.; Karsten Gaede, Anmerkung zum Urt.. ΐΐ

Berg, as quoted in UNCTAD Expert Group Meeting, Global Biofuels Picture and the Prospects for International Trade, 19 June 2007... 15 Lloyd’s Register, Design and Operation

使用済燃料プールからのスカイシャイン線による実効線量評価 使用済燃料プールの使用済燃料の全放射能強度を考慮し,使用