このトピックでは、SAML 2.0 プロトコルを使用して、Active Directory Federation Services (AD FS) と CloudSSO 間でシングルサインオン (SSO) を構成する方法について説明します。
背景情報
この例では、企業がオンプレミスのユーザー管理に Active Directory (AD) を使用しており、Alibaba Cloud Resource Directory にマルチアカウント構造を設定しています。目的は、AD ユーザーがリソースディレクトリ内の特定のメンバーアカウントにある指定されたリソースに SSO 経由でアクセスできるようにすることです。
このトピックでは、Windows Server 2012 R2 の ECS インスタンスにデプロイされた AD FS を例として、AD FS と Alibaba Cloud 間の SSO 構成方法を説明します。この構成では、AD FS が ID プロバイダー (IdP) として機能し、Alibaba Cloud CloudSSO がサービスプロバイダ (SP) として機能します。
このトピックで説明する Microsoft Active Directory (AD) および Active Directory Federation Services (AD FS) の構成は、エンドツーエンドの SSO 構成プロセスを理解するための参考情報として提供されています。Alibaba Cloud は、AD または AD FS の構成に関するコンサルティングサービスを提供していません。
前提条件
SSO を構成する前に、次のタスクを完了してください。
-
Windows Server 2012 R2 の ECS インスタンスに次のサービスをデプロイします。
-
Active Directory Domain Services (AD DS):ドメインユーザーおよびデバイスなどのドメインオブジェクトを作成、クエリ、変更する機能を提供します。
-
Active Directory Federation Services (AD FS):SSO 依拠当事者の構成およびそれらの依拠当事者に対する SSO 認証を実行する機能を提供します。
重要
-
-
CloudSSO でユーザーを作成し、権限を構成します。
-
AD FS の SSO フィールドと一致するユーザー名を持つユーザーを CloudSSO に作成します。
詳細については、「ユーザーの作成」をご参照ください。
説明このユーザー名はログインに使用されます。SSO を構成する際、CloudSSO のユーザー名は AD FS で SSO に使用されるフィールドと一致させる必要があります。詳細については、「ステップ 3:AD FS での SAML アサーション属性の構成」をご参照ください。
-
権限ポリシーを定義するアクセス構成を作成します。
詳細については、「権限セットの作成」をご参照ください。
-
リソースディレクトリのアカウントに対してアクセス権限を割り当てます。
詳細については、「メンバーアカウントへのアクセス権限の割り当て」をご参照ください。
-
ステップ 1:CloudSSO から SP メタデータを取得する
CloudSSO コンソールにログインします。
左側のナビゲーションウィンドウで、[設定項目] をクリックします。
[SSO ログイン] セクションで、ダウンロードリンクをクリックして、サービスプロバイダ (SP) のメタデータファイルをローカルマシンに保存します。
ステップ 2:AD FS に Alibaba Cloud を依拠当事者として追加する
-
AD FS がデプロイされている ECS インスタンスにログインします。
-
[Server Manager] を開きます。
-
左側のナビゲーションウィンドウで、[AD FS] をクリックします。
-
右上のメニューバーで、 を選択します。
-
[AD FS] 管理コンソールで、Alibaba Cloud を依拠当事者として追加します。
-
左側のナビゲーションウィンドウで、[Relying Party Trusts] を右クリックし、[Add Relying Party Trust] をクリックします。
-
[Add Relying Party Trust Wizard] で、[Claims aware] を選択し、[Start] をクリックします。
-
[ファイルから依拠当事者に関するデータをインポートする] を選択し、[参照] をクリックして、ステップ 1: CloudSSO から SP メタデータを取得するで取得した SP メタデータファイルをインポートし、[次へ] をクリックします。
-
依拠当事者の表示名を入力し、[Next] をクリックします。
この例では、名前として CloudSSODemo を使用します。
-
要件に応じてアクセス制御ポリシーを選択し、[Next] をクリックします。
この例では、[Permit everyone] を選択します。
-
構成内容を確認し、[Next] をクリックします。
-
[Close] をクリックします。
-
ステップ 3:AD FS での SAML アサーション属性の構成
この例では、SAML アサーションの NameID フィールドを AD ユーザーのユーザープリンシパル名 (UPN) に設定します。これにより、Alibaba Cloud は SAML 応答を使用して正しい CloudSSO ユーザーを特定できます。
-
CloudSSODemo 依拠当事者を右クリックし、[Edit Claim Issuance Policy] をクリックします。
-
[Add Rule] をクリックします。
説明発行変換ルールは、既知のユーザー属性をどのように変換し、SAML アサーション内の属性として発行するかを定義します。AD FS ユーザーの UPN を
NameIDとして発行する必要があるため、新しいルールを追加する必要があります。 -
[Add Transform Claim Rule Wizard] で、[Claim rule template] を [Transform an Incoming Claim] に設定し、[Next] をクリックします。
-
クレーム情報を構成します。

