Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む
ユーザーの識別およびアクセス権の管理
目次
絞り込み条件を選択

          結果がありません
          結果がありません
          検索のヒントをいくつかご紹介します

          キーワードの入力ミスがないか確認する。
          より一般的な検索語を使用する。
          絞り込み条件を減らして、検索範囲を広げる。

          Salesforce ヘルプ全体を検索
          SAML シングルサインオンフロー

          SAML シングルサインオンフロー

          SAML (Security Assertion Markup Language) でシングルサインオン (SSO) を設定すると、サービスプロバイダーまたは ID プロバイダーからログインを開始できます。サービスプロバイダーの起動によるログインと ID プロバイダーの起動によるログインでは、それぞれ異なるフローを使用しますが、どちらもユーザーはサービスプロバイダーにログインします。

          必要なエディション

          使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方
          使用可能なエディション: Developer Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Database.com Edition
          必要なユーザー権限
          ID プロバイダーとサービスプロバイダーの定義と変更 「アプリケーションのカスタマイズ」

          SAML セキュリティ

          これらの SSO フローのしくみを理解するには、プロバイダーが SAML を使用してセキュリティ情報をやりとりする方法を理解することが重要です。

          ヒント
          ヒント SSO の語彙を磨くには、Salesforce ヘルプの「シングルサインオン用語」を参照してください。

          どちらの SAML SSO フローバリエーションでも、ID プロバイダーがユーザーを認証し、ユーザーが本人であることを確認します。ID プロバイダーは、ユーザーを認証した後、SAML 応答を使用して、ユーザーが誰であり、何を許可されているかをサービスプロバイダーに通知します。ユーザーの ID に関する情報は、応答の特定の部分 (SAML アサーション) に保存します。

          サービスプロバイダーが SAML 応答を Trust できることを示すために、ID プロバイダーは応答ボディ、アサーション、またはその両方に署名します。レスポンスボディとアサーションのどちらに署名するかは、ID プロバイダーによって異なります。

          • Salesforce を ID プロバイダーとして使用している場合、Salesforce は SAML レスポンスボディとアサーションに署名します。
          • サードパーティ ID プロバイダーを使用している場合は、ID プロバイダーが SAML 応答に署名する方法を確認してください。

          サービスプロバイダーは SAML 応答を受信すると、この署名を検証します。署名の検証方法は、サービスプロバイダーによって異なります。

          • Salesforce を ID プロバイダーとして使用している場合は、サービスプロバイダーに署名の検証方法を確認してください。Salesforce はレスポンスボディとアサーションに署名するため、さまざまなサービスプロバイダーと互換性があります。
          • Salesforce をサービスプロバイダーとして使用している場合、Salesforce はレスポンスボディまたはアサーションのいずれかで署名を検証できます。Salesforce は最初にレスポンスボディの署名を検索します。応答署名が欠落しているか無効である場合、Salesforce は SAML アサーションで署名を検証します。攻撃者がユーザーのブラウザーから SAML 応答を取得して応答本文を改ざんしたとしても、アサーション署名が無傷である限り、SSO ログインが危険にさらされることはありません。

            ID プロバイダーがセキュリティを強化するために暗号化された SAML アサーションをサポートしている場合は、これらのアサーションを復号化および検証するように Salesforce を設定することもできます。

          サービスプロバイダーの起動による SAML フロー

          サービスプロバイダーの起動によるフローでは、サービスプロバイダーが ID プロバイダーに対する SAML 要求によってログインプロセスを開始します。このフローは次のように機能します。

          1. ユーザーは、サービスプロバイダーで保護されているリソースにアクセスするための安全なセッションを要求します。たとえば、サービスプロバイダーでフォームに記入するためのリンクをクリックします。しかし、フォームは保護されているリソースであるため、ログインしなければアクセスできません。
          2. サービスプロバイダーは、ID プロバイダーに SAML 要求を送信してユーザーの認証を依頼することでログインを開始します。
          3. ID プロバイダーはユーザーをログインページに転送します。
          4. ユーザーは ID プロバイダーのログイン情報を入力し、ID プロバイダーはユーザーを認証します。
          5. ID プロバイダーは、ユーザーの身元を確認し、暗号で署名された SAML 応答をサービスプロバイダーに送信します。SAML 応答には、サービスプロバイダーにユーザーの身元を通知する SAML アサーションが含まれます。
          6. サービスプロバイダーは、SAML 応答に含まれる署名を検証して、ユーザーを識別します。
          7. ユーザーは、サービスプロバイダーにログインして、保護されているリソースにアクセスできます。

          ID プロバイダーの起動による SAML フロー

          ID プロバイダーの起動によるログインフローでは、ID プロバイダーが SAML 応答でフローを開始するため、SAML 要求は不要です。ID プロバイダーの起動によるフローは、サービスプロバイダーの起動によるフローの短いバージョンです。このフローは次のように機能します。

          1. ユーザーは、ID プロバイダーにログインします。
          2. ユーザーは、サービスプロバイダーにアクセスするためのボタンまたはリンクをクリックします。たとえば、ユーザーは Salesforce 組織の [アプリケーションランチャー] ページでアプリケーションをクリックします。
          3. ID プロバイダーは、暗号で署名された SAML 応答をサービスプロバイダーに送信することでログインを開始します。SAML 応答には、サービスプロバイダーにユーザーの身元を通知する SAML アサーションが含まれます。
          4. サービスプロバイダーは、SAML 応答に含まれる署名を検証して、ユーザーを識別します。
          5. ユーザーは、Service プロバイダーにログインします。

          SAML 要求と応答の例

          SAML 要求の例を次に示します。サービスプロバイダーの起動によるフローでは、サービスプロバイダーが SAML 要求を送信することでログインプロセスを開始します。

          <samlp:AuthnRequest ID="bndkmeemcaamihajeloilkagfdliilbhjjnmlmfo" Version="2.0" 
             IssueInstant="2010-05-24T22:57:19Z" 
             ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
             ProviderName="google.com" IsPassive="false" 
             AssertionConsumerServiceURL="https://www.google.com/a/resp.info/acs">
             <saml:Issuer>google.com</saml:Issuer>
             <samlp:NameIDPolicy AllowCreate="true" 
             Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
          </samlp:AuthnRequest>

          SAML 応答の例を次に示します。サービスプロバイダーの起動によるフローでは、サービスプロバイダーが SAML 要求を送信した後に ID プロバイダーが SAML 応答を送信します。ID プロバイダーの起動によるフローでは、ID プロバイダーが SAML 応答を送信することでフローを開始します。

          この例では、レスポンスボディは署名されていますが、アサーション自体は署名されていません。

          <samlp:Response Destination="https://MyDomainName.my.salesforce.com?so=00Dx00000000001"
            ID="_0f551f9288c8b76f21c3d4d15c9cd1df1290476801091"
            InResponseTo="_2INwHuINDJTvjo8ohcM.Fpw_uLukYi0WArVx2IJD569kZYL
              osBwuiaSbzzxOPQjDtfw52tJB10VfgPW2p5g7Nlv5k1QDzR0EJYGgn0d0z8
              CIiUOY31YBdk7gwEkTygiK_lb46IO1fzBFoaRTzwvf1JN4qnkGttw3J6L4b
              opRI8hSQmCumM_Cvn3DHZVN.KtrzzOAflcMFSCY.bj1wvruSGQCooTRSSQ"
            IssueInstant="2010-11-23T01:46:41.091Z" Version="2.0">
          <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
          >https://myidp.my.salesforce.com</saml:Issuer>
          −
          <ds:Signature>
          −
          <ds:SignedInfo>
          <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
          <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
          −
          <ds:Reference URI="#_0f551f9288c8b76f21c3d4d15c9cd1df1290476801091">
          −
          <ds:Transforms>
          <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
          −
          <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
          <ec:InclusiveNamespaces PrefixList="ds saml samlp xs"/>
          </ds:Transform>
          </ds:Transforms>
          <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
          <ds:DigestValue>4NVTbQ2WavD+ZBiyQ7ufc8EhtZw=</ds:DigestValue>
          </ds:Reference>
          </ds:SignedInfo>
          −
          <ds:SignatureValue>
          
          ExampleSamlSignature</ds:SignatureValue>
          −
          <ds:KeyInfo>
          −
          <ds:X509Data>
          −
          <ds:X509Certificate>ExampleX509 Certificate</ds:X509Certificate>
          </ds:X509Data>
          </ds:KeyInfo>
          </ds:Signature>
          −
          <samlp:Status>
          <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
          </samlp:Status>
          −
          <saml:Assertion ID="_e700bf9b25a5aebdb9495fe40332ef081290476801092" IssueInstant="2010-11-23T01:46:41.092Z" Version="2.0">
          <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://exampleidp.com</saml:Issuer>
          −
          <saml:Subject>
          <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">exampleuser@salesforce.com</saml:NameID>
          −
          <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
          <saml:SubjectConfirmationData NotOnOrAfter="2010-11-23T01:51:41.093Z" Recipient="https://MyDomainName.my.salesforce.com?so=00Dx00000000001"/>
          </saml:SubjectConfirmation>
          </saml:Subject>
          −
          <saml:Conditions NotBefore="2010-11-23T01:46:41.093Z" NotOnOrAfter="2010-11-23T01:51:41.093Z">
          −
          <saml:AudienceRestriction>
          <saml:Audience>https://exampleserviceprovider.com</saml:Audience>
          </saml:AudienceRestriction>
          </saml:Conditions>
          −
          <saml:AuthnStatement AuthnInstant="2010-11-23T01:46:41.092Z">
          −
          <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="userId" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
          <saml:AttributeValue xsi:type="xs:anyType">005D0000001Ayzh</saml:AttributeValue>
          </saml:Attribute>
          −
          <saml:Attribute Name="username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
          <saml:AttributeValue xsi:type="xs:anyType">admin@identity.org</saml:AttributeValue>
          </saml:Attribute>
          −
          <saml:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
          <saml:AttributeValue xsi:type="xs:anyType">exampleuser@salesforce.com</saml:AttributeValue>
          </saml:Attribute>
          −
          <saml:Attribute Name="is_portal_user" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
          <saml:AttributeValue xsi:type="xs:anyType">false</saml:AttributeValue>
          </saml:Attribute>
          </saml:AttributeStatement>
          </saml:Assertion>
          </samlp:Response>
           
          読み込み中
          Salesforce Help | Article