EC2 Windows インスタンスで AD FS を設定し、Cognito ユーザープールのフェデレーションと連携させる方法を教えてください。
Amazon Cognito ユーザープールで、Active Directory Federation Services (AD FS) を Security Assertion Markup Language 2.0 (SAML 2.0) ID プロバイダー (IdP) として使用したいです。Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで AD FS を設定しようとしています。
解決策
Server Manager を使用すると、EC2 Windows インスタンスに AD FS サーバーとドメインコントローラーを設定できます。セットアップを完了するには、アプリクライアントおよび、お客様が所有するドメイン名を含む Cognito ユーザープールが必要です。ドメインを所有していない場合は、Amazon Route 53 またはその他のドメインネームシステム (DNS) サービスを使用して新規ドメインを登録してください。
詳細については、「AD FS を Amazon Cognito ユーザープールの SAML ID プロバイダーとして設定する方法を教えてください」を参照してください。
Windows インスタンスを設定して起動する
次の手順を実行します。
- EC2 コンソールを開きます。
- [インスタンスを起動] を選択します。
- [Amazon マシンイメージ (AMI) の選択] ページで Windows Server 用の AMI を選択します (例: Microsoft Windows Server 2025 ベースの AMI)。
- 該当するインスタンスタイプを選択します。
- [キーペア] では、ドロップダウンリストから既存のキーペアを選択するか、新しいキーペアを作成します。
重要: Windows インスタンスに接続するために、キーペアのプライベートキー (.pem) ファイルを保存してください。 - ナビゲーションペインで [セキュリティグループの作成] を選択し、[RDP トラフィックを許可] を選択します。
注: Remote Desktop Protocol (RDP) アクセスを特定の IP アドレスのみに限定するには、ソース IP アドレスを [任意の場所] から [マイ IP] または [カスタム] に変更します。 - [起動] を選択します。
Elastic IP アドレスを Windows インスタンスに関連付ける
AWS アカウントに Elastic IP アドレスを割り当てます。 次に、Elastic IP アドレスを Windows インスタンスに関連付けます。
Elastic IP アドレスを使用してドメインのレコードを作成する
Active Directory Domain Services (AD DS) のドメインには、Elastic IP アドレスが値として含まれる A IPv4 アドレスレコードが必要です。レコードを作成するには、使用する Windows インスタンスに関連付けられた Elastic IP アドレスを使用してください。
Windows インスタンスに AD DS、IIS、および AD FS をインストールする
RDP クライアントを使用して Windows インスタンスに接続します。
Windows で Server Manager を開き、ロールと機能の追加ウィザードを使用して次のロールをインストールします。
- Active Directory Domain Services
- Active Directory Federation Services
- Internet Information Services (IIS)
詳細については、Microsoft のウェブサイトで「ロール、ロール サービス、機能のインストールまたはアンインストール」を参照してください。
Windows インスタンスで AD DS を構成する
AD DS を構成するには、Server Manager の Active Directory Domain Services 構成ウィザードを使用します。[デプロイ構成] ページにドメインを入力します (例: example.com)。構成のインストールが完了すると、Windows はユーザーがサインアウトされることを通知するメッセージを表示します。サーバーの再起動時に、RDP クライアントを使用して Windows インスタンスに接続します。
詳細については、Microsoft のウェブサイトで「Active Directory Domain Services のインストール」を参照してください。
IIS で HTTP サイトバインドを設定する
Server Manager で IIS を使用し、ウェブサイトの HTTP サイトバインドを編集します。詳細については、Microsoft のウェブサイトで「サイトにバインド情報を追加する方法」を参照してください。
重要: IIS で HTTP バインドを編集する際は、ホスト名に使用するドメイン名 (例: example.com) を入力してください。IP アドレス (すべて未割り当て)、ポート (80) は変更しないでください。
Windows インスタンスでファイルのダウンロードを許可する設定を行う
「EC2 Windows インスタンスで、Internet Explorer を使用してファイルをダウンロードできるように設定する方法を教えてください」を参照してください。
ドメインのデジタル証明書をリクエストする
HTTPS バインドには、SSL/TLS サーバー証明書が必要です。ドメインのサードパーティ証明書をリクエストするには、信頼されたサードパーティの証明書作成ツールを使用してください。
詳細については、Microsoft のウェブサイトで「証明書の選択」を参照してください。
(オプション) IIS で HTTPS サイトバインドを設定する
使用している証明書作成ツールが IIS に HTTPS サイトバインドを自動的に追加しない場合は、サイトバインドを手動で追加してください。
詳細については、Microsoft のウェブサイトで「SSL バインドの作成」を参照してください。
Windows インスタンスで AD FS を設定する
Windows インスタンスをフェデレーションサーバーとして構成するには、Server Manager の AD FS Federation Server 構成ウィザードを使用します。
詳細については、Microsoft のウェブサイトで「Active Directory Federation Services の準備とデプロイ - オンプレミス証明書信頼」を参照してください。
[サービス アカウントの指定] ページの [ユーザーまたはサービス アカウントの選択] で Administrator という名前のユーザーを選択します。次に、RDP で Windows インスタンスへの接続に使用したパスワードを入力します。
Active Directory にユーザーを作成する
Active Directory で新しいユーザーを作成するには、「Active Directory ユーザーとコンピューター」ツールを使用してください。その新しいユーザーを管理者グループに追加します。
詳細については、Microsoft のウェブサイトで「ユーザーを作成し、グループに追加する」を参照してください。
Active Directory ユーザーの電子メールアドレスを追加する
次の手順を実行します。
- Active Directory ユーザーとコンピューターツールで [ユーザー] を開く (ダブルクリック) と、ユーザーのリストが表示されます。
- ユーザーのリストから、作成したユーザーを探します。ユーザーを開いて (右クリック) してコンテキストメニューを表示し、[プロパティ] を選択します。
- [プロパティ] ウィンドウの [ユーザー名] にユーザーの有効な電子メールアドレスを入力します。そのメールアドレスは SAML アサーションに組み込まれます。
詳細については、Microsoft のウェブサイトで「一般プロパティ ページ」を参照してください。
AD FS にクレーム対応証明書利用者信頼を追加する
Server Manager で [ツール] > [AD FS の管理] に移動します。クレーム対応利用者信頼を追加するには、利用者信頼の追加ウィザードを使用します。
ウィザードの [URL の構成] ページで [SAML 2.0 WebSSO プロトコルのサポートを有効にする] を選択します。[証明書利用者の SAML 2.0 SSO サービス URL] にアサーションコンシューマーエンドポイントの URL を入力します (例: https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse)。yourDomainPrefix を Cognito ユーザープールのドメインプレフィックスに置き換えてください。Region をユーザープールの AWS リージョンに置き換えてください。
ウィザードの**[識別子の構成]** ページでは、[証明書利用者の信頼識別子] に urn:amazon:cognito:sp:yourUserPoolID という URN を入力します。yourUserPoolId を実際の Cognito ユーザープールの ID に置き換えてください。
詳細については、Microsoft のウェブサイトで「ユーザー プールで SAML ID プロバイダーを使用する」および「クレーム対応証明書利用者信頼を手動で作成する方法」を参照してください。
AD FS でアプリケーションのクレーム発行ポリシーを編集する
証明書利用者信頼の追加ウィザードを使用して、LDAP 属性をクレームとして送信するルールを信頼に追加します。
[ルールの構成] ページで次の手順を実行します。
- [クレームのルール名] に Email と入力します。
- [属性ストア] で [Active Directory] を選択します。
- [LDAP 属性] で [電子メールアドレス] を選択します。
- [送信クレームタイプ] で [電子メールアドレス] を選択します。
詳細については、Microsoft のウェブサイトで「Windows Server 2016 で LDAP 属性を証明書利用者信頼のクレームとして送信するルールを作成する方法」を参照してください。
注: Active Directory から受信する電子メールアドレスを、送信 Name ID クレームにマッピングします。Email ID クレームと Name ID クレームは、SAML 応答の SAML アサーションでユーザーのメールアドレスとして表示されるようになります。次に、代わりに LDAP 属性をクレームとして送信するルールを作成します。
詳細については、Microsoft のウェブサイトで「Windows Server 2012 R2 で LDAP 属性をクレームとして送信するルールを作成する方法」を参照してください。
サーバーの SAML IdP メタデータ URL をテストする
ウェブブラウザに、メタデータドキュメントのエンドポイント URL https://example.com/federationmetadata/2007-06/federationmetadata.xml を入力します (使用するドメインに置き換えてください)。
federationmetadata.xml ファイルをダウンロードするように求められた場合は、設定は適切に完了しています。使用した URL を書き留めておくか、その .xml ファイルをダウンロードしてください。Cognito コンソールで SAML を設定するには、その URL、ファイルのいずれかを使用する必要があります。
詳細については、「サードパーティ SAML ID プロバイダーの構成」を参照してください。
Cognito で AD FS を SAML IdP として設定する
Cognito で AD FS を SAML IdP として構成する方法については、「ステップ 4: Amazon Cognito の構成を完了する」(ウェブアプリケーション認証の簡素化: Amazon Cognito ユーザープールによる AD FS フェデレーションのガイダンス) を参照してください。
関連情報
サードパーティ ID プロバイダーによるユーザープールへのサインイン
Amazon EC2 のキーペアと Amazon EC2 インスタンス
- 言語
- 日本語
