前提

・SSOを有効化する前はAWS Organizationsを設定済みであること

構成図

手順

流れ
SSOを理解するために下記のリンクを参考にSSOでログインできるようにしました。
(アイデンティティソース:AWS SSO)
👇
その後、アイデンティティソースをActive Directoryに設定する場合の設定方法検証してみました。

AWS SSO を設定し AWS Organizations 管理のメンバーアカウントへサインインするまでの全体の流れを把握してみる

1.AWS Directory Serviceで「Managed Microsoft AD」の構築

2.Active Directory管理用サーバーの構築

[1~2]は、下記のリンクを参考してCloudFormationで構築しました。
AWS Directory Serviceで「Managed Microsoft AD」を構築した際の「管理用サーバー」の設定方法

3.SSOの構築

参照リンクとの違いを下記に記載する
①アイデンティティソースをActive Directoryに設定
②多要素認証を設定(メールでワンタイムパスワードを送信)

登録された MFA デバイスをユーザーが持っていない場合メールで送信されるように設定してます。

参照リンク:サインイン時に MFA デバイスを登録するよう要求する
本記事:サインイン時に E メールで送信されるワンタイムパスワードの入力を要求する
ここでは、下記のように設定

③アプリケーションの追加

3-1アプリケーションの追加(組織管理アカウント)

1.AWS SSO コンソール上で「アプリケーション」⇒「新規アプリケーションの追加」をクリックします。

2.AWSでフィルターし、「External AWS Account」を選択し、「アプリケーションの追加」をクリックします。

3.[構成]ページの[詳細]セクションに、アプリケーションの表示名と説明(オプション)を入力します。
※同じアプリケーションを複数使用する場合は、一意の表示名を選択することをお勧めします。

4.AWS SSO SAML メタデータをダウンロードします。(後で利用します)

5.ADユーザを作成し、SSOコンソール上で同期します。
※ADユーザの作成手順を割愛します。
SSOコンソール上での同期を下記のリンクを参照
AWS SSO を設定し AWS Organizations 管理のメンバーアカウントへサインインするまでの全体の流れを把握してみる

3-2アプリケーションの追加(組織メンバーアカウント)

1.前の手順でダウンロードしたメタデータファイルをアップロードし、IAMコンソールでSAMLIdentityプロバイダーを作成します。





2.ユースケースで必要とされるアクセスを許可するためのIAMポリシーを作成します。このポリシーは、このIAMロールが外部AWSアカウントで持つ権限を定義します。
※ここでは、AWS管理ポリシーを利用します。

3.新しいSAMLIdentityプロバイダーを信頼するSAMLフェデレーションのIAMロールを作成し、この新しいポリシーを添付します。複数のポリシーを添付することもできます。





3-3アプリケーションの追加(組織管理アカウント)

1.組織管理アカウントのアプリケーションを設定したAWSSSOコンソールページに戻ります。

2.[属性マッピング]タブを選択します。[新しい属性マッピングの追加]をクリックします。ロールの属性を追加します。
アプリケーションのユーザー属性:
https://aws.amazon.com/SAML/Attributes/Role

この文字列値または AWS SSO のユーザー属性にマッピング:
arn:aws:iam::ACCOUNTID:saml-provider/SAMLPROVIDERNAME,arn:aws:iam::ACCOUNTID:role/ROLENAME

形式:unspecified

3.アプリケーションのユーザを割り当てます



4.ADのユーザ情報でSSOでサインインしてみる

下記のリンクを参照
AWS SSO を設定し AWS Organizations 管理のメンバーアカウントへサインインするまでの全体の流れを把握してみる

4.ADのユーザ情報でAWSアカウントへのサインインしてみる






参考

AWS SSOを図解してみた

AWS Organizationsあり、外部認証基盤なしでSingle Sign-On(SSO)を使うべきか

AWS Single Sign-On(SSO)でAWSアカウントへシングルサインオン

AWS Organizations を有効化しメンバーアカウントを新規作成するまでの全体の流れを把握してみる

AWS SSO を設定し AWS Organizations 管理のメンバーアカウントへサインインするまでの全体の流れを把握してみる

AWS Directory Serviceで「Managed Microsoft AD」を構築した際の「管理用サーバー」の設定方法

20200722_AWSBlackbelt_シングルサインオンの設計と運用

Last modified: 2022-07-05

Author