SAML 2.0 を使用して、Active Directory フェデレーション サービス (AD FS) から Alibaba Cloud へのユーザーベースのシングルサインオン (SSO) を設定します。このガイドでは、Windows Server 2012 R2 が稼働する Elastic Compute Service (ECS) インスタンスにデプロイされた AD FS インスタンスを使用し、RAM で AD FS を信頼済み ID プロバイダー (IdP) として、また AD FS で Alibaba Cloud を信頼済みサービスプロバイダー (SP) として設定する方法を説明します。
前提条件
開始する前に、Windows Server 2012 R2 が稼働する ECS インスタンスに次のサービスがデプロイされていることを確認してください。
DNS サーバー:ID 認証リクエストを解決し、正しいフェデレーション サービスにルーティングします。
Active Directory ドメイン サービス (AD DS):ユーザーやデバイスなどのドメインオブジェクトを作成、クエリ、変更できます。
-
AD FS:SSO のための証明書利用者を設定し、それに対してユーザーを認証できます。
重要このガイドの Microsoft AD の設定は参考用であり、Alibaba Cloud の SSO 設定プロセスを説明するためのものです。Alibaba Cloud は Microsoft AD の設定に関するコンサルティングサービスを提供していません。AD FS のデプロイ手順については、「Windows インスタンスでの AD ドメインの構築」をご参照ください。
また、開始する前に、次のデータを収集してください。
|
データ |
値の例 |
|
Alibaba Cloud アカウントのデフォルトドメイン名 |
|
|
RAM ユーザーのユーザー名 |
|
|
RAM ユーザーの UPN (ユーザー プリンシパル名) |
|
|
Microsoft AD に登録されている AD FS サービス名 |
|
|
Microsoft AD ドメイン名 |
|
|
Microsoft AD の NetBIOS 名 |
|
|
Microsoft AD での RAM ユーザー |
|
Microsoft AD の UPN ドメイン (secloud.club) は Alibaba Cloud アカウントのデフォルトドメイン名 (secloud.onaliyun.com) とは異なります。この不一致を解決しない場合、Alibaba Cloud はユーザーを識別できません。AD FS を設定する前に、この不一致を解決するための3つの方法については、「ステップ 3」の手順4をご参照ください。
ステップ 1:RAM で AD FS を信頼済み SAML IdP として設定
ブラウザーで、
https://adfs.secloud.club/FederationMetadata/2007-06/FederationMetadata.xmlにアクセスします。メタデータファイルを XML 形式でダウンロードします。
-
RAM コンソールにログインし、メタデータファイルを使用して SSO を設定します。
詳細については、「ユーザー SSO のための Alibaba Cloud での SAML の設定」をご参照ください。
説明メタデータファイルがサイズ制限を超えた場合は、
<fed:ClaimTypesRequested>と<fed:ClaimTypesOffered>内のコンテンツをすべて削除してください。
ステップ 2:AD FS で Alibaba Cloud を信頼済み SAML SP として設定
AD FS では、SAML サービスプロバイダー (SP) は証明書利用者と呼ばれます。Alibaba Cloud を信頼済み SP として設定するには、次の手順を実行します。
-
[サーバー マネージャー] で、[ツール] > [AD FS の管理] を選択します。
-
[Relying Parties] を右クリックし、[証明書利用者信頼の追加] を選択します。
-
証明書利用者のために Alibaba Cloud SAML メタデータを設定します。
メタデータ URL を見つけるには、RAM コンソールにログインします。左側メニューで、[SSO] をクリックします。[ユーザーベース SSO] タブで、[SSO の設定] セクションで URL を探します。AD FS で証明書利用者を設定する際に、このメタデータ URL を直接入力します。
[データソースの選択] ステップで、[オンラインまたはローカル ネットワークで公開されている証明書利用者についてのデータをインポートする] を選択し、[フェデレーション メタデータのアドレス] フィールドに Alibaba Cloud SAML サービスプロバイダーのメタデータ URL (例:
https://signin.aliyun.com/saml/SpMetadata.xml?tenantID=xxx) を入力して、[次へ] をクリックします。
証明書利用者を設定した後、Alibaba Cloud は、デフォルトドメイン名が secloud.onaliyun.com の Alibaba Cloud アカウントに属する RAM ユーザーの認証リクエストを AD FS サービス (adfs.secloud.club) に送信します。AD FS はユーザーを認証し、SAML レスポンスを Alibaba Cloud に返します。
ステップ 3:Alibaba Cloud SP 向けの SAML アサーション属性の設定
SAML アサーションの NameID フィールドを RAM ユーザーの UPN に設定します。Alibaba Cloud はこの値を使用して、SAML レスポンスから正しい RAM ユーザーを特定します。
Microsoft AD の UPN を、SAML アサーションの NameID の値に設定する必要があります。
-
証明書利用者の表示名を右クリックし、[要求規則の編集] を選択します。
-
[発行変換規則] をクリックして、ルールを追加します。
説明発行変換規則は、ユーザー属性を変換して SAML アサーションで発行する方法を定義します。Microsoft AD の UPN を
NameIDとして発行するには、新しいルールを作成する必要があります。 -
[要求規則のテンプレート] を [入力方向の要求を変換] に設定します。
-
[規則の編集] を選択し、次のいずれかの方法でドメイン名の不一致を解決します。
説明この例では、Alibaba Cloud アカウントの UPN ドメインは
secloud.onaliyun.comですが、Microsoft AD の UPN ドメインはsecloud.clubです。Microsoft AD の UPN を直接NameIDにマッピングすると、Alibaba Cloud はユーザーを識別できません。以下のいずれかの方法を使用して、この不一致を解決してください。-
方法 1: Microsoft AD ドメイン名を RAM で設定された [ドメインエイリアス] として設定します。
secloud.clubがパブリック DNS に登録されている場合は、RAM でsecloud.clubを [ドメインエイリアス] として追加します。詳細については、「ドメインエイリアスの作成と検証」をご参照ください。ドメインエイリアスを設定した後、[規則の編集] ダイアログボックスで UPN を
NameIDにマッピングします。[規則の編集] ダイアログボックスで、[要求規則名] を
UPN2NameID、[入力方向の要求の種類] を [UPN]、[出力方向の要求の種類] を [名前 ID]、[出力方向の名前 ID の形式] を [電子メール] に設定します。[すべての要求の値をパススルーする] を選択し、[OK] をクリックします。 -
方法 2: AD FS でドメイン名を変換します。
secloud.clubが Alibaba Cloud で検証できない内部エンタープライズドメインである場合、RAM はデフォルトドメイン名secloud.onaliyun.comのみを使用できます。AD FS を設定して、SAML アサーションを Alibaba Cloud に送信する前に、ドメイン名のサフィックス
secloud.clubをsecloud.onaliyun.comに置き換えます。 -
方法 3: ユーザーベース SSO の補助ドメイン名として Microsoft AD ドメイン名を指定します。
secloud.clubが内部エンタープライズドメインである場合は、RAM でsecloud.clubを補助ドメイン名として指定します。この場合、AD FS でのドメイン名変換は不要です。詳細については、「ユーザー SSO のための Alibaba Cloud での SAML の設定」をご参照ください。補助ドメイン名を指定した後、[規則の編集] ダイアログボックスで UPN を
NameIDにマッピングします。
-