[AWS](WA)IAM グループとロールの自動デプロイ

AWS

元ネタ

AWSのWell-Architected Frameworkを改めて整理。せっかくなんでハンズオン形式で学べるAWS Well-Architected Labsをやってみよう!ということで、備忘も兼ねて実践&記録をしてみました。

Workshop Studio
Discover and participate in AWS workshops and GameDays

前提条件

  • AWSアカウントがあること
  • IAM でリソースを作成する権限。

ハンズオン開始

0. 概要

このハンズオンでは、AWS CloudFormationを使用して、IAMグループとロールを自動的に作成する方法を実践します。

自分
自分

やっている処理は大したことないけど、設定されるグループとロールの説明が全くない。。。

仕方ないので補足します。。。

設定されるロール(オプションのアカウントIDが設定されない場合のみ)

ここでプリフィックスは「Baseline」が前提。

Baseline-AccountWideReadOnly

ReadOnlyAccessが設定されたロール

Baseline-CloudFormation

CloudFormationの作成・更新ができるロール

Baseline-IdentityAdmin

IAM管理ができるロール。(ReadOnlyAccessも付加)

Baseline-PrivilegedAdmin

AdministratorAccessが設定されたロール

Baseline-RestrictedAdmin

CloudFormation管理(スタック作成したリージョンに制限)ができるロール。(ReadOnlyAccessも付加)

AWSCloudFormationStackSetExecutionRole

AdministratorAccessが設定されたロール。(MFA強制はされない)

1. AWS CloudFormationスタックの作成

予め用意したyamlファイルを使って、CloudFormationでスタックを作成します。

CloudFormationスタックの作成手順

  1. 希望のリージョンを選択し、CloudFormationコンソールを開く。
  2. 「スタック」の右上にある「▼スタックの作成」から「新しいリソースを使用(標準)」を選択する。
  1. 「前提条件」では「テンプレートの準備完了」を選択し、テンプレートの指定では「テンプレートソース」として「Amazon S3 URL」、「Amazon S3 URL」に以下のURLを貼り付けて、「次へ」を選択する。
https://ws-assets-prod-iad-r-cmh-8d6e9c21a4dec77d.s3.us-east-2.amazonaws.com/af6cf1bc-42ca-4e08-a9c1-f8a7f20324db/baseline-iam.yaml
  1. 「スタック名」に「baseline-iam」を入力する。
  2. 「オプション」は以下を参考に入力する。
項目名説明入力例
AllowRegionアクセスを制限する単一のリージョン。希望のリージョンを入力します。ap-southeast-1
BaselineExportName作成されたリソースのリソース名とともに使用される CloudFormation エクスポート名のプレフィックスBaseline
BaselineNamePrefixこのスタックによって作成されたロール、グループ、およびポリシーのプレフィックス。Baseline
IdentityManagementAccount一元化された IAM ユーザーを含み、すべてのロールを引き受けると信頼されている AccountId、またはクロスアカウントの信頼がない場合は空白。
信頼できるアカウントは適切に保護される必要があることに注意してください。
123456789012
OrganizationsRootAccount組織の役割を引き受けると信頼されている AccountId、またはクロスアカウントの信頼がない場合は空白。
信頼できるアカウントは適切に保護される必要があることに注意してください。
123456789012
ToolingManagementAccountReadOnly ロールと StackSet ロールを引き受けると信頼されている AccountId、またはクロスアカウントの信頼がない場合は空白。
信頼できるアカウントは適切に保護される必要があることに注意してください。
123456789012
  1. 「次へ」を選択する。
  2. 「スタックオプションの設定」ではデフォルトのまま。「次へ」を選択する。
  3. 「レビュー」にて最終確認する。内容がOKであれば「AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。」のチェックボックスをオンにして、「送信」を選択する。
  1. スタックのステータスは「CREATE_IN_PROGRESS」となっており、数分後には「CREATE_COMPLETE」に変わる。

2. Webコンソールで制限付き管理者ロールを使用する

ロールを「Baseline-RestrictedAdmin」に切り替え、制限を確認する。

ロールの切り替え手順

  1. ロールを開き、「Baseline-RestrictedAdmin」を検索し、詳細を開く。
  2. 「概要」の右にある「コンソールでロールを切り替えるためのリンク」のリンクをコピーする。
  3. ブラウザに2.のリンクを貼り付け、アクセスする。
  4. 「ロールの切り替え」にて、「アカウント」にアカウントID、「ロール」に「Baseline-RestrictedAdmin」が入力されていることを確認し、必要に応じて「表示名」「色」を変更する。
  1. 「ロールの切り替え」を選択する。
  2. 右上のナビゲーションバーの名前が4.で入力した表示名になっていることを確認する。
  1. CloudFormation以外は読み取り権限のみのため、IAMでユーザーが作成できない、などを確認する。
  1. 右上のナビゲーションバーの名前より「スイッチバック」で元のユーザーに戻る。

タイトルとURLをコピーしました