本ドキュメントでは、AD FS から Alibaba Cloud への SSO (Single Sign On) を実装する方法の例を示し、エンタープライズ ID プロバイダー(IdP)から Alibaba Cloud へのエンドツーエンドの SSO プロセスについて詳しく説明します。

本ドキュメントでは、例として Windows Server 2012 R2 を使用して、AD FS から Alibaba Cloud にユーザーベースの SSO を実装する方法について説明します。

前提条件

Microsoft AD が正しく設定され、Windows Server 2012 R2 上で以下のサーバーロールが設定されています。
  • DNS サーバー : ID 認証リクエストを解決して正しいフェデレーションサービスに送信します。
  • Active Directory ドメインサービス (AD DS): ドメインユーザーおよびドメインデバイスなどのオブジェクトを作成、照会、および変更します。
  • Active Directory フェデレーションサービス (AD FS) : ID フェデレーションの証明書利用者を設定し、設定された証明書利用者に対して SSO 認証 を実行します。

設定例

この例で使用される設定の詳細は以下のとおりです。

  • Alibaba Cloud アカウントのデフォルトドメイン名 : secloud.onaliyun.com
  • Alibaba Cloud アカウントの RAM ユーザー: alice。 RAM ユーザーのユーザープリンシパル名 (UPN) : alice@secloud.onaliyun.com
  • オンプレミス Microsoft AD の AD FS : adfs.secloud.club
  • オンプレミス Microsoft AD のドメイン名 : secloud.club。 NETBIOS : secloud
  • Microsoft AD の RAM ユーザー (alice) UPN : alice@secloud.clu。 RAM ユーザーはドメイン内ログイン用に secloud\alice を使用することもできます。

AD FS を RAM 内の信頼できる SAML IDP として構成

  1. ブラウザに以下の URL を入力します。
    https://adfs.secloud.club/FederationMetadata/2007-06/FederationMetadata.xml
  2. メタデータファイルを XML 形式でダウンロードします。
  3. RAM コンソールで、SSO 設定にメタデータファイルを使用します。

詳細は、ユーザーベース SSO 用 SAMLの構成 をご参照ください.

AD FS で Alibaba Cloud を信頼できる SAML SP として構成

AD FS では、SAML SP を「証明書利用者」と呼びます。 Alibaba Cloud を信頼できる SP として設定するには、以下のステップを実行します。

  1. サーバー管理ページで、ツール > AD FS 管理を選択します。
  2. 証明書利用者信頼を追加 を選択します。
  3. Alibaba Cloud の SAML メタデータを証明書利用者用に設定します。

    SAML メタデータ URL を表示するには、RAM コンソールにログインし、左側のナビゲーションペインで SSO をクリックして、ユーザーベース SSO をクリックします。 メタデータ URL は AD FS 証明書利用者の設定時に入力できます。

    証明書利用者の設定後、Alibaba Cloud は、デフォルトドメイン名が secloud.onaliyun.com である Alibaba Cloud アカウントで RAM ユーザーを認証するリクエストを AD SF adfs.secloud.club に送信します。 AD FS は Alibaba Cloud からリクエストを受信し、ユーザーを認証し、Alibaba Cloud にレスポンスを送信します。

Alibaba Cloud SP の SAML アサーション属性を設定します。

Alibaba Cloud が SAML レスポンスに従って正しい RAM ユーザーを見つけることができるようにするため、SAML アサーションの NameID フィールドの値を RAM ユーザーの UPN に設定するよう推奨します。

AD の UPN を SAML アサーションの NameID に設定する必要があります。 手順は以下のとおりです。

  1. 証明書利用者の表示名を右クリックして、要求規則の編集を選択します。
  2. 発行変換規則 をクリックして規則を追加します。
    発行変換規則は既知のユーザー属性を変換し、それを SAML アサーションの属性として発行する方法を示します。 Microsoft AD のユーザーの UPN を NameID として発行する必要があります。 つまり、新しい規則が必要となります。
  3. クレームルールテンプレートドロップダウンリストから、受信クレームを変換するを選択します。
  4. 規則の編集を選択します。
    この例では、アカウントの UPN のドメイン名は secloud.onaliyun.com、Microsoft AD の UPN のドメイン名は secloud.club です。 Microsoft AD の UPN を NameID に直接マッピングすると、Alibaba Cloud は正しいユーザーと一致できません。
    この問題を解決するには、以下のどちらかの方法を使用します。
    1. 方法 1:Microsoft AD のドメイン名を Alibaba Cloud アカウントのドメインエイリアスに設定します。

      Microsoft AD のドメイン名 secloud.club がインターネット上の DNS に登録されている場合は、secloud.club を RAM のドメインエイリアスに設定できます。 ドメインエイリアスの設定方法については、 ドメインエイリアスの作成をご参照ください。

      設定が完了したら、規則の編集 ウィンドウで UPN を NameID にマッピングします。
    2. 方法 2 : AD FS のドメイン名を変換します。

      ドメイン名 secloud.club が企業のイントラネットドメイン名の場合、Alibaba Cloud は企業のドメイン所有権を検証できません。 RAM が使用できるのはデフォルトのドメイン名 secloud.onaliyun.com だけです。

      この場合、AD FS によって Alibaba Cloud に発行された SAML アサーションでは、UPN のドメイン名サフィックス secloud.clubsecloud.onaliyun.com に置き換える必要があります。

    3. 方法 3:Microsoft AD のドメイン名を補助ドメイン名に設定します。
      ユーザーベース SSO タブで SSO 設定を変更することで補助ドメインを設定できます。

      ドメイン名 secloud.club が企業のイントラネットドメイン名の場合、Alibaba Cloud は企業のドメイン所有権を検証できません。 この場合は、secloud.onaliyun.com を補助ドメイン名に設定できます。 補助ドメイン名を設定する方法について、補助ドメイン名の設定をご参照ください。

    設定が完了したら、規則の編集 ページで UPN を NameID にマッピングします。