Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ベスプラに憧れてIAMユーザーを集約した話

Avatar for MasakiSeyama MasakiSeyama
July 09, 2025
170

 ベスプラに憧れてIAMユーザーを集約した話

Avatar for MasakiSeyama

MasakiSeyama

July 09, 2025
Tweet

Transcript

  1. 自己紹介 氏名 瀬山 政樹(@MasakiS_0402) 所属 ITを本業としない事業会社 → クラウドCoE として苦悩を楽しむ日々 好きな

    AWS サービス IAM とか AWS Organizations x 連携機能 表彰 Japan AWS TopEngineer 2021/2022/2025 ALL AWS Certifications Engineer 2022/2024/2025
  2. 目指していた 【ベストプラクティス】 • AWSが推奨する構成イメージ(個人の理解) ✓人が利用するIAMユーザー非推奨 → AWS IAM Identity Center

    で一元管理 ✓組織全体での統一アクセス管理(Permission Set + SCIM) ✓MFA でセキュリティを確保 AWS IAM Identity Center 自社エンジニア AWS account AWS account AWS account
  3. AWS IAM Identity Centerの動作イメージ PC操作 スマートフォン操作(MFA) 1. Identity Center ポータルへアクセス

    2. リダイレクト先のMicrosoft Entra ID ログイン画面 3. MFA認証(スマホ等) 4. Identity Center ポータルへ遷移 5. Permission Set に応じてアカウント一覧表示 6. 任意のAWSアカウントにログイン 動画再生のスライドの ため、YouTubeの配信 動画をご確認ください 🙇
  4. 外部ベンダーさんだけ、IdPにユーザーを作成できない… AWS IAM Identity Center 自社エンジニア AWS account AWS account

    AWS account 諸事情により、 ここに作れない! 外部ベンダー (ライセンス数の都合上、契約上と理由は様々) 自社エンジニア(管理者側)すると… 外部ベンダー(利用者側)からすると… • AWSアカウントの数だけIAMユーザーを持ちたくない… • 各AWSアカウントにIAMユーザーがあるのはリスク… • AWSアカウントが増えるたびにIAMユーザーが増殖… 予算が… なんで… A W S ア カ ウ ン ト 数 は 4 0 以 上 存 在
  5. AWS account AWS account AWS account JUMPアカウント IAM Role Role

    Role 外部ベンダーさん IAMユーザー集中管理のための「Jumpアカウント」構成 ① 1. JUMPアカウントにIAMユーザーを作成 • IAMユーザーは原則、JUMPアカウントのみに作成 • MFA必須として、設定していない場合、 AssumeRole不可ポリシーを適用 2. 各AWSアカウントにはJUMPアカウント&指定されたIAMグループ からの AssumeRole を許可するIAMロールを作成 3. 外部ベンダーさんは以下のステップでログオン • JUMPアカウントのIAMユーザーでログイン • 目的のAWSアカウントにAssumeRoleを行なう ② ③ より効率的なIAMリソースの管理を実現に向けて。。。
  6. CDKによるIAMリソースの作成と管理を実施 Parameter Store 1. クロスアカウントアクセス管理 • AWS Organizations内の複数アカウントへのアクセスを一元管理 • JUMP

    アカウントでIAMユーザーを集中管理 • 各アカウントにはロールを配置し、ロールスイッチで権限付与 2. セキュリティ機能 • MFA強制機能:MFA未設定ユーザーは限定操作のみ可能 • IP制限:特定のIPアドレスからのみアクセス可能に制限 • Permissions Boundary:権限の境界を設定可能 • 初期パスワード自動生成:安全なパスワード生成と設定 3. 権限管理 • 複数の権限レベル:Admin、Power、Read、PowerAndIam、SSM • パートナー企業ごとのグループ管理 • カスタム権限の定義も可能 4. アカウント管理 • 複数のOrganizations 配下に存在するAWSアカウントに対応 • OU(組織単位)ベースの管理 ※CDKを使うに至った理由は「使ってみたかった」
  7. GitHub Actionとの連携 AWS account AWS account AWS account JUMPアカウント IAM

    Role Role Role CloudFormation ④各AWSアカウントにCFnのデプロイ ①CDKコーディング ②CDKコード push ③CI/コードレビュー ③マージ後、自動デプロイ ④CDKでJUMPアカウント内のリソー ス作成/更新を実施
  8. まとめ 1. ベストプラクティスはとても参考になる • 「教科書通りの答え」に近いイメージ 2. ただし、ベストプラクティスがそのまま現場で使えるとは限らない • 理由は様々(既存環境との兼ね合い、文化など) •

    現場に合わせた最適を選ぶために「教科書通りの答え」をどう緩ませていくかが大事 • ゼロベースでの構築ならまずはベストプラクティスを前提に考える 3. Qiita見てください!