すべてのプロダクト
Search
ドキュメントセンター

Resource Access Management:ユーザーベース SSO の SAML 応答

最終更新日:Mar 06, 2026

このトピックでは、ユーザーベースのシングルサインオン (SSO) における Security Assertion Markup Language (SAML) 応答の構文について説明します。また、SAML 応答内の SAML アサーションの要素についても説明します。

背景情報

SAML 2.0 ベースの SSO では、ユーザーの ID が検証された後、ID プロバイダー (IdP) は認証応答を生成し、ブラウザまたはプログラムを使用してこの応答を Alibaba Cloud に送信します。この応答には、SAML 2.0 の HTTP POST バインディングの仕様に準拠した SAML アサーションが含まれています。Alibaba Cloud は、この SAML アサーションを使用して、ユーザーのログインステータスと ID を判断します。したがって、SAML アサーションには Alibaba Cloud が要求する要素が含まれている必要があります。SAML アサーションに必要な要素が含まれていない場合、SSO は失敗します。

SAML 応答

IdP から Alibaba Cloud に送信される各 SAML 応答に、次の要素が含まれていることを確認してください。含まれていない場合、SSO は失敗します。

<saml2p:Response>
    <saml2:Issuer>...</saml2:Issuer>
    <saml2p:Status>
        ...
    </saml2p:Status>
    <saml2:Assertion>
        <saml2:Issuer>...</saml2:Issuer>
        <ds:Signature>
            ...
        </ds:Signature>
        <saml2:Subject>
            <saml2:NameID>${NameID}</saml2:NameID>
            <saml2:SubjectConfirmation>
                ...
            </saml2:SubjectConfirmation>
        </saml2:Subject>
        <saml2:Conditions>
            <saml2:AudienceRestriction>
                <saml2:Audience>${Audience}</saml2:Audience>
            </saml2:AudienceRestriction>
        </saml2:Conditions>
        <saml2:AuthnStatement>
            ...
        </saml2:AuthnStatement>
    </saml2:Assertion>
</saml2p:Response>

SAML アサーションの要素

  • SAML 2.0 の共通要素

    SAML 2.0 の詳細については、「SAML 2.0」をご参照ください。

    要素

    説明

    Issuer

    Issuer 要素の値は、Alibaba Cloud 管理コンソールで IdP 用にアップロードするメタデータファイル内の EntityID と一致する必要があります。

    Signature

    SAML アサーションは署名されている必要があります。Signature 要素には、署名値や署名アルゴリズムなどの情報が含まれている必要があります。この署名は、署名が生成された後に署名済みの SAML アサーションが改ざんされていないことを確認するために使用されます。

    Subject

    Subject 要素には、以下のサブ要素が含まれている必要があります:

    • NameID サブ要素は 1 つのみで、お客様の Alibaba Cloud アカウント内の RAM ユーザーを識別するために使用されます。詳細については、この Topic の NameID の説明と例をご参照ください。

    • SubjectConfirmation 子要素は 1 つだけで、SubjectConfirmationData 子要素を含んでいる必要があります。 SubjectConfirmationData 子要素には、以下の属性を含める必要があります:

      • NotOnOrAfter: SAML アサーションの有効期間。

      • 受信者: SAML アサーションの受信者。Alibaba Cloud は、この属性の値に基づいて SAML アサーションの受信者を検証します。したがって、この属性を https://signin-intl.aliyun.com/saml/SSO に設定する必要があります。

      以下のスクリプトは、Subject 要素の例を示しています。

      <Subject>
        <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">Alice@example.onaliyun.com</NameID>        
        <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">   
          <SubjectConfirmationData NotOnOrAfter="2019-01-01T00:01:00.000Z" Recipient="https://signin-intl.aliyun.com/saml/SSO"/>    
        </SubjectConfirmation>
      </Subject>

    Conditions

    Conditions 要素には、AudienceRestriction サブ要素を含める必要があります。 AudienceRestriction サブ要素には、1 つ以上の Audience サブ要素を含めることができます。 Audience サブ要素の値は、https://signin-intl.aliyun.com/${accountId}/saml/SSO のいずれかである必要があります。${accountId} は、Alibaba Cloud アカウントの ID を指定します。

    以下のスクリプトは、Conditions 要素の例です:

    <Conditions>
      <AudienceRestriction>
        <Audience>https://signin-intl.aliyun.com/${accountId}/saml/SSO</Audience>
      </AudienceRestriction>
    </Conditions>           
  • NameID 要素

    Alibaba Cloud は、RAM ユーザーを特定するためにユーザープリンシパル名 (UPN) を使用します。したがって、お客様の IdP によって生成される SAML アサーションには、RAM ユーザーの UPN が含まれている必要があります。ユーザーベース SSO を実装するには、Alibaba Cloud が SAML アサーション内の NameID 要素を解決し、この要素を対応する RAM ユーザーの UPN にマップします。

    IdP が発行する SAML アサーションを設定する場合、RAM ユーザーの UPN を SAML アサーション内の NameID 要素にマップする必要があります。

    NameID 要素の値には、以下のいずれかのサフィックスを含める必要があります。

    • お使いの Alibaba Cloud アカウントの [ドメインエイリアス]: <username>@<domain_alias><username> は RAM ユーザーのユーザー名を指定します。<domain_alias> はドメインエイリアスを指定します。ドメインエイリアスの設定方法について詳しくは、「ドメインエイリアスの作成と検証」をご参照ください。

    • [補助ドメイン名]:<username>@<auxiliary_domain><username> は RAM ユーザーのユーザー名を指定します。<auxiliary_domain> は補助ドメイン名を指定します。補助ドメイン名の設定方法については、「ロールベース SSO 用の Alibaba Cloud の SAML 設定を構成する」をご参照ください。

      説明

      ドメインエイリアスと補助ドメイン名の両方を設定した場合、NameID 要素の値にはドメインエイリアスが末尾に付加されます。

    • お使いの Alibaba Cloud アカウントの [デフォルトのドメイン名]: <username>@<default_domain><username> は RAM ユーザーのユーザー名を指定します。 <default_domain> はデフォルトのドメイン名を指定します。 デフォルトのドメイン名の設定方法について詳しくは、「デフォルトのドメイン名の表示および変更」をご参照ください。

      説明

      ドメインエイリアスまたは補助ドメイン名を設定している場合でも、Alibaba Cloud アカウントのデフォルトのドメイン名を NameID 要素のサフィックスとして使用できます。

  • NameID の例

    この例では、Alice という RAM ユーザーが Alibaba Cloud アカウント用に作成され、Alibaba Cloud アカウントのデフォルトのドメイン名は example.onaliyun.com です。

    • Alibaba Cloudアカウントのドメインエイリアスを example.com に設定すると、SAML アサーション内の NameID 要素の値は Alice@example.onaliyun.com または Alice@example.com になります。

    • 補助ドメイン名を example.net に設定し、ドメインエイリアスが構成されていない場合、SAML アサーション内の NameID 要素の値は Alice@example.onaliyun.com または Alice@example.net になります。

    • Alibaba Cloud アカウントのドメインエイリアスを example.com に設定し、補助ドメイン名を example.net に設定した場合、SAML アサーション内の NameID 要素の値は Alice@example.onaliyun.com または Alice@example.com になります。補助ドメイン名は使用できません。

参考資料

Google Chrome で SAML 応答を表示する方法