この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
前提
・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 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_シングルサインオンの設計と運用