目的
- AWS上でのAD連携の案件があったため、確認したことをまとめておく。
AWS Managed Microsoft AD とは(自分の理解)
- AWS Managed Microsoft AD は、その名の通りMicrosoft ADがマネージドサービスとして提供されているもの。
- デフォルトでの2重化、OSメンテナンス不要等のメリットがある一方、RDP接続ができないので、ドメインにユーザを追加するには、別途管理ツールをインストールしたクライアントを用意しないといけない等の不便な点もある。
やったこと
- AWS Managed Microsoft AD を作成。ドメイン:mksamba-aws.com
- EC2(Windows Server 2016)インスタンス上に通常のADを作成(オンプレADみなしとして)。ドメイン:mksamba-onpremises.com
- AWS Managed Microsoft AD と 自作AD間で、信頼関係を設定。
- AWSマネージメントコンソールへのログオン時の認証に、AWS Managed Microsoft ADを使用するように設定。
- 自作AD上のユーザ(mksamba-onpremises.com\onpremises-user)で、AWSマネージメントコンソールにログインできることを確認。
構成図
手順
AWS Managed Microsoft ADの作成
- マネージメントコンソールの「Directory Service」から、AWS Managed Microsoft ADを作成する。
- ディレクトリタイプ: AWS Managed Microsoft AD
- エディション: Standard Edition
- ディレクトリの DNS 名: mksamba-aws.com
- 以下の図のように、2つのAZにまたがって作成される。
- AWS Managed Microsoft ADのドメインを管理する用のEC2インスタンス(Windows Server 2016)を作成
- AWS Managed Microsoft ADは、ドメインにユーザを追加したりするUIがないので、別途ドメインの管理ツールを入れたWindows Server を用意する。
- AMI: Windows_Server-2016-Japanese-Full-Base-2020.01.15 を使用しインスタンスを作成。
- AWS Managed Microsoft AD で作成したmksamba-aws.comドメインに参加する。
- DNS設定をAWS Managed Microsoft ADのIPに変更
- mksamba-aws.comへ参加(mksamba-aws.com\adminユーザを使用)
- ADの操作(admin以外のユーザIDの追加等)ができるように、管理ツールを入れる。
- サーバーマネージャー - ローカルサーバ - 機能 - リモートサーバ管理ツール - 役割管理ツール - Active Directory 管理センター
- 検証用ユーザの作成
- 「Active Directory ユーザとコンピュータ」 を開いてAWS Managed Microsoft ADに接続し、テスト用のユーザ「mksamba-aws.com\aws-user」を作成しておく。なお「admin」は、AWS Managed Microsoft AD で管理用に最初から用意されているユーザ。
EC2インスタンス(Windows Server 2016)でADを作成
- AMI: Windows_Server-2016-Japanese-Full-Base-2020.01.15 を使用しインスタンスを作成。
- ADの設定
- サーバマネージャー - ローカルサーバ - 役割 - Active Directory ドメインサービス を追加。
- 自身のドメインを 「mksamba-onpremises.com」とする。
- 検証用ユーザの追加
- 「Active Directory ユーザとコンピュータ」 を開いて、ユーザ「mksamba-onpremises.com\onpremises-user」を作成しておく。
AWS Managed Microsoft AD(mksamba-aws.com) と自作のAD(mksamba-onpremises.com) の信頼関係の設定
- 条件付きフォワーダーの設定(自作ADにて)
- 「管理ツール - DNS」 にて、条件付きフォワーダーの設定を行う。mksamba-aws.com の名前解決を行う際のDNSサーバのIPアドレスとして、AWS Managed Microsoft AD のIPを設定する。
- 信頼関係の設定(自作ADにて)
- 「Active Directory ドメインと信頼関係」 を開いて、「mksamba-onpremises.com」のプロパティ」 - 「信頼」- 「新しい信頼」から、対向のドメイン(mksamba-aws.com)の情報を入力する。
- 信頼関係の設定(マネージメントコンソールにて)
- 作成済のAWS Managed Microsoft AD の「ネットワークとセキュリティ」のタブを開き、「信頼関係」- 「信頼関係の追加」を行う。
- 対向のドメイン「mksamba-onpremises.com」及び条件付きフォワーダのIP(自営AD化したEC2インスタンスのIP)を指定する。
- しばらくすると、信頼関係のステータスが「検証済み」となり、信頼関係が確立される。
マネージメントコンソールのログイン認証にADを使うための設定
- 作成済のAWS Managed Microsoft AD の「アプリケーションアクセス管理」のタブを開き、「アプリケーションアクセスURL」を作成する。ADに登録したユーザを使ってマネージメントコンソールにログインする場合は、このURLにアクセスして、ユーザID/パスワードを入力してログインすることになる。
- 「アプリケーションアクセス管理」のタブの「AWSマネジメントコンソール」を「有効」に変更する。変更後、「AWSアプリ及びサービス」にて、「AWS Management Console」のステータスが有効になっていることを確認する。
-
IAM Roleを作成する。Roleに設定する権限は、ADでの認証を使ってログインするユーザに与えたい権限を設定する。次に、Roleに対して、マネージメントコンソールとの連携を行うため、「信頼関係」タブにて、「信頼関係の編集」を開き、設定を追加する必要がある。設定する内容は以下のページを参照のこと。(AWS公式: Editing the Trust Relationship for an Existing Role)
-
作成したIAM Role(mksamba-ec2role)が「アプリケーションアクセス管理」の「コンソールアクセスの委任」のところに表示されることを確認する。
-
Role(mksamba-ec2role)を選択し、ユーザを追加する。今回は、AWS Managed Microsoft AD上のユーザ「mksamba-aws.com\aws-user」と、信頼関係がある自作AD上のユーザ「mksamba-onpremises.com\onpremises-user」の2つのユーザを追加する。
動作確認
ログイン画面
- 先のステップで作成した「アプリケーションアクセスURL」にアクセスする。AWS Managed Microsoft AD上のユーザ「mksamba-aws.com\aws-user」もしくは、信頼関係がある自作AD上のユーザ「mksamba-onpremises.com\onpremises-user」でログインしてみる。
ログイン後の画面
- 「mksamba-onpremises.com\onpremises-user」でログインすると、「フェデレーションログイン」として表示される。
CloudTrail アクセスログ
- CloudTrailで ConsoleLoginのログを確認する。以下のようにユーザ名部分(ドメイン名なし)で表示されている。
所感
- 久しぶりにADの設定などを行い、AWSというよりはWindowsの知識が求められると感じた。幅広いジャンルの知識を得られるよういろんなサービスを触っていきたい。
参考記事
-
AWS公式:オンプレミスの Active Directory ユーザーに AWS マネジメントコンソールへのアクセス権を付与するにはどうすればよいですか?
- IAMユーザではなく、別立てのADでマネージメントコンソールのログイン認証を行うための概要手順説明。基本的にはこれに沿ってやっていけばよい。
-
AWS公式:チュートリアル: AWS Managed Microsoft AD とオンプレミスドメインの間の信頼関係を作成する
- AWS Managed Microsoft AD と 自前のADの信頼関係を設定する手順の説明。