
こんにちは、クラウド事業部の山路です。
今回はAmazon ConnectとActive Directoryを連携し、Amazon ConnectへのログインにActive Directory上のユーザーを利用する方法を紹介します。
背景
Amazon Connectは複数のユーザー管理方法を提供しています。
- Amazon Connect内でユーザーを管理
 - 既存のディレクトリとの連携
 - SAML 2.0ベースの認証
 
今回は多くの企業で使われているであろうActive Directoryの例を取り上げます。
Active Directoryと連携する場合、AD ConnectorというAWSのサービスを利用する必要があります。AD ConnectorはAWS Directory Serviceに含まれるディレクトリサービスの一つで、オンプレミス等に構築されたADサーバーにディレクトリ要求をリダイレクトする「ディレクトリゲートウェイ」です。これにより、既存のADに保存された認証情報を使ってAmazon Connectへのログインを実現します。
※AWS公式ドキュメントより
検証
ここから構築と検証を行います。大まかな流れは以下の通りです。
- VPC等の用意
 - ADサーバーの用意
 - ADサーバー側の設定変更 (AD Connectorが接続するために必要)
 - AD Connectorの作成
 - Amazon Connectインスタンスの作成
 - Amazon Connectでユーザーの登録
 
事前準備
AD Connectorを作成するには、異なるAZに配置された最低2つのサブネットが必要になります。またVPCはADサーバーと疎通可能でなければなりません。ADサーバーとの通信には、以下のポートを使用しますので、ADサーバーへのインバウンド方向に対してFW等の疎通許可設定が必要です。
- TCP/UDP 53 (DNS)
 - TCP/UDP 88 (Kerberos認証)
 - TCP/UDP 389 (LDAP)
 
今回はAD Connectorと同一のVPC上にADサーバーを立てるため、特に考慮は不要です。
また今回はAWS上にWindowsサーバーを用意し、Active Directoryのインストールは完了した状態から始めます。
- OS: 
WIndows Server 2019 - インスタンスサイズ: 
t3.xlarge - その他: 日本語化は完了済み
 
Active Directoryの設定
まずはActive Directoryの設定変更を行います。AD ConnectorがADに接続するには、必要な権限を持った サービスアカウント というユーザーが必要になります。ADサーバー内で初めから存在するDomain Admins というグループに作成したユーザーでも可能ですが、ここは必要最小限の権限を持つ新しいグループを作成することが推奨されます。
ここではドキュメントに従い Connectors というグループを作成、その中に必要なユーザーを作成します。
まずはグループ作成のため、 Active Directory ユーザーとコンピューター を開き、 新規作成 からグループを選択します。

ここでは以下のような設定でグループを作成します。
- グループ名: 
Connectors - グループのスコープ: 
グローバル - グループの種類: 
セキュリティ 

次にグループの権限を変更するため、 操作 → 制御の委任 を選択します。

「次へ」の選択を進め、 ユーザーまたはグループ の項目で、作成した Connectors を追加します。

委任するタスク の項目で 委任するカスタムタスクを作成する を選択します。

Active Directoryオブジェクトの種類 で以下を選択します。
- フォルダー内の次のオブジェクトのみ:
コンピューターオブジェクトユーザーオブジェクト
 選択されたオブジェクトをこのフォルダーに作成する選択されたオブジェクトをこのフォルダーから削除する

アクセス許可 で以下を選択します。
* 全般
* プロパティ固有
* アクセス許可:
  * 読み取り

グループの作成を完了します。
続いてユーザーの作成を行います。この時 姓 名 を入力しないとAmazon Connect上での登録時にエラーが発生するため、必ず入力してください。

作成したユーザーは Connectors グループに所属させます。

なお今回はサービスアカウント用の test01 と、Amazon Connectでの登録用に test02 を作成しています。

AD Connectorの作成
次にAD Connectorの作成です。AD Connectorの作成はAWSマネジメントコンソールから行います。
Directory Serviceの画面に移動し、 ディレクトリのセットアップ を選択します

作成画面に移動します。ディレクトリタイプは AD Connector を選択します

ディレクトリのサイズは、今回は検証のため スモール を選択します。

VPCとサブネットを選択します。今回はADサーバーを作成したのと同じVPCを選択します。またサブネットは個別に選択しない場合、自動的に選択されます。

ADとの接続に使う情報を入力します。今回 DNS IPアドレス はADサーバーのプライベートアドレスを、 サービスアカウントのユーザー名 は test01 を指定します。

確認して作成ボタンを選択し、完了するまでしばらく待ちます。
Amazon Connectの作成
次にAmazon Connectの作成を行います。Amazon Connectは現時点ではインスタンス作成後の認証方式の変更は対応していないため、新規にインスタンスを作成します。
AWSマネジメントコンソールからAmazon Connectのメニュー画面に移動し、インスタンスの追加を選択します。

作成画面に遷移するとID管理を選択するので、ここで 既存のディレクトリへのリンク を選択し、先ほど作成したAD Connectorと紐づくディレクトリを選択します。またアクセスURLもここで指定します。

以降の設定は特に変更せずとも進むため、ここでは割愛します。
Amazon Connectでユーザーの追加
さいごにAmazon Connectでユーザーを追加します。
インスタンス作成が完了したら、マネジメントコンソールからインスタンスを選択し、 Emergency access からインスタンスにログインします。

ログインしたらユーザー管理の画面に移動します。

この時点ではユーザーは登録されていません。ユーザーの追加を選択します。

ユーザーの追加画面に移動すると、ADに追加した test01 test02 ユーザーが確認できるはずです。
まずは test01 を追加するため、 test01 にチェックボックスを選択し、 Security Profile / Routing Profileを指定します。その後 Save を選択します。

特にエラーも発生しなければ、以下のように test01 が追加されたのを確認できるはずです。なお、同様の手順で test02 も追加できます。

最後に、追加したユーザーでログインできるか確認します。一度ログアウトした後に test01 とパスワードを入力し、サインインを選択します。

ログインに成功し、画面右上に test01 と書かれていれば完了です。

さいごに
弊社はAWSアドバンスドティアサービスパートナー認定を受けております。また以下のようにAWSの活用を支援するサービスも行っているので、何かご相談したいことがあればお気軽にご連絡ください。