-
カスタムクレームルール名を入力します。
-
[Incoming claim type] ドロップダウンリストで、[UPN] を選択します。
-
[Outgoing claim type] ドロップダウンリストで、[Name ID] を選択します。
-
[Outgoing name ID format] ドロップダウンリストで、[Email] を選択します。
-
[Pass through all claim values] を選択します。
-
[Finish] をクリックします。
-
-
[OK] をクリックします。
ステップ 4:AD FS から IdP メタデータを取得する
AD FS がデプロイされている ECS インスタンスで、次の URL にアクセスして IdP メタデータファイルを取得します:https://<ADFS-server>/federationmetadata/2007-06/federationmetadata.xml。
<ADFS-server> は AD FS サーバーのドメイン名または IP アドレスに置き換えてください。
ステップ 5:CloudSSO で SSO を有効化する
-
CloudSSO コンソールの左側のナビゲーションウィンドウで、[設定項目] をクリックします。
-
[SSO Login] セクションで、[Configure IdP Information] をクリックします。
-
[Configure IdP Information] ダイアログボックスで、[Upload Metadata File] を選択します。
-
[Upload File] をクリックして、「ステップ 4:AD FS から IdP メタデータを取得する」で取得した IdP メタデータファイルをアップロードします。
説明メタデータファイルのサイズが上限を超える場合は、
<fed:ClaimTypesRequested>および<fed:ClaimTypesOffered>内のすべてのコンテンツを削除してみてください。 -
SSO トグルをオンにして、SSO を有効化します。
重要SSO を有効化すると、すべての CloudSSO ユーザーのユーザー名とパスワードによるログインが自動的に無効になります。これはグローバル設定であり、一度有効化されると、すべてのユーザーが SSO 経由での認証を行う必要があります。
構成の検証
構成が完了したら、Alibaba Cloud または AD FS のいずれからでも SSO を開始できます。
-
Alibaba Cloud から SSO を開始する
-
CloudSSO コンソールの [概要] ページで、ユーザーポータル URL をコピーします。
-
新しいブラウザウィンドウで URL を開きます。
-
[Redirect] をクリックします。AD FS ログインページにリダイレクトされます。

-
AD ユーザーのユーザー名とパスワードを入力してログインします。
CloudSSO ユーザーポータルに自動的にサインインされます。
-
[RAM ロールとしてログイン] タブで、対象のリソースディレクトリアカウントの [権限] 列にある [Show Details] をクリックします。

-
権限パネルで、対象の権限の [Actions] 列にある [Log On] をクリックします。
-
リソースディレクトリアカウントで付与されたリソースにアクセスします。
-
-
AD FS から SSO を開始する
-
AD FS SSO ポータルにアクセスします。
SSO ポータルの URL は
https://<ADFS-server>/adfs/ls/IdpInitiatedSignOn.aspxです。説明-
<ADFS-server> は AD FS サーバーのドメイン名または IP アドレスに置き換えてください。
-
SSO ポータルページが利用できない場合は、次の PowerShell コマンドを実行して有効化してください:
Set-AdfsProperties -EnableIdpInitiatedSignonPage $True。
-
-
「ステップ 2:AD FS に Alibaba Cloud を依拠当事者として追加する」で作成した CloudSSODemo サイトを選択し、[Sign in] をクリックします。
-
AD ユーザーのユーザー名とパスワードを入力し、[Sign in] をクリックします。
CloudSSO ユーザーポータルに自動的にサインインされます。
-
[RAM ロールとしてログイン] タブで、対象のリソースディレクトリアカウントの [権限] 列にある [Show Details] をクリックします。

-
権限パネルで、対象の権限の [Actions] 列にある [Log On] をクリックします。
-
リソースディレクトリアカウントで付与されたリソースにアクセスします。
-