AWS初心者向け研修で発行すべき管理者アカウント・受講者アカウントと発行手順
こんにちは。ゆうせいです。
今回は、AWSの初心者向け研修で、どのような管理者アカウントや受講者アカウントを発行するのが適切か、また、その発行手順について解説します。
まず結論です。
AWS初心者向け研修では、受講者にrootユーザーや共有IAMユーザーを渡すのではなく、AWS Organizationsで研修用のAWSアカウントを分離し、AWS IAM Identity Centerで受講者ユーザーを発行する構成がおすすめです。
AWSのIAMベストプラクティスでは、人間のユーザーは一時的な認証情報を使うフェデレーションアクセスを利用することが推奨されており、集中アクセス管理にはIAM Identity Centerの利用が推奨されています。
まず「AWSアカウント」と「ログインユーザー」を分けて考える
AWS研修の設計で最初につまずきやすいのが、「アカウント」という言葉です。
AWSでは、次の2つを分けて考える必要があります。
| 言葉 | 意味 | 研修での例 |
|---|---|---|
| AWSアカウント | AWSリソースと請求を分ける入れ物 | 受講者001用AWSアカウント、Aチーム用AWSアカウント |
| ログインユーザー | AWSにサインインする人のID | 山田さん、佐藤さん、講師ユーザー |
たとえるなら、AWSアカウントは「教室」です。
ログインユーザーは「教室に入る人」です。
1つの教室に全員を入れることもできます。
しかし、初心者研修では、受講者がEC2やS3などを自由に触るため、できれば受講者ごと、またはチームごとに教室を分けるほうが安全です。
おすすめ構成
初心者向け研修でおすすめする構成は、次の形です。
AWS Organizations 管理アカウント
↓
Training OU または Sandbox OU
↓
受講者用メンバーアカウント
↓
IAM Identity Centerの受講者ユーザー
↓
TrainingLearner権限でログインAWS Organizationsは、複数のAWSアカウントを一元管理するための基盤です。AWS公式ドキュメントでも、複数アカウントの利用は、セキュリティ要件や請求、ワークロードの分離に役立つベストプラクティスとして説明されています
また、AWS Organizationsの推奨OU例には、個々のデベロッパーが実験に使えるAWSアカウントを保持する「サンドボックス」が示されています。研修用アカウントも、このサンドボックスに近い考え方です。
発行すべきアカウントの種類
研修では、最低限次の4種類を用意すると運用しやすくなります。
| 種類 | 対象者 | 用途 | 権限の考え方 |
|---|---|---|---|
| AWS Organizations管理アカウント | 研修基盤管理者 | 請求、組織、アカウント作成、IAM Identity Center管理 | 最小人数のみ。日常演習では使わない |
| 講師・運営用ユーザー | 講師、TA、研修運営者 | 受講者環境の確認、トラブル対応、後片付け | 研修用AWSアカウントに対する管理権限 |
| 受講者用AWSアカウント | 受講者またはチーム | EC2、S3、VPC、IAMロールなどの演習環境 | 他受講者と分離する |
| 受講者ログインユーザー | 各受講者 | AWSアクセスポータルから研修環境へログイン | 研修に必要な範囲だけ許可 |
ここで大事なのは、管理アカウントを研修の作業場にしないことです。
管理アカウントは、学校で言えば「職員室」です。
受講者が演習する場所ではありません。
受講者用AWSアカウントは1人1つが理想
初心者向け研修で最も安全なのは、受講者1人につき1つのAWSメンバーアカウントを用意する方法です。
| 方式 | メリット | デメリット | おすすめ度 |
|---|---|---|---|
| 1人1 AWSアカウント | リソース衝突が少ない。請求や削除も追いやすい | アカウント作成数が増える | 高い |
| 2〜4人で1 AWSアカウント | チーム演習に向く。管理数を減らせる | 操作ミスの影響がチーム内に広がる | 中〜高 |
| 全員で1 AWSアカウント | 準備が簡単 | リソース名衝突、誤削除、権限管理、請求把握が難しい | 低い |
| 受講者ごとにIAMユーザーだけ作る | 昔ながらの方法で分かりやすい | 長期認証情報や権限分離のリスクが高い | 原則避けたい |
初心者は、悪気なく大きなEC2を起動したり、VPCを消したり、S3バケットを公開しそうになったりします。
1人1アカウントなら、失敗の影響範囲を小さくできます。
小学校の理科実験で、全員が同じビーカーを使うより、班ごとにビーカーを分けたほうが安全なのと同じです。
rootユーザーは受講者に渡さない
受講者に絶対に渡してはいけないものがあります。
AWS公式ドキュメントでは、rootユーザー認証情報を保護し、rootユーザーが必要なタスクにだけ使用すること、rootユーザーにはMFAを設定すること、rootユーザーのアクセスキーを作成しないことが強く推奨されています。
rootユーザーは、AWSアカウントの「全権限を持つ鍵」です。
受講者にrootを渡すのは、研修室の合鍵どころか、会社の金庫と電源室の鍵まで渡すようなものです。
研修では、rootユーザーを使わせない設計にしてください。
受講者にはIAM Identity Centerユーザーを発行する
受講者には、IAMユーザーではなく、IAM Identity Centerのユーザーを発行するのが現在のおすすめです。
IAM Identity Centerでは、ユーザーやグループに対してAWSアカウントへのアクセスを割り当て、そのアクセス権限をpermission setで管理できます。permission setは、IAMポリシーのテンプレートのようなもので、複数AWSアカウントへのアクセス権限割り当てを簡素化します。
受講者は、AWSアクセスポータルにログインし、割り当てられたAWSアカウントとロールを選んでAWSマネジメントコンソールを開きます。AWS公式ドキュメントでも、AWSアクセスポータルではユーザーがアカウントとpermission setに対応するロールを選んでコンソールや一時認証情報を利用できると説明されています。
権限設計のおすすめ
権限は、役割ごとに分けます。
| Permission set名 | 対象 | 権限イメージ | 使い方 |
|---|---|---|---|
| TrainingAdmin | 講師、研修運営者 | 研修用メンバーアカウント内の管理権限 | 受講者のトラブル対応、後片付け |
| TrainingInstructorReadOnly | TA、見学者 | 読み取り中心 | 状況確認、レビュー |
| TrainingLearner | 受講者 | 研修で使うサービスだけ操作可能 | EC2、S3、VPCなどの演習 |
| TrainingBillingViewer | 研修責任者 | 請求・予算確認 | 費用監視 |
受講者に最初からAdministratorAccessを渡すのは、初心者研修ではおすすめしません。
ただし、IAMやCloudFormationまで含めた実践研修では、ある程度広い権限が必要になる場合があります。
その場合でも、AWS OrganizationsのSCPで上限をかけておきます。
SCPは、組織内のIAMユーザーやIAMロールが実行できる最大権限を中央で制御する仕組みです。ただし、SCP自体は権限を付与するものではなく、あくまでガードレールとして上限を定めるものです。
初心者研修のTrainingLearner権限例
初心者向けなら、最初は次のような範囲で十分です。
| サービス | 許可する理由 | 注意点 |
|---|---|---|
| S3 | ストレージ、静的Webホスティング、権限の基礎を学べる | 公開設定に注意 |
| EC2 | 仮想サーバーの基礎を学べる | インスタンスタイプ、リージョン、停止忘れに注意 |
| VPC | ネットワークの基本を学べる | NAT Gatewayなど高額化しやすい構成に注意 |
| CloudWatch | ログ、メトリクス、監視の基本を学べる | ログ残しすぎに注意 |
| IAMロール | EC2やLambdaからAWSサービスを使う基礎を学べる | IAMユーザー作成や権限昇格は制限 |
| Lambda | サーバーレス入門に向く | 無限実行や外部連携に注意 |
一方で、初心者研修では次の操作は基本的に制限したほうがよいです。
Billingの変更
Organizationsの操作
Account設定の変更
IAMユーザーやアクセスキーの自由作成
高額サービスの自由利用
不要リージョンでのリソース作成
サポートプラン変更
Marketplace購入
ルートユーザー操作初心者に自由を与えすぎると、学習よりも事故対応が増えます。
安全なレールを敷いたうえで、その範囲内で自由に触らせましょう。
発行手順の全体像
発行手順は、次の流れがおすすめです。
1. 研修設計を決める
2. AWS Organizations管理アカウントを準備する
3. Training用OUを作る
4. 受講者用メンバーアカウントを作る
5. SCPでガードレールを設定する
6. CloudTrailとBudgetsを設定する
7. IAM Identity Centerを有効化する
8. グループとpermission setを作る
9. 受講者ユーザーを作る
10. グループに追加する
11. AWSアカウントへアクセス権を割り当てる
12. 受講者へログイン手順を配布する
13. 研修後にアクセス停止・リソース削除・アカウント整理を行う
順番に見ていきましょう。
手順1:研修設計を決める
最初に、技術設定ではなく研修設計を決めます。
| 決めること | 例 |
|---|---|
| 受講者数 | 20名 |
| アカウント単位 | 1人1AWSアカウント、または2人1AWSアカウント |
| 利用リージョン | 東京リージョンのみ |
| 使うサービス | S3、EC2、VPC、CloudWatch、Lambda |
| 使わないサービス | Bedrock、EKS、Redshift、GPU系EC2など |
| 予算 | 1人あたり上限目安を決める |
| 研修後の扱い | リソース削除、アカウント閉鎖、または次回再利用 |
先に設計を決めないと、権限が広すぎたり、逆に演習ができなかったりします。
AWS研修のアカウント設計は、会場設営に似ています。
何人来るのか、どんな演習をするのか、どこまで触ってよいのかを先に決めてください。
手順2:AWS Organizations管理アカウントを準備する
既存の社内AWS Organizationsを使う場合は、研修用OUを追加します。
新しく作る場合は、管理アカウントを作成し、rootユーザーを厳重に保護します。
管理アカウントのrootユーザーには、強力なパスワード、MFA、グループメールアドレス、アクセスキーを作らない運用が必要です。AWS公式ドキュメントでも、rootユーザーのMFA設定、rootアクセスキーを作らないこと、rootメールアドレスに業務用のグループメールを使うことが推奨されています。
手順3:Training用OUを作る
AWS Organizationsで、研修用のOUを作ります。
Root
└── Training
├── 2026-newhire
└── SandboxOUとは、AWSアカウントをまとめるフォルダのようなものです。
OUにSCPを付けると、その配下のAWSアカウントにまとめて制限をかけられます。
AWS公式ドキュメントでも、OUを使うとアカウントを階層に整理し、管理コントロールを適用できると説明されています。
手順4:受講者用メンバーアカウントを作る
AWS Organizationsから、受講者用のメンバーアカウントを作成します。
アカウント名は、後で分かるように命名します。
tr-2026-newhire-001
tr-2026-newhire-002
tr-2026-newhire-003
tr-2026-newhire-team-a
tr-2026-newhire-team-b
AWS Organizationsで組織内にメンバーアカウントを作成すると、メンバーアカウントにはOrganizationAccountAccessRoleが自動的に作成され、管理アカウント側から管理操作ができるようになります。
作成後は、Training用OUへ移動します。
この段階で、受講者にはまだログイン情報を配りません。
手順5:SCPでガードレールを設定する
Training OUにSCPを設定します。
SCPでは、たとえば次のような制限を検討します。
指定リージョン以外の利用を制限する
Organizations操作を禁止する
Billing変更を禁止する
IAMユーザーやアクセスキー作成を禁止する
高額サービスの利用を禁止する
Marketplace購入を禁止する
サポートプラン変更を禁止するただし、SCPは強力です。
AWS公式ドキュメントでも、SCPを組織のルートに付ける前に十分テストし、まずOUに少数のアカウントを移して影響を確認することが強く推奨されています。
研修では、いきなり本番組織全体にSCPを付けないでください。
研修用OUで試せ!
手順6:CloudTrailとBudgetsを設定する
研修環境では、誰が何をしたか、いくら使っているかを見えるようにします。
CloudTrailでは、組織全体のアクティビティを記録する組織証跡を作成できます。AWS公式ドキュメントでは、組織証跡は管理アカウントとすべてのメンバーアカウントのイベントをログに記録すると説明されています。
費用面では、AWS Budgetsを設定します。
AWS Budgetsでは、コストや使用量の予算を設定し、実績または予測がしきい値を超えた場合に通知できます。ただし、請求データには遅延があるため、通知が届く前に追加コストが発生する可能性があります。
より強く制御したい場合は、AWS Budgets Actionsを検討します。AWS Budgets Actionsでは、予算しきい値を超えたときにIAMポリシーやSCPの適用、特定のEC2やRDSインスタンスへのアクションを設定できます。
手順7:IAM Identity Centerを有効化する
次に、IAM Identity Centerを有効化します。
IAM Identity Centerは、受講者がAWSアクセスポータルにログインし、割り当てられたAWSアカウントへ入るための入口です。
受講者は、AWSアクセスポータルのURLにアクセスし、ディレクトリの認証情報でサインインし、割り当てられたAWSアカウントとロールを選んで利用します。
可能であれば、IAM Identity CenterでもMFAを設定します。
AWS公式ドキュメントでは、IAM Identity Centerのアイデンティティストア、AWS Managed Microsoft AD、AD Connectorを使う場合にMFA機能を設定できると説明されています。
手順8:グループを作る
IAM Identity Centerで、研修用のグループを作ります。
grp-training-admin
grp-training-instructor
grp-training-ta
grp-training-learner
grp-training-billing-viewer
AWS公式ドキュメントでは、IAM Identity Centerのディレクトリにグループを作成し、必要に応じてユーザーを追加できると説明されています。
ユーザー単位ではなく、グループ単位で権限を割り当てるのが基本です。
AWS公式ドキュメントでも、アクセス権限の管理を簡素化するため、個別ユーザーではなくグループへアクセスを割り当てることが推奨されています。
手順9:permission setを作る
次に、permission setを作ります。
TrainingAdmin
TrainingInstructorReadOnly
TrainingLearner
TrainingBillingViewer
permission setは、IAM Identity CenterでユーザーやグループにAWSアカウントへのアクセス権限を割り当てるためのテンプレートです。IAM Identity Centerは、permission setに基づいて各AWSアカウント内に管理されたIAMロールを作成し、ユーザーがそのロールを引き受けられるようにします。
初心者向けのTrainingLearnerは、最初から最小権限で作るのが理想です。
ただし、演習中に権限不足で止まりすぎると学習効率が下がります。
そのため、初心者研修では次のように段階を分けると現実的です。
| 段階 | 権限設計 | 向いている研修 |
|---|---|---|
| 初回ハンズオン | 使うサービスを広めに許可し、SCPで危険操作を禁止 | AWS全体像、EC2、S3入門 |
| 基礎演習 | サービス単位で許可範囲を絞る | VPC、IAMロール、Lambdaなど |
| 実務型演習 | チームごとに必要な権限だけ付与 | 小規模Webアプリ構築 |
手順10:受講者ユーザーを作る
IAM Identity Centerで受講者ユーザーを作成します。
命名規則は、後で管理しやすい形にします。
student001
student002
student003
newhire-yamada
newhire-sato
AWS公式ドキュメントでは、IAM Identity CenterのUsersからAdd userを選び、ユーザー名、メールアドレスなどを指定してユーザーを追加できます。パスワード設定方法として、ユーザーへ設定手順メールを送る方法や、一時パスワードを生成して共有する方法が説明されています。
メール招待は便利ですが、招待メールには有効期限があります。AWS公式ドキュメントでは、IAM Identity Centerの招待メールは7日で期限切れになると説明されています。
研修前日に慌てないよう、招待メールの送信タイミングに注意してください。
手順11:受講者をグループに追加する
作成した受講者ユーザーを、grp-training-learnerに追加します。
student001 → grp-training-learner
student002 → grp-training-learner
student003 → grp-training-learner
講師はgrp-training-admin、TAはgrp-training-taなどに追加します。
グループで管理すると、受講者が増えても権限割り当てが楽になります。
手順12:AWSアカウントへアクセス権を割り当てる
IAM Identity Centerで、AWSアカウントに対してグループとpermission setを割り当てます。
たとえば、次のように割り当てます。
| AWSアカウント | グループ | Permission set |
|---|---|---|
| tr-2026-newhire-001 | grp-training-learner-student001 | TrainingLearner |
| tr-2026-newhire-002 | grp-training-learner-student002 | TrainingLearner |
| 全研修用アカウント | grp-training-admin | TrainingAdmin |
| 全研修用アカウント | grp-training-ta | TrainingInstructorReadOnly |
AWS公式ドキュメントでは、IAM Identity CenterのAWS accounts画面から対象AWSアカウントを選び、ユーザーまたはグループとpermission setを選択してアクセスを割り当てる手順が説明されています。
1人1アカウントの場合、受講者ごとに専用グループを作ると、割り当てミスを減らせます。
grp-student001 → tr-2026-newhire-001
grp-student002 → tr-2026-newhire-002
grp-student003 → tr-2026-newhire-003
少し手間ですが、安全です。
手順13:受講者へ配布する情報
受講者には、次の情報を配布します。
| 配布項目 | 内容 |
|---|---|
| AWSアクセスポータルURL | IAM Identity CenterのログインURL |
| ユーザー名 | student001など |
| 初期設定方法 | 招待メールからパスワード設定、MFA設定 |
| 使うAWSアカウント名 | tr-2026-newhire-001など |
| 使うリージョン | 例:ap-northeast-1 東京 |
| 演習で使うサービス | S3、EC2、VPCなど |
| 禁止事項 | 高額リソース、公開設定、IAMユーザー作成など |
| 終了時の片付け手順 | EC2停止、S3削除、不要リソース削除 |
受講者向けには、次のような案内文にすると分かりやすいです。
本研修では、AWSアクセスポータルからログインします。 通常のAWSルートユーザーではログインしません。 ログイン後、割り当てられたAWSアカウントを選択し、 TrainingLearnerロールでAWSマネジメントコンソールを開いてください。 演習では東京リージョンのみ使用します。 研修で指定されたサービス以外は利用しないでください。 演習終了時には、講師の指示に従って作成したリソースを削除してください。
研修当日の運用ポイント
研修当日は、講師側で次を確認します。
| 確認項目 | 確認内容 |
|---|---|
| ログイン確認 | 全員がAWSアクセスポータルに入れるか |
| アカウント選択 | 自分の研修用AWSアカウントだけ見えているか |
| リージョン確認 | 指定リージョンで作業しているか |
| 権限確認 | 演習に必要な操作ができるか |
| 費用確認 | 想定外のリソースが作られていないか |
| 終了時確認 | EC2、RDS、NAT Gatewayなどが残っていないか |
初心者研修では、リージョン間違いがよく起きます。
東京リージョンで作ったつもりが、バージニア北部にEC2を作っていた、ということがあります。
講師は、最初にリージョン確認を徹底してください。
研修後の後片付け
研修後は、アクセス停止とリソース削除を必ず行います。
受講者のIAM Identity Centerアクセス割り当てを解除
受講者ユーザーを無効化または削除
EC2、RDS、NAT Gateway、EIP、S3などの残リソース確認
CloudTrail、Budgets、請求を確認
次回再利用しないアカウントは閉鎖または停止用OUへ移動
AWS Organizationsでは、不要になったメンバーアカウントをOrganizationsコンソールから閉鎖できます。ただし、組織がすべての機能モードである必要があり、閉鎖前に影響を確認することが推奨されています。
閉鎖しない場合は、停止用OUを作り、Deny中心のSCPを付けておく方法もあります。
AWS Organizationsの推奨OU例でも、閉鎖済みまたは削除待ちのアカウントを置く「停止」OUが紹介されています。
初心者研修で避けたいアカウント発行
次の方法は、簡単そうに見えてトラブルになりやすいです。
| 避けたい方法 | 理由 |
|---|---|
| rootユーザーを共有する | 全権限を渡すため危険 |
| 全員で同じIAMユーザーを使う | 誰が何をしたか追えない |
| 長期アクセスキーを配布する | 漏えい時のリスクが高い |
| 1つのAWSアカウントで全員が自由演習する | リソース衝突、誤削除、請求把握が難しい |
| AdministratorAccessを受講者全員に配る | 権限昇格や高額リソース作成のリスクがある |
IAMユーザーのアクセスキーは長期認証情報です。AWS公式ドキュメントでも、ベストプラクティスとして、アクセスキーのような長期認証情報ではなく、IAMロールなどの一時的なセキュリティ認証情報を使うことが推奨されています。
小規模研修でどうしても簡易運用する場合
5名程度の短時間ハンズオンで、AWS OrganizationsやIAM Identity Centerをすぐ用意できない場合もあるかもしれません。
その場合でも、最低限次を守ってください。
ただし、これはあくまで簡易運用です。
継続的な新人研修、複数回のAWS研修、会社としての育成基盤を作るなら、AWS OrganizationsとIAM Identity Centerを使った構成に移行しましょう。
おすすめの最終構成
最終的には、次の構成を目指すとよいです。
| 項目 | おすすめ |
|---|---|
| 請求・組織管理 | AWS Organizations管理アカウント |
| 研修用環境 | Training OU配下のメンバーアカウント |
| 受講者環境 | 1人1AWSアカウント、またはチームごとAWSアカウント |
| ログイン方式 | IAM Identity Center |
| 受講者権限 | TrainingLearner permission set |
| 講師権限 | TrainingAdmin permission set |
| 安全対策 | SCP、MFA、CloudTrail、Budgets |
| 研修後 | アクセス解除、リソース削除、アカウント閉鎖または停止OUへ移動 |
まとめ
AWS初心者向け研修では、受講者にrootユーザーや共有IAMユーザーを配るのではなく、AWS Organizationsで研修用AWSアカウントを分離し、IAM Identity Centerで受講者ユーザーと権限を管理するのが適切です。
一言でまとめるなら、AWS研修のアカウント設計は「受講者には安全な作業場を渡し、管理者は全体を見守る」構成にするべきです。
管理アカウントは職員室
受講者用AWSアカウントは実習室
IAM Identity Centerユーザーは入室カード
Permission setは使ってよい道具の一覧
SCPは危険な場所へ行かせない安全柵
新人研修では、受講者が安心して失敗できる環境が大切です。
ただし、安心して失敗できる環境とは、何でも自由にできる環境ではありません。
壊してよい範囲、触ってよい範囲、費用が暴走しない範囲をあらかじめ設計した環境です。
今後の学習では、AWS Organizations、IAM Identity Center、permission set、SCP、CloudTrail、AWS Budgets、IAMロール、最小権限、アカウント分離を順番に学ぶとよいです。まずは小さなTraining OUを作り、講師用1アカウント、受講者用2〜3アカウントで試験運用してから、本番の新人研修へ広げていきましょう!
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール


