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

Resource Access Management:例:AD FS を使用したロールベース SSO の構成

最終更新日:May 28, 2026

Windows Server 2012 R2 の Elastic Compute Service (ECS) インスタンスにデプロイされた AD FS 環境を使用して、AD FS (ID プロバイダー) と Alibaba Cloud (サービスプロバイダー) の間でロールベース SSO を構成します。

背景情報

お客様の会社では、Active Directory (AD) を使用して従業員を管理し、AD FS を使用して Alibaba Cloud を含むエンタープライズアプリケーションとフェデレーションします。AD 管理者は、ユーザーグループのメンバーシップを通じて、従業員の Alibaba Cloud アカウントへのアクセスを制御します。この例では、お客様の会社に 2 つの Alibaba Cloud アカウント (Account1 と Account2) があり、それぞれに Admin 権限と Reader 権限があります。アリスは AD グループ Aliyun-<account-id>-ADFS-AdminAliyun-<account-id>-ADFS-Reader に所属しており、両方のアカウントでアリスのロールベース SSO を有効にすることが目的です。

説明
  • <account-id> は Account1 または Account2 の ID です。アリスは合計 4 つの AD グループ (各アカウントの Admin と Reader) に所属しています。

  • このトピックの AD 構成はあくまでガイダンスです。Alibaba Cloud は Microsoft AD 構成のサポートを提供しません。AD FS をセットアップするには、「Windows インスタンスに AD ドメインを構築する」をご参照ください。

仕組み

次の図は、コンソールのサインオンフローを示しています。

Basic SSO flow

フェデレーションを構成すると、アリスのような従業員は SSO を通じて Alibaba Cloud コンソールにログインできます (SAML ベースのロール SSO の概要)。

ユーザーは Alibaba Cloud の認証情報を必要とせずに、企業の ID システムを通じて認証されます。

手順 1:Alibaba Cloud での AD FS の信頼設定

  1. RAM コンソールで、ADFS という名前の ID プロバイダー (IdP) を作成し、そのメタデータを指定します。AD FS メタデータ URL は https://<ADFS-server>/federationmetadata/2007-06/federationmetadata.xml です。

    説明

    <ADFS-server> を AD FS サーバーのドメイン名または IP アドレスに置き換えます。

    Alibaba Cloud の SP でロールベース SSO の SAML 設定を構成する

    説明

    メタデータファイルがサイズ制限を超える場合は、<fed:ClaimTypesRequested> タグおよび <fed:ClaimTypesOffered> タグ内のすべての内容を削除して、サイズを削減できます。

  2. Alibaba Cloud アカウント Account1 で、IdP を信頼する 2 つの RAM ロール (ADFS-Admin と ADFS-Reader) を作成します。先ほど作成した ADFS IdP を選択します。2 つのロールにそれぞれ AdministratorAccess ポリシーと ReadOnlyAccess ポリシーを付与します。

  3. Account2 で、同じ名前 (ADFS-Admin および ADFS-Reader) の RAM ロールを作成し、Account1 で作成した IdP (ADFS) を信頼するように設定します。各ロールに、それぞれ AdministratorAccess ポリシーと ReadOnlyAccess ポリシーを付与します。

説明

この設定が完了すると、Alibaba Cloud アカウントは AD FS からの SAML リクエスト内のユーザー ID とロール情報を信頼します。

手順 2:AD FS での Alibaba Cloud の信頼設定

AD FS では、SAML SP は [証明書利用者] と呼ばれます。AD FS で Alibaba Cloud を証明書利用者としてセットアップします。

  1. [サーバー マネージャー][ツール] メニューをクリックし、[AD FS 管理] を選択します。

  2. [AD FS] 管理コンソールで、[証明書利用者信頼の追加ウィザード] を開始します。

    [ようこそ] ページで [要求に対応] を選択し、[開始] をクリックします。

  3. Alibaba Cloud のロールベース SSO 用の SAML SP メタデータを指定します。メタデータ URL は または https://signin.alibabacloud.com/saml-role/sp-metadata.xml です。

    [データ ソースの選択] ページで、[オンラインまたはローカル ネットワーク上で公開されている証明書利用者に関するデータをインポートする] を選択します。[フェデレーション メタデータ アドレス (ホスト名または URL)] テキストボックスにメタデータ URL を入力し、[次へ] をクリックします。

  4. 既定の設定のままウィザードを完了します。

手順 3:SAML アサーション属性の構成

AD FS は、SAML アサーションに NameIDRoleRoleSessionName 属性を含める必要があります。発行変換規則を使用してこれらを構成します。

  • NameID

    AD の Windows アカウント名を NameID 属性にマッピングします。

    1. 証明書利用者を右クリックし、[要求規則の編集] を選択します。

    2. [発行変換規則] を追加します。

      説明

      発行変換規則は、ユーザー属性を SAML アサーション属性にマッピングします。AD の Windows アカウント名を NameID として発行する規則を追加します。

    3. [要求規則テンプレート][入力方向の要求を変換] を選択し、[次へ] をクリックします。

    4. 次の設定で規則を構成し、[完了] をクリックします。

      • [要求規則名]: NameID

      • [入力方向の要求の種類]: Windows アカウント名

      • [出力方向の要求の種類]: Name ID

      • [出力方向の名前 ID の形式]: 永続的な識別子

      • [すべての要求値をそのまま渡す] を選択します。

      構成が完了すると、AD FS は必要な形式で NameID を送信します。

      <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
          YourDomain\rolessouser
      </NameID>
  • RoleSessionName

    AD のユーザープリンシパル名 (UPN) を RoleSessionName 属性にマッピングします。

    1. [規則の追加] をクリックします。

    2. [要求規則テンプレート] リストで [LDAP 属性を要求として送信] を選択し、[次へ] をクリックします。

    3. 次の設定で規則を構成し、[完了] をクリックします。

      • [要求規則名]: RoleSessionName

      • [属性ストア]: Active Directory

      • [LDAP 属性][User-Principal-Name] を選択します。要件に応じて、メールなどの他の属性も選択できます。

      • [出力方向の要求の種類]https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName を入力します。

    構成が完了すると、AD FS は必要な形式で RoleSessionName を送信します。

    <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName">
        <AttributeValue>rolessouser@example.com<AttributeValue>
    </Attribute>
  • Role

    カスタム規則を使用して、AD グループのメンバーシップを Alibaba Cloud のロール名に変換します。

    1. [規則の追加] をクリックします。

    2. [要求規則テンプレート] リストで [カスタム規則を使用して要求を送信] を選択し、[次へ] をクリックします。

    3. 次の設定で規則を構成し、[完了] をクリックします。

      • [要求規則名]: Get AD Groups

      • [カスタム規則]

        c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory",types = ("http://temp/variable"), query = ";tokenGroups;{0}", param =c.Value);
      説明

      この規則は、AD グループのメンバーシップを取得し、http://temp/variable に保存します。

    4. [規則の追加] をクリックします。

    5. 前述の手順を繰り返して別のカスタム規則を追加し、[完了] をクリックします。

      • [要求規則名]: Role

      • [カスタム規則]

        c:[Type == "http://temp/variable", Value =~ "(?i)^Aliyun-([\d]+)"] => issue(Type = "https://www.aliyun.com/SAML-Role/Attributes/Role",Value = RegExReplace(c.Value, "Aliyun-([\d]+)-(.+)", "acs:ram::$1:role/$2,acs:ram::$1:saml-provider/<provider-name>"));
        説明

        <provider-name> を、「手順 1:Alibaba Cloud での AD FS の信頼設定」で作成した ID プロバイダーの名前に置き換えます。この例では、名前は ADFS です。

      この規則は、Aliyun-<account-id>-ADFS-Admin または Aliyun-<account-id>-ADFS-Reader に一致する AD グループを、Alibaba Cloud の対応する RAM ロールにマッピングします。

    構成が完了すると、IdP は必要な形式で SAML アサーションを返します。

    <Attribute Name="https://www.aliyun.com/SAML-Role/Attributes/Role">
        <AttributeValue>acs:ram::<account-id>:role/ADFS-Admin,acs:ram::<account-id>:saml-provider/<provider-name></AttributeValue>
    </Attribute>

結果の確認

  1. https://<ADFS-server>/adfs/ls/IdpInitiatedSignOn.aspx にある AD FS SSO ポータルに移動し、Alibaba Cloud アプリケーションを選択してから、ユーザー名とパスワードを入力します。

    説明

    <ADFS-server> を AD FS サーバーのドメイン名または IP アドレスに置き換えます。Web ページを利用できない場合は、次の PowerShell コマンドを実行して有効にします: Set-AdfsProperties -EnableIdpInitiatedSignonPage $True

    AD FS サインインページに "You are not signed in" というメッセージと、[Sign in to this site][Sign in to one of the following sites] の 2 つのオプションが表示されます。[Sign in to one of the following sites] を選択し、ドロップダウンリストから [Aliyun] などのターゲットサイトを選択して、[Sign in] をクリックします。

  2. Alibaba Cloud のロールベース SSO ページで、引き受けるロールを選択し、[ログイン] をクリックします。

    説明

    マッピングされた AD グループが 1 つのみの場合は、ロールを選択せずに直接ログインします。

    マッピングされた AD グループが複数ある場合は、ロール選択ページに利用可能な Alibaba Cloud アカウントとロール ([ADFS-Reader][ADFS-Admin]) が表示されます。対象のアカウントとロールを選択し、[ログイン] をクリックします。