Save 37% off PRO during our Black Friday Sale! »

[社内勉強会] AWS Organizations の基礎

[社内勉強会] AWS Organizations の基礎

6d161fe47f36ac295189c3b6a0db2a9a?s=128

MasahiroKawahara

February 07, 2021
Tweet

Transcript

  1. AWS Organizations 勉強会 基礎編 2021/01/29 for

  2. 目次 2 • AWS Organizations って何? • Organizations の機能 •

    連携するAWSサービス • 補足
  3. AWS Organizations って何? 3

  4. AWS Organizations とは 4 • Organization は "組織" という意味 •

    「オーガニゼーションズ」vs 「オーガナイゼーションズ」 • AWS で “組織” を作るサービス
  5. 「実際の組織」から 「AWS Organizations の 組織」を 何となく理解する 5

  6. 実際の Organization(組織) 6 「階層型組織」 - 社長がトップ - 社員いっぱい - 各

    Business Unit に人を配置
  7. AWS Organizations の Organization(組織) 7 「階層型組織」 - マネジメントアカウントがトップ - メンバーアカウントがいっぱい

    - 各 Organizational Unit にアカウントを 配置 ※「実際の組織」と「AWSの組織」の構造がリンク するわけではない
  8. (改めて) AWS Organizations とは • 複数アカウントを組織化して色々できるようにするサービス • できることは とっても多い •

    2つの観点 ◦ [next] AWS Organizations の機能 ◦ AWS Organizations 連携のAWSサービス 8
  9. AWS Organizations の機能 9

  10. AWS Organizations の機能 10 • 組織単位(Organizational Unit) • 一括請求(Consolidated Billing)

    • 新規アカウント作成 • サービスコントロールポリシー(SCP) ※ 厳密に紹介するとほかに以下機能使えます。上 4つに比 べると活用する機会が少ないので今回は割愛 - タグポリシー - バックアップポリシー - AIサービスのオプトアウトポリシー
  11. 組織単位(Organizational Unit: OU) • 階層構造を作るための AWSアカウ ントのコンテナ • OU設計は 最初の大事な設計

    • よくある種別、分け方 ◦ 本番環境/非本番環境をOUで分離 ◦ ログ・監査用 OUを作成 ◦ 共通インフラサービス用 OUを作成 11 AWS Organizations の用語と概念: https://docs.aws.amazon.com/ja_jp/organizations/latest/usergui de/orgs_getting-started_concepts.html ほか用語 • ルート • マネジメントアカウント (昔の呼び名 はマスターアカウント ) • メンバーアカウント
  12. 一括請求(Consolidated Billing) • マネジメントアカウントに請求を集約する機能 • 2つのメリット ◦ コスト管理: 請求の簡素化。メンバーアカウントの AWS利用状況を集計/管理

    ◦ コスト最適化: 「組織を 1アカウントとして扱い」利用料が計算されるためボリュームディス カウントの恩恵有 12 Consolidated billing process: https://docs.aws.amazon.com/awsaccountbilling/latest/a boutv2/useconsolidatedbilling-procedure.html
  13. 新規アカウント作成 • マネジメントアカウントから マネコン or CLI で簡単にメンバーアカウントを 作成できる ◦ AWS

    Organizationsから新規AWSアカウントを作成してスイッチロールしてみた | Developers.IO • ユースケース ◦ プロジェクト毎の「アカウント新規作成 →ベースライン構築」のプロセス自動化 13
  14. サービスコントロールポリシー(SCP) • ルート/OU/アカウントにアタッチできるポリシー • OU配下のアカウントを一括アクセス制御 • ルートユーザーも制御できる強さ • IAMポリシーと同じような記述方法 14

    ▲ デフォルトではすべてのルート/OU/アカウントに “FullAWSAccess” がアタッチされている
  15. ここまでのまとめ AWS Organizations の機能 • 組織単位(Organizational Unit: OU) ◦ アカウントをグループ化・階層化する。設計大事

    • 一括請求 ◦ 請求をマネジメントアカウントに集約。ボリュームディスカウントの恩恵有 • 新規アカウント作成 ◦ マネコン or CLI で簡単にメンバーアカウントを作成 • サービスコントロールポリシーSCP ◦ OU単位でアクセス制御。設計大事 15
  16. AWS Organizations 連携のAWSサービス 16

  17. AWS Organizations 連携 “前提” の AWSサービス (おそらく) 以下 3つ •

    AWS Control Tower → 後述 • AWS Single Sign-On(SSO) → 後述 • AWS Firewall Manager ◦ WAFルールや Security Group の管理を複数アカウント横断で行う 17
  18. AWS Control Tower • AWSベストプラクティスに基づいた Organizations環境のセットアップ/管理 を可能にするサービス • (カスタマイズ性は高くないが) AWSベストプラクティスの構成を良い感じに

    構築してくれる • 参考になるので調べてみよう ◦ ベストプラクティス構成 ◦ セキュリティガードレール ◦ など 18 AWS マルチアカウント管理を実現する ベストプ ラクティスとは ?: https://aws.amazon.com/jp/builders-flash/202 007/multi-accounts-best-practice/
  19. AWS Single Sign-On(SSO) • 複数アカウントへのログインの仕組みを作るサービス • AWS SSOが出るまでは、「Jumpアカウントからのスイッチロール」戦略が 主に採用されていた (もしくは

    3rd party SSO) 19 AWS におけるマルチアカウント管理の 手法とベストプラクティス Jumpアカウントからのス イッチロール構成 →
  20. AWS Organizations 連携の AWSサービス • Organizations 連携のサービスはアップデートで増え続けている ◦ AWS services

    that you can use with AWS Organizations - AWS Organizations • 現時点の連携サービス ◦ AWS Artifact, AWS Audit Manager, AWS Backup, AWS CloudFormation StackSets, AWS CloudTrail, AWS Compute Optimizer, AWS Config,AWS Directory Service, Amazon GuardDuty, AWS Health, AWS License Manager,Amazon Macie, AWS Marketplace, AWS Resource Access Manager, AWS Security Hub, Amazon S3 Storage Lens, AWS Service Catalog, Service Quotas, AWS Single Sign-On, AWS Systems Manager, AWS Trusted Advisor, AWS Control Tower, AWS Firewall Manager 20
  21. AWS Organizations 連携の AWSサービス • 大雑把な分類 ◦ 組織/OU単位で XXX できるサービス

    ▪ CloudFormation StackSets (後述) ▪ Resource Access Manager … AWSリソースの共有 ▪ など ◦ 代表 1アカウントで XXX の集中管理ができるサービス ▪ CloudTrail … 証跡の集約 ▪ GuardDuty (後述) ▪ など 21
  22. CloudFormation StackSets • 複数リージョン/複数アカウントに CFnスタックを展開できる機能 • Organizations 連携で 「OU単位で簡単に展開」できるようになる •

    + 自動デプロイ/削除機能も利用可能 • Organizations 連携 未対応のサービスもこれで何とかなるケースが多い。 汎用的に使える 22 ▼嬉しさ • 今まで StackSet は 展開先アカウントに わざわざ IAM ロールを作成する必要があったが、その手間が要らなく なった • OU単位の展開が便利 • 自動デプロイ/削除機能は アカウントの初期セットアッ プ、ベースライン作成に活用できそう ▼注意点 • (Organizations 関係無く) StackSets の管理運用 • 自動デプロイの「削除」設定の扱いに注意 自動デプロイ/削 除機能 →
  23. GuardDuty • マネージドな脅威検出サービス • 委任管理者を設定して「組織内アカウントの GuardDuty 一括設定」および 「委任管理者上で集中管理」が可能 23 【Organizations】組織内すべてのアカウント・すべてのリージョンへ

    の GuardDuty設定を簡単に行う | Developers.IO • 「委任管理者を設定して、そのアカウント上で集 中管理を行う」サービスは多い ◦ Security Hub、Configなど • 委任管理者設定の理由は「 Security のベストプ ラクティスの最小限の特権」に従うため • 良くある構成 … 「監査専用アカウント (Audit account)を作成。これを GuardDuty や Security Hubの 委任管理者に設定」
  24. ここまでのまとめ • Organizations 連携のサービスはいっぱい • Organizations 連携 “前提” のサービス ◦

    AWS Control Tower, AWS SSO など • ほか良く使うサービス ◦ CFn StackSets … 「OU単位」で CFnスタック展開 ◦ GuardDuty … 「委任管理者」を設定して、組織内の驚異検出を集中管理 ◦ など 24
  25. 「ここまでのまとめ」のまとめ AWS Organizations の機能 • 組織単位(Organizational Unit: OU) ... アカウントをグループ化・階層化する。設計大事

    • 一括請求 … 請求をマネジメントアカウントに集約。ボリュームディスカウントの恩恵有 • 新規アカウント作成 … マネコン or CLI で簡単にメンバーアカウントを作成 • サービスコントロールポリシー SCP … OU単位でアクセス制御。設計大事 AWS Organizations 連携のAWSサービス • Organizations 連携のサービスは増え続けている • Organizations 連携 “前提” のサービス ◦ AWS Control Tower, AWS SSO など • ほか良く使うサービス ◦ CFn StackSets … 「OU単位」で CFnスタック展開 ◦ GuardDuty … 「委任管理者」を設定して、組織内の驚異検出を集中管理 ◦ など 25
  26. 26 補足

  27. 組織単位(Organizational Unit: OU) Q. OU設計の方法? • OU設計のベストプラクティスを参考にする ◦ AWS Organizationsの設計に必須なOU設計のベストプラクティスを学ぶ

    | Developers.IO • 使うサービスを意識する ◦ SCPで「OU単位のアクセス制御」ができるので、 AWSアカウントのセキュリティレベルを 基準にOUを作成 ◦ CFn StackSets で「OU単位のリソース展開」ができるので、展開するリソースを基準に OUを作成 ◦ ログ/セキュリティサービスは「委任した 1アカウントに集約/管理」できるものが多いので、 ログ/セキュリティ用の OUを作成 27
  28. サービスコントロールポリシー(SCP) Q. SCPの使い方? • セキュリティ周りの設計の実装の 1つが SCP • 設計項目の例 ◦

    [設計#1] AWSアカウントごとのセキュリティレベル。セキュリティレベルごとのアクセス制御 ◦ [設計#2] AWS利用者の権限。権限ごとのアクセス制御 ◦ [設計#3] 各サービスの推奨構成 • 実装の例 ◦ SCP … [設計#1] の実装(予防的ガードレール) ◦ IAMポリシー … [設計#2] の実装 ◦ Security Hub/Config Rules … [設計#3] の実装(発見的ガードレール) ◦ IAM Permission boundary … [設計#1] の実装?SCPと役割かぶる?SCPが使えないときの代替?(主観) • SCPはルートユーザーも制御する強いポリシー ◦ 「(ヒトに関係なく)絶対にやっちゃだめ!」なアクションを洗い出すと良い • SCP設計の際に知っておいた方が良いキーワード ◦ 継承/許可リスト/拒否リスト/暗黙のDeny(=IAMポリシーの知識) ▪ [Organizations] SCP(サービスコントロールポリシー)の継承の仕組みを学ぼう | Developers.IO 28
  29. AWS Single Sign-On(SSO) Q. Jumpアカウント vs AWS SSO • 主観ですが、基本的に

    SSO採用でいいと思います • Jumpアカウント戦略は諸アカウントへの展開リソースが多く管理が大変 ◦ Jumpアカウントに IAMユーザー + IAMポリシー(MFA設定など) ◦ 各アカウントに IAMロール + IAMポリシー(アクセス権限 )。StackSets とかで展開 • AWS SSO はマネジメントアカウント内で完結する ◦ ユーザー/グループを作成 ◦ ユーザー/グループがどのアカウントにどの権限でアクセスする • ただし AWS SSO はリージョナルサービスなので、リージョン障害時の非常アクセス用途として Jumpアカウントの仕組みは作っておいたほうが安心 • AWS SSO 参考資料 ◦ AWS Organizationsあり、外部認証基盤なしで Single Sign-On(SSO)を使うべきか | Developers.IO ◦ AWS SSOを図解してみた | Developers.IO 29
  30. 30

  31. 参考 [AWS] 1. AWS マルチアカウント管理を実現するベストプラクティスとは ? - builders.flash☆ - 変化を求めるデベロッ

    パーを応援するウェブマガジン | AWS 2. 20180214 AWS Black Belt Online Seminar AWS Organizations [Developers.IO] 1. AWS Organizations の記事一覧 | Developers.IO 2. AWS Organizationsとは?rootユーザも制御するその強力さを手を動かして体感してみる | Developers.IO 3. AWS Organizationsの設計に必須なOU設計のベストプラクティスを学ぶ | Developers.IO 4. [Organizations] SCP(サービスコントロールポリシー)の継承の仕組みを学ぼう | Developers.IO 5. AWS Organizationsあり、外部認証基盤なしでSingle Sign-On(SSO)を使うべきか | Developers.IO 6. AWS SSOを図解してみた | Developers.IO 7. AWS再入門2020 AWS Control Tower編 | Developers.IO 31