CI部の佐藤です。
AWS IAM Identity Center(旧称AWS SSO)の検証をすることがあったので内容について記載していきます。
やりたいこと
- Microsoft 365 のログインを AWS IAM Identity Center経由で行えるようにする。
- AWS IAM Identity Centerのアイデンティティソースは EC2インスタンス上に構築された Active Directoryとする。
検証した構成
- やりたいことを実現できるか検証するために作った環境の構成図は以下です。
- AWS IAM Identity Centerのアイデンティティソースに直接EC2インスタンスをターゲットにすることができないため、AD Connectorを利用しています。
- Microsoft 365のユーザ情報などは Azure Active Directoryとなっており、Azure AD Connect を利用して同期します。
環境構築の流れ
- 設定については以下流れで実施していきます。
- EC2インスタンスを構築し Active Directoryを導入
- AD Connectorを導入
- AWS IAM Identity Center アイデンティティソースの設定
- Microsoft365の利用を許可するグループ作成
- Active Directory を Azure AD と同期する
- AWS IAM Identity Center に Microsoft 365 を登録し、フェデレーション設定を行う
- 動作確認
EC2インスタンスを構築しActive Directoryを導入
- VPCにWIndows Serverを作りますが、ここでは細かい手順は省略します。
- Windows Serverを日本語で利用したかったので以下CLIを実行してAMIを選択しました。
aws ec2 describe-images \ --region ap-northeast-1 \ --owners amazon \ --filters "Name=platform,Values=windows" \ "Name=name,Values=Windows_Server-*-Japanese-*-Base-*" \ --query "Images[].[ImageId, Name]" \ --output table
- Windows Serverが起動できたらこちらの記事を参考にWindows Serverに Active Directoryを導入しました。
- 当たり前ですが操作はGUIでもCUIでもどちらでも問題ないです。
- DHCPサーバについては不要ですので選択しないで問題ありません。
- https://blog.serverworks.co.jp/windows-server-1-domain-controller-gui
AD Connectorを導入
- Active Directoryが構築できたらAD Connectorの設定を行います。
- 以下を参照にサービスアカウントの作成を行い、AD Connectorを作成します。
- 一応、こちらのブログも参考にしていただけるとうれしいです。
AWS IAM Identity Center アイデンティティソースの設定
1.マネジメントコンソールにて [IAM Identity Center] を選択します。 2.AWS IAM Identity Center のデフォルトのアイデンティティソースがIdentity Center ディレクトリのため、[アクション] → [アイデンティティソースを変更] をクリックします。
3.[Active Directory] を選択し [次へ] をクリックします。
4.Existing Directoriesで事前に作成したAD Connectorを選択し [次へ] をクリックします。
5.確認がでてきますので [承諾] と入力して [アイデンティティソースを変更] をクリックします。
6.以下のような画面になり完了したらアイデンティティソースの変更が完了です。
Microsoft365の利用を許可するグループ作成
続いて AWS IAM Identity Center 経由で Microsoft 365 の利用を制御するための設定を行っていきます。
1.まず Active Directoryで [ms365] という名称でグループを作成します。グループ名は何でも問題ないと思います。
2.続いてユーザを新規に作成、パスワードを設定します。 3.ユーザ作成が完了したら、作成したグループを追加します。
4.AWS IAM Identity Center で [グループ] → [同期の管理] の順にクリックします。
5.[ユーザとグループを追加] をクリックします。
6.グループタブを選択後にグループ名に[ms365] を入力し、[追加] → [送信] の順にクリックします。
7.以下のように追加されることを確認してください。
Active Directory を Azure AD と同期する
これまで作業してきた Active Directory を Azure AD と同期していきます。今回私はADユーザの全てを同期する前提で作業を進めます。 Microsoft 365 のドメインセットアップは実施済みとして省略しますが、同期に際していくつか注意点だけ記載させていただきますのでご確認の上で進めてください。
- Azure AD へ同期するユーザについて特定のグループに所属しているユーザを対象とするグループベースについては、グループの中にグループを入れるといった入れ子をサポートしない。また、設定は出来るがパイロットデプロイの利用のみでプロダクション環境での利用は非推奨。
- Microsoft 365 の既定ドメインをこの後設定するフェデレーションドメインに設定することは出来ず、追加ドメインを利用する必要がある。
Azure Active Directory Connect のインストールのカスタマイズ - Microsoft Entra | Microsoft Learn
Microsoft 365 管理 センターでフェデレーション ドメインをユーザーに割り当てることができない - Office 365 | Microsoft Learn
1.Azure AD Connect をダウンロードしインストーラーを起動します。
2.[簡単設定を使う] をクリックします。
3.Azure ADのグローバル管理者権限を持つ資格情報を入力して [次へ] をクリックします。
4.AD DSのエンタープライズ管理者権限を持つ資格う情報を入力して [次へ] をクリックします。
5.[一部のUPNサフィックスが確認済みドメインに一致していなくても続行する] にチェックを入れ、 [次へ] をクリックします。
※わたしの検証環境の Active Directory のドメイン名が Azure AD に存在しないドメインだった際の画面コピーしかなかったのですが、実際には Azure AD ドメインの項目が [確認済み] となっているはずです。
6.[構成が完了したら、同期プロセスを開始する。] にチェックを入れて [インストール] をクリックします。
7.インストールが終了するまで少し待ちます。
8.Microsoft 365の管理センター経由でAzure Acitve Directory のユーザを確認すると、以下のような形でユーザが追加されていることが確認できます。また、この後で Office アプリケーションの権限が必要な場合は割り当てしておくと良いでしょう。
AWS IAM Identity Center に Microsoft 365 を登録し、フェデレーション設定を行う
いよいよ最後の手順です。AWS IAM Identity Center に Microsoft 365 を登録し、フェデレーションの設定を行っていきます。
1.マネジメントコンソールで [IAM Identity Center] → [アプリケーション] を順にクリックします。
2.[アプリケーションを追加] をクリックします。
3.Microsoft 365が事前登録のアプリケーションになかったので、 [Office365] を選択して [次へ] をクリックします。
4.表示名などを変更したい場合は変更し、[IAM Identity Center メタデータ] の箇所から①サインインURL、②サインアウトURL、③発行者URLをコピーし、IAM identity Center 証明書をダウンロードして [送信] をクリックします。
また、アプリケーションメタデータの項目で https://login.microsoftonline.com/login.srf と [urn:federation:MicrosoftOnline] を入力します。
5.続いて [ユーザーを割り当て] をクリックします。
6.同期設定した [ms365] グループを選択して [ユーザーを割り当て] をクリックします。
7.AWS IAM Identity Center の設定は終了になりますので、ここからはPowerShellが実行できる環境で作業を行います。わたしはこちらを参考に Active Directory を導入したWindows Serverで作業しました。
8.以下コマンドを実行してAzure AD モジュールをインストールします。
Install-Module MSOnline
9.以下コマンドを実行して Azure AD に接続します。
$Msolcred = Get-credential Connect-MsolService -Credential $MsolCred
10.以下コマンドを実行してフェデレーションできるようにします。
Set-MsolDomainAuthentication -DomainName "Microsoft 365のドメイン名" -FederationBrandName "Microsoft 365の組織名" -IssuerUri "項番4の③発行者URL" -PassiveLogOnUri "項番4の①サインインURL" -LogOffUri "項番4の②ログオフURL" -SigningCertificate "項番4でダウンロードしたIAM identity Center 証明書" -PreferredAuthenticationProtocol SAMLP -Authentication Federated
11.Microsoft 365のカスタムドメインの画面を確認するとフェデレーションが有効になっている状態が確認できました作業は完了です。
AWS IAM Identity Center 経由でログインできるか確認
1.ms365グループに所属しているADユーザでAWS IAM Identity Center にサインインします。
2.無事に作成したアプリケーションが表示されましたのでクリックします。
3.確認が表示されましたが、Officeの画面が表示されました!わたしはライセンスを割り当てていなかったのでExcelなどは表示されませんがライセンスを割り当てれば利用できるようになっています。以上で作業は終わりになります。お疲れ様でした!
最後に
- だいぶ長くなってしまいましたが、検証の結果無事にやりたいことができることは確認できました。実際に利用する際には全ユーザをADに同期するのは不都合があったり、Office ライセンスの割り当てを自動で行いたいなどあるかと思いますのでご対応いただければと思います。
- 最後までごらんになっていただきありがとうございました!!!