こんにちは。クラウドコンサルティング課の田原です。
先日、以下のControl Towerのワークショップを実施しまして、Control Towerの基本動作について理解が進みましたので、こちらのブログでも内容を紹介できればと思います。
※本ブログは、ワークショップの内容をベースに、図や追加調査の内容を補足しております。実際に手順実施の場合は、オリジナルのワークショップの資料と合わせてご参照ください。
※2024/11時点の構築手順となります。アップデート等で変更になっている箇所は適宜読み替えて実施してください。
- 全体構成と構築ステップ
- ステップ①:初期セットアップ
- ステップ②:IAM Identity Center経由のログイン
- ステップ③:OUの作成
- ステップ④:Account Factoryでのユーザ作成
- ステップ⑤:AWSアカウントのOU移動
- ステップ⑥:Control Tower管理外のAWSアカウントの取り込み
- まとめ
全体構成と構築ステップ
・本ブログで構築をおこなう「全体構成」と「構築ステップ」について以下に記載を行います
・何も設定されていないAWSアカウントから、Control Towerの構築をおこない、ユーザー管理が行える状態までを本ブログで記載致します。
※ブログの分量が多くなるため、「コントロール管理」部分は別のブログで取り上げる予定となります。
構築ステップ
ステップ | 概要 | 対応内容 |
---|---|---|
1 | 初期セットアップ | ・管理用AWSアカウントの準備 ・Control Towerのランディングゾーンのセットアップ |
2 | IAM Identity Center経由のログイン | ・IAM Identity Centerポータル経由のAWSコンソールログイン |
3 | OUの作成 | ・Control Tower管理のOUを作成 |
4 | Account Factoryでのユーザ作成 | ・Account Factory経由のネットワーク構成を無効化 ・Account Factory経由のAWSアカウント作成 |
5 | AWSアカウントのOU移動 | ・Control Tower管理のAWSアカウントのOU移動 |
6 | Control Tower管理外のAWSアカウントの取り込み | ・Organization経由でのOU・AWSアカウント作成(Control Tower未管理) ・Control TowerへのAWSアカウント登録 |
ステップ①:初期セットアップ
・本ワークショップの中では、5つのAWSアカウントが必要となりました。各AWSアカウントの詳細を以下に記載します。
必要AWSアカウント
# | AWSアカウント | 作成方法 | 役割 | 検証時利用メールアドレス例 (※+部分がエイリアス) |
---|---|---|---|---|
1 | 管理 | 【手動】ワークショップ開始前に手動準備が必要 | 【Control Tower必須】Control Tower をセットアップするアカウント | user+management@example.com |
2 | ログアーカイブ(Log Archive) | 【自動】Control Tower初期設定時に自動作成 | 【Control Tower必須】セキュリティログとコンプライアンスログが保存されるアカウント | user+logs@example.com |
3 | 監査 (Audit) | 【自動】Control Tower初期設定時に自動作成 | 【Control Tower必須】すべてのAWSアカウントに横断的なアクセス権限を持ち、セキュリティ通知機能をもつアカウント | user+audit@example.com |
4 | ラボ ユーザ1 (Lab-User1) | 【自動】Account Factoryで自動作成 | 【任意】ワークロードの動作確認の為の検証用アカウント(Control Tower”管理下”作成検証) | user+lab.user1@example.com |
5 | ラボ ユーザ2(Lab-User2) | 【自動】Organizationで自動作成 | 【任意】ワークロードの動作確認の為の検証用アカウント(Control Tower”管理外”作成検証) | user+lab.user2@example.com |
1-1.管理用AWSアカウントの準備
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/prerequisites
・まず、管理用AWSアカウントの手配をおこないます。注意点として、「既存のOrganizationと関連が無い」スタンドアロンのAWSアカウントである点に注意します。
1-2.Control Towerのランディングゾーンのセットアップ
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/prerequisites/deploying
・管理用AWSアカウントから、Control Towerを初期セットアップします
・有効化をおこなうとControl Towerと連携しているサービスが自動的に有効化されます
・「管理AWSアカウント」にログインします ・「AWS Control Tower」→「ランディングゾーンの設定」を選択します ・「料金の確認とリージョンの選択 」にて以下を入力します。 ・ホームリージョン : アジアパシフィック(東京) ・ガバナンスのための追加リージョンを選択 : 追加設定は無し (管理下に置きたいリージョンがある場合は選択) ・リージョン拒否設定 : 有効になっていません (管理下以外のリージョンを拒否したい場合はこちらを有効にする) ・「組織単位 (OU) の設定 」にて以下を入力します。 ・基礎となる OU : Security (デフォルトのOU名を使用) ・追加の OU : Sandbox (デフォルトのOU名を使用) ・「共有アカウントの設定」にて以下を入力します。 ・ログアーカイブアカウント メールアドレス : ※事前準備をした Log Archive用のメールアドレス※ ・監査アカウント メールアドレス : ※事前準備をした Audit用のメールアドレス※ ・「その他の設定」にて以下の内容を入力します。 ・AWS アカウントアクセス設定 : AWS Control Tower は IAM Identity Center を使用して AWS アカウントアクセスを設定します。 (デフォルト設定) ・AWS CloudTrail の設定 : 有効 (デフォルト設定) ・Amazon S3 のログ設定 : 7 days (検証用の為、コストを鑑みて7日に変更します) ・KMS暗号化 : 無効 (デフォルト設定) ・入力項目を確認して「ランディングゾーンを設定」をクリックします ※初期セットアップの完了には30分程度時間がかかります
・ランディングゾーンの設定が完了すると「ダッシュボード」にサマリーが表示されるようになります
・Control Towerのランディングゾーンの初期セットアップ中に「監査用メールアドレス」へAWS通知の確認メールが送付されます。「Confirm subscription」をクリックして確認する必要があります。
・参考資料:https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/review-and-set-up.html
ステップ②:IAM Identity Center経由のログイン
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/introduction/accessing-accounts
・ステップ①で自動作成された環境へ、IAM Identity Centerポータル経由で各AWSアカウントのコンソールへログインをおこないます
・まず最初に、管理用AWSアカウントのメールアドレスがIAM Identity Centerの初期ユーザとして割り当てられているため、最初のセットアップをおこないます。
・「管理AWSアカウントのメールアドレス」にIAM Identity Centerに招待されたメールが送られているため、「Accept Invitation」をクリックします ・IAM Identity Centerのユーザーとして登録する新規パスワードを設定します。 ・サインイン画面となるため、先ほどセットアップをおこなった「管理用AWSアカウントのメールアドレス」をユーザ名に入力し、設定したパスワードを入力します ・MFAの登録を求められるため、任意のMFAデバイスの登録をおこないます
・IAM Identity Centerのセットアップの確認及びログイン用の「AWS access portal URL」の確認をおこないます。
・「管理ユーザのAWSアカウント」にログインしていることを確認します。 ・「IAM Identity Center」にアクセス → 「Users」を選択して、先ほどセットアップをおこなった管理用AWSアカウントのメールアドレスのユーザが有効になっていることを確認します。 ・「Settings」を選択して、「アイデンティティリソース」の「AWS access portal URL」を開いてください ※「AWS access portal URL」がIAM Identity CenterへのログインするためのURLとなるため、ブックマーク等で保存をしておきます。 ・AWS access portal URL先のログイン画面で、先ほどセットアップをおこなった「管理用AWSアカウント」で登録されているユーザのメールアドレスとパスワードを入力します ・MFAデバイスの登録をおこないます。
・IAM Identity Center経由で、各AWSアカウントにログインをおこないます。
・新しいブラウザ(管理AWSアカウントのログインセッションが無い状態)で、「AWS access portal URL」を開きます ・AWS access portal URL先のログイン画面で、先ほどセットアップをおこなった「管理用AWSアカウント」で登録されているユーザのメールアドレスとパスワードを入力します ・ログインが成功し、「監査用(Audit)アカウント」、「管理AWSアカウント」、「ログ用(Log Archive)アカウント」の3つのAWSアカウントが表示されていることを確認します ・ログインを行いたいAWSアカウントの「AWSAdministratorAccess」をクリックするとAWSポータルへ遷移してログインが可能となります。 ※「フェデレーティッドユーザー( AWSReservedSSO_AWSAdministratorAccess)」としてアクセスされます ・遷移先のAWSアカウントのタブを閉じて、「AWS access portal」より別のAWSアカウントの「AWSAdministratorAccess」をクリックすると、別のアカウントにログインすることが可能です ※後続の作業は、IAM Identity Center経由でログインしたユーザで、各AWSアカウントにスイッチを行いながら作業をします。
ステップ③:OUの作成
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/introduction/manage-ou
・Control Tower管理の新規のOUを作成します。Control Towerより設定変更をおこないます。
・AWS access portalにログイン後の、管理AWSアカウントの「AWSAdministratorAccess」にログインします ・「Control Tower」にアクセスし、「組織」をクリックします。現在のControl Towerで管理されている組織状態が表示されます。 ・「リソースの作成」→「組織単位を作成」をクリックします ・「OUの追加」を以下の設定にて追加します。 ・OU名: Labs ・親OU: Root ・正常にOUが作成されたことを確認します
ステップ④:Account Factoryでのユーザ作成
4-1.Account Factory経由のネットワーク構成を無効化
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/introduction/config-account-factory
・Account Factoryの標準機能で、AWSアカウントの構成するデフォルトVPCネットワーク指定することが出来ます。ただし、IPアドレス範囲が固定値にて提供される為、ワークショップ内では無効化してVPCの作成は行われない様にします。
・AWS access portalにログイン後の、管理AWSアカウントの「AWSAdministratorAccess」にログインします ・「Control Tower」にアクセスし、「Account Factory」をクリックします。 ・「ネットワーク構成」項目の「編集」をクリックします ・「新しいアカウント用の VPC 設定オプション」にて、「チェックの入っているリージョン選択を解除」して保存します
4-2.Account Factory経由のAWSアカウント作成
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/introduction/account-factory/console
・Account Factoryの機能を使って、作成したOU配下に新規のワークロード用のAWSアカウントを作成します
・作成したAWSアカウントは、自動的にControl Towerに登録済みとなりベースライン構成の展開が行われます
・AWS access portalにログイン後の、管理AWSアカウントの「AWSAdministratorAccess」にログインします ・「Control Tower」にアクセスし、「Account Factory」をクリックします。 ・「アカウントの作成」をクリックします ・アカウント作成項目で以下を入力します ・アカウント E メール: ※ラボ ユーザ1 (Lab-User1)として準備したメールアドレスを入力します※ ・表示名: 任意 ・IAM Identity Center ユーザーの E メール: ※ラボ ユーザ1 (Lab-User1)として準備したメールアドレスを入力します※ ・IAM Identity Center のユーザー名: 任意 ・組織単位: Labs ・「Control Tower」→「組織」をクリックし、先ほど作成したAWSアカウント (Lab-User1)が正常に登録されたことを確認します。
・先ほど作成したアカウント (Lab-User1)のメールアドレスは「IAM Identity Center」のユーザーに自動登録されています。
・作成したアカウント (Lab-User1)のメールアドレスに「IAM Identity Center」の招待メールが届いているため、セットアップをおこないログインできるようにします。(方法は管理アカウント時と同様)
・「管理アカウントのメールアドレスのユーザ」にも、追加したアカウント (Lab-User1)のアクセスが追加されています。
※ただし、「AWSOrganizationsFullAccess」の為、Organizations以外のリソースへのアクセスは出来ない点に注意が必要です
ステップ⑤:AWSアカウントのOU移動
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/introduction/moving-accounts
・作成したワークロード用アカウントを、別のOUに移動します
※ワークショップの手順の中では、ServiceCatalogを利用したOU移動が紹介されていましたが、以下公式ドキュメントでは「Control Towerのポータル上から実施可能」になっておりましたのでそちらの手順を記載致します。
・AWS access portalにログイン後の、管理AWSアカウントの「AWSAdministratorAccess」にログインします ・「Control Tower」にアクセスし、「組織」をクリックします。 ・前回作成したAWSアカウント(Lab-User1)を選択して、「アクション」→「更新」をクリックします。 ・以下の設定にて「アカウントの更新」をおこないます。 ・組織単位 : 「Sandbox」に変更 ・問題無く「Sandbox」OUの配下に移動したことを確認します。
ステップ⑥:Control Tower管理外のAWSアカウントの取り込み
6-1.Organization経由でのOU・AWSアカウント作成(Control Tower未管理)
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/enrolling-existing
・Control Tower管理外の既存AWSアカウントを、Control Towerへ取り込むことを想定した内容となります
・事前準備として、OrganizationよりAWSアカウントを新規作成することで、”Control Tower管理外”のAWSアカウントを作成します。
※【補足】実際に既存AWSアカウントの取り込みは「Organizationより既存アカウントの”招待”」を実施することで対応をおこないます。
※参照手順:https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_manage_accounts_invites.html
・AWS access portalにログイン後の、管理AWSアカウントの「AWSAdministratorAccess」にログインします ・「AWS Organizations」→「AWSアカウント」→「AWSアカウントを追加」をクリックします。 ・「AWSアカウントを作成」項目は以下を入力します ・AWS アカウント名 : 任意 ・アカウント所有者の E メールアドレス : ※事前準備したラボ ユーザ2(Lab-User2)のメールアドレス※ ・IAM ロール名 : 変更しない ・続いて新規OU作成の為、「Root」にチェックを入れ、「アクション」→「組織単位/新規作成」をクリックします ・組織単位名を「Old」にして作成をおこないます ・先ほど作成したAWSアカウント(Lab-User2)にチェックを入れて「アクション」→「AWSアカウント/移動」をクリックします ・移動先を「Old」に選択して「アカウントを移動」をクリックします
・上記手順にて、ラボ ユーザ2(Lab-User2)の作成は完了していますが、現状、ラボ ユーザ2(Lab-User2)のAWSコンソールへのアクセス経路が無い為、本ワークショップでは、「管理用メールアドレスのユーザ」にラボ ユーザ2(Lab-User2)のAWSコンソールへのアクセス権限を付与します
・AWS access portalにログイン後の、管理AWSアカウントの「AWSAdministratorAccess」にログインします ・「IAM Identity Center」→「AWSアカウント」をクリックします ・先ほど作成したラボ ユーザ2(Lab-User2)にチェックを入れて「ユーザーまたはグループを割り当て」をクリックします ・「ユーザ」を選択して「管理アカウントのメールアドレス」のユーザ名にチェックをいれて「次へ」をクリックします ・「AWSAdministratorAccess」を選択して「次へ」を選択して権限を付与します。 ・AWS access portalにログイン後の画面に戻り、作成したラボ ユーザ2(Lab-User2)の項目が増えていることを確認します
6-2.Control TowerへのAWSアカウント登録
・関連ワークショップページ:https://catalog.workshops.aws/control-tower/ja-JP/enrolling-existing/single-account
・Control Tower管理外AWSアカウントにおいて、管理AWSアカウントからアクセス可能なロールを作成します。
・AWS access portalにログイン後、「Lab-User2」の「AWSAdministratorAccess」にログインします ・「Identity and Access Management (IAM)」へアクセス → 「ロール」 →「ロールを作成」を選択します ・別の AWS アカウント アカウント ID : ※管理AWSアカウントID※ ・許可ポリシー: AdministratorAccess ・ロール名: AWSControlTowerExecution
・Control Towerの管理下に登録します
※ワークショップ内で、Account Factoryを利用して既存AWSアカウントを登録する手順となっておりますが、公式ドキュメントでは「Control Towerのポータル上から既存アカウントの登録の実施可能」になっておりましたのでそちらの手順を記載致します。
※参照手順:https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/quick-account-provisioning.html
・AWS access portalにログイン後の、管理AWSアカウントの「AWSAdministratorAccess」にログインします ・「Control Tower」にアクセスし、「組織」をクリックします。 ・先ほどOrganizationsより作成した、「Old」OUと「Lab-User2」アカウントがControl Tower管理外となっていることを確認します。 ・「Lab-User2」アカウントを選択し、「アクション」→「登録」をクリックします ・組織単位に「Labs」を選択して、「アカウント登録」をクリックします ・Labs配下に「Lab-User2」が正常に登録されたことを確認します
お疲れさまでした。Control Towerの初期セットアップからユーザー管理までの一連の対応はこれで以上です。
まとめ
いかがでしたでしょうか?
Control Towerの初期セットアップとAccount Factoryでのユーザ管理についてご紹介いたしました。Control Towerを通して一元的管理を体感できたかと思います。
今回取り扱えなかった、Control Towerのコントロール管理やControl Towerを廃止する方法については別の記事にて紹介できればと思います。
本ブログが誰かの学びになれば幸いです。
田原宏樹(執筆記事の一覧)
子供とのお出かけとPodcastを聞くことが趣味です。