1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

(無料枠で可能)AWS上にADサーバを構成してAWSアカウントにSSOする

Last updated at Posted at 2023-06-16

AWSの試験勉強でよく”Active Directory"(通称AD)がよく出てくるけど、実際触ったことがない、、、ということで
AWS無料枠の範囲内で、Active Direcrotyを構成し、SSOするところまで実施しました。

前提

  • 2023/4/1時点
  • 東京リージョン (ap-northeast-1)

構成

こんな感じ
AD_Connector_アーキテクト.png

注意点は以下
・AD Connector, AD Server はセキュリティ観点からプライベートサブネットに置くべきです。今回はお試しということもありパブリックサブネットに配置しました。

参考: リモートデスクトップは危険って本当!?利用時の注意点と対策

踏み台サーバ経由でRDP接続する方法

参考: 踏み台サーバ経由でリモートデスクトップ接続してみた

・AD Connectorは初めての利用から30日間無料です。それを超えると料金が発生しますので、注意してください。

・EC2の無料期間に関しては月750時間の無料枠を利用しています。それを超える利用は料金が発生しますので注意ください。EBSについても同様です。

・その他設定によっては料金が発生しますのでご注意ください。あくまで自己責任でお願いします。

EC2インスタンス

OS: Windows Server-2022
インスタンスタイプ: t2.micro
キーペア: 作成(RDP接続の際に必要となります)
image.png

セキュリティグループ

EC2インスタンスのセキュリティグループに関して、最低限こちらのインバウンドルールの設定が必要。
今回はソースを0.0.0.0/0としています。
インターネットからRDPで接続するほか、AD Connectorからサーバへ接続するために必要なポートとなります。
image.png
その他、ADサーバの設定によっては別ポート接続のインバウンド許可が必要となります。

参考: AD Connector の前提条件

サブネット用のポート
AD Connector で既存の Active Directory のドメインコントローラーにディレクトリリクエストをリダイレクトするには、既存のネットワークのファイアウォールで、Amazon VPC の両方のサブネットの CIDR に対して次のポートを開く必要があります。
TCP/UDP 53 - DNS
TCP/UDP 88 - Kerberos 認証
TCP/UDP 389 - LDAP
これらは、AD Connector をディレクトリに接続する前に必要な最小限のポートです。固有の設定によっては、追加ポートが開かれていることが必要です。

手順

1. Active Directory の中のAD_DNS機能の有効化、ドメインコントローラ化の実施

以下サイトを参考に実施しました。とても分かりやすいので必見。

EC2をADサーバーとして作成してみた

今回ドメインは"test.com"としました。

2. AD Connector用ユーザを作成

AD内に、AD Connectorがログインして利用できるユーザを作成します。
AD Connectorは、このユーザを利用して、ドメイン内の情報(ユーザとか、グループとか)を読み取ります。

image.png

今回は "Connectors"グループの"connector-admin@test.com"のユーザを追加しました。
この情報は後程利用します。

3. 作成したユーザに読み取り権限を付与

先ほどAD Connectorはこのユーザを利用してドメイン内の情報を読み取るといいました。つまるところ、このユーザには読み取り権限が付与されている必要があります。その権限も付与します。
権限の付与は以下サイトに従って実施しました。

Active Directory Connector(AD Connector)を試してみた
image.png

[制御の委任]→Connectorsグループに「コンピュータオブジェクトの読み取り権限」を付与

AD Connector 設定

1.Directory ServiceからAD Connectorを選択する

image.png

2.VPC,サブネットを選択する

AD ConnectorはVPC内に配置します。そしてデフォルトで複数サブネットに分散される仕様のため、複数サブネットを指定します。

今回はパブリックサブネットに配置してますが、プライベートサブネットに配置するのがセキュリティ的には正しいです。(今回のアーキテクチャではAD Connectorがインターネットに接続することはありません)

image.png

3.ドメイン情報を指定する

Active Directory 内で設定したDNS名を指定します。
NetBIOS名は不要で構いません。
DNS IPアドレスはADサーバのプライベートIPを指定します。(パブリックIPではない点に注意)

image.png

サービスアカウントのユーザ名、パスワードは「2. ADコネクタ用ユーザを作成」で指定したユーザ名、パスワードを指定します。

すると以下のようにディレクトリが作成されます。

image.png

4. IAM Identity ManagerでSSOを設定する

IAM Identity Manager(旧 AWS SSO)はAWSマネージメントコンソールやサードパーティーサービスへのSSOログインを実現するサービスです。

1. アイデンティティソースをAD Connectorにする

まずはこちらでアイデンティティソース(ユーザ、パスワードの情報元)をAD Connectorに設定します。

image.png

設定から、「アイデンティティソースを変更」を選択

image.png

Active Directory を選択

image.png

設定したディレクトリをプルダウンで選択します。

2. 同期の範囲を設定する

Active Directory のどのユーザやグループをSSO設定するか、IAM Identity Managerと連携して設定する範囲を指定します。

image.png

同期の管理を選択

image.png

ユーザとグループの追加を選択

image.png

赤枠のところに、ADで設定したユーザ(赤線)を入力し検索すると出てくるので、追加します。
すると、以下のように、「ユーザ」または「グループ」のタブ内に追加したユーザ、またはグループが追加されていることが確認できます。

image.png

3. 許可セットの作成

許可セットというのはSSO認証し、AWSのマネージメントコンソールにログインした後にどのような権限を持たせるか(認可)です。
許可セットを作成し、ユーザに割り当てるようなイメージです。

image.png

「許可セット」タブから「許可セット作成」を選択
(デフォルトでAdministrator Accessが作られています。)

image.png

事前定義の許可セットから、ポリシーを選択します。
今回は「ReadOnlyAccess」にします。

image.png

セッション時間も設定できます。

image.png

するとめでたく「ReadOnlyAccess」の許可ポリシーが作成できます。

4. SSOするアカウントの設定をする

「AWSアカウント」タブを選択し、SSOログインしたいアカウントを選択します。
※AWS OrganizationOnが設定されている必要があります。

image.png

続いてユーザ、グループをアカウントに割り当てます。

image.png

割り当てたユーザに、SSOログイン後の許可を割り当てます。(許可ポリシー)
複数許可を与えることもできます。

image.png

5. ADユーザでログインし、AWSマネージメントコンソールにログインする

Identity Managerのダッシュボードに、AWSアクセスポータルのURLがあるので、こちらをクリックします。

image.png

すると、以下の画面が表示されます。
image.png

あとはこの画面にユーザ名とパスワードを入力して、ログインします。

image.png

どの権限でログインするかを選択すると。。。

image.png

めでたくログインできました!!!

最後に

私はこの構成を作ってみて、認証周りの理解が大分進みました。
これは動画のほうがわかりやすいなぁと思いつつ。
動画だとアカウント情報とかを隠したりする編集が大変なんですよね。。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?