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

ぼくらのアカウント戦略〜マルチアカウントでのガバナンスと権限管理の全て〜

 ぼくらのアカウント戦略〜マルチアカウントでのガバナンスと権限管理の全て〜

2018/01/13に開催された「第16回 クラウド女子会 〜新年だよ!2018年を貴女はどんな年にしたい?〜」に登壇させて頂いたときの資料です。
※公開にあたり一部加筆修正しています。

Mamoru Ohashi

January 13, 2018
Tweet

More Decks by Mamoru Ohashi

Other Decks in Technology

Transcript

  1. Copyright © 2018 KDDI Corporation. All Rights Reserved ©KADOKAWA CORPORATION

    2018 http://www.kadokawa-pictures.jp/official/sevendayswar/
  2. Copyright © 2018 KDDI Corporation. All Rights Reserved 2 ⾃⼰紹介

    ⼤橋 衛(オオハシ マモル) KDDI株式会社 プラットフォーム開発本部 社内API基盤戦略策定 AWS社内エヴァ/クラウドコンサル アプリエンジニア12年 インフラエンジニア4年 クラウドエンジニア5年⽬(=AWS歴) NW-JAWSコアメンバー 好きなAWSサービス︓IAM/SNS/Lambda
  3. Copyright © 2018 KDDI Corporation. All Rights Reserved Q. あなたの管理するAWSは

    シングルアカウント︖ それとも マルチアカウント︖
  4. Copyright © 2018 KDDI Corporation. All Rights Reserved 4 シングルアカウント

    vs マルチアカウント Pros Cons シングル アカウント ❍ ガバナンスが利かせやすい ❍ システム間連携が超ラク ❍ 共通機能への接続も楽ちん ❍ 毎⽉発⽣する利⽤費分割祭り (ラベル地獄) ❍ ひとつのサービス利⽤制限が 全システムに影響 ❍ きめ細かい権限設定ができない マルチ アカウント ❍ システム/部署毎に管理を委 譲できる ❍ 費⽤精算を部署ごとに括れる ❍ アカウント毎にガバナンスを 分けることも可能 ❍ アカウント数⼤爆発 ❍ ガバナンス領域とその範囲の バランス取りが難しい ❍ ガバナンス更新時は全ての アカウントに反映する必要あり ガバナンスの内容と利かせ⽅が判断のポイント
  5. Copyright © 2018 KDDI Corporation. All Rights Reserved 5 ❍

    経費精算を部⾨ごとに実施する必要があった ü ラベル地獄コワイ ü 毎⽉精算処理とかやってられない ❍ 環境毎に場所を分離しなければならないというルールがあった ü 「開発/検証/商⽤は物理的にラック/架列/電源系統/局舎を分離せよ」 ü 物理環境をVPCじゃなくアカウントに読み替えた ❍ 障害切り分けが容易になる ü 障害がどのシステムのどの環境で起きたのか⼀発で把握できる ü フォレンジクスもアカウント丸ごと凍結で可能に ❍ そもそもシステム毎のアーキテクチャに類似性がない ü 実装要件が多岐に渡りすぎて機能制限をかけるのが難しい ü そもそもクラウドでアーキテクチャ制限を効かせる意味って何︖ KDDIがマルチアカウントを選んだ理由
  6. Copyright © 2018 KDDI Corporation. All Rights Reserved 7 AWSの「責任共有モデル」

    Audit Log Management + 「情報セキュリティ対策」にフォーカス 内部犯行の抑止と証拠保全を徹底化
  7. Copyright © 2018 KDDI Corporation. All Rights Reserved 8 アカウント管理責任共有モデル

    Identity & Access Management IAM ポリシー設定 rootアカウント管理 費用管理 基底ガバナンス適用 IAM ポリシー設計 IAM ユーザー管理 利⽤部⾨ 管理部⾨ Audit Log Management 監査証跡ログ保全 AWS CloudTrail AWS IAM AWS Account
  8. Copyright © 2018 KDDI Corporation. All Rights Reserved 9 マルチアカウント構成

    Billing Master Common Tools Governance Controller Virtual Security Room Dev Stg Prd Lab Dev Stg Prd Lab Dev Stg Prd Lab System A System B System C ・・・ Management Accounts User Accounts
  9. Copyright © 2018 KDDI Corporation. All Rights Reserved 10 Billing

    Master Common Tools Governance Controller Virtual Security Room Dev Stg Prd Lab Dev Stg Prd Lab Dev Stg Prd Lab System A System B System C Management Accounts User Accounts User Accounts︓ユーザー向けアカウント群
  10. Copyright © 2018 KDDI Corporation. All Rights Reserved 11 ❏

    システム毎に最⼤4種類のアカウントを⽀給 ❏ 全アカウントに対し基底ガバナンス(後述)が設定される ❏ 共通機能アカウントも作るのが世界標準らしい (DNSキャッシュ,NTP,認証,Private接続⽤GW,etc...) User Account Dev Stg Prd Lab System A 開発 商⽤ ステージング 評価/検証 User Accounts Common 共通機能
  11. Copyright © 2018 KDDI Corporation. All Rights Reserved 12 Billing

    Master Common Tools Governance Controller Virtual Security Room Dev Stg Prd Lab Dev Stg Prd Lab Dev Stg Prd Lab System A System B System C Management Accounts User Accounts Management Acounts︓管理⽤アカウント群
  12. Copyright © 2018 KDDI Corporation. All Rights Reserved 13 Billing

    Master Common Tools Governance Controller Virtual Security Room Management Accounts Billing Master︓請求管理アカウント ❍ いわゆる⼀括請求アカウント ❍ 費⽤取纏めのみで 個別案件の収容はなし ❍ 各ユーザーアカウントへは ViewBillingやViewUsageの 権限を付与しているので 利⽤費の閲覧は可能
  13. Copyright © 2018 KDDI Corporation. All Rights Reserved 14 Billing

    Master︓請求管理アカウント Billing Master Management Accounts User Accounts ⼀括請求処理 • 利⽤状況管理 • 利⽤費の閲覧 (※⾃アカウントのみ) • 利⽤状況管理 • 利⽤費の閲覧 • ⽀払⽅法の指定 (全アカウント) • 利⽤状況管理 • 利⽤費の閲覧 (※⾃アカウントのみ)
  14. Copyright © 2018 KDDI Corporation. All Rights Reserved 15 Billing

    Master Common Tools Governance Controller Virtual Security Room Management Accounts Governance Controller︓ガバナンス制御アカウント ❍ 全ユーザーアカウントへの ガバナンス制御を専⽤で⾏う ❍ ユーザーアカウント発⾏時に 基底ガバナンスを適⽤する ❍ CloudTrailログ集約 ❍ ガバナンス監視ツール ココがキモ︕少々ムズい︕
  15. Copyright © 2018 KDDI Corporation. All Rights Reserved 16 ❏

    CloudTrailの有効化 ❏ パスワードポリシーの設定 ❏ Virtual Security Room(※後述)の設定 ❏ ガバナンス監視ツールの設定 Governance Controller︓基底ガバナンスの設定
  16. Copyright © 2018 KDDI Corporation. All Rights Reserved 17 Governance

    Controller︓ガバナンス監視ツール
  17. Copyright © 2018 KDDI Corporation. All Rights Reserved 18 Governance

    Controller︓ガバナンス監視ツール DynamoDBに登録されている アカウント毎の通知⽅法で通知 ①rootログイン検知 通常は起き得ないrootログインの検知 ②IAMログイン連続失敗検知 同⼀IAMユーザーが10分間に 5回ログイン失敗したら検知 ③IAM設定変更通知 想定外のIAM設定変更を検知 ④CloudTrailログ改竄検知 想定外ユーザーによるCloudTrailログ 保存先S3にへの更新イベントを検知
  18. Copyright © 2018 KDDI Corporation. All Rights Reserved 19 Governance

    Controller︓ガバナンス監視ツール 禁則ポリシーの強制適⽤ 「IAMユーザーの追加」 「IAMユーザーのポリシー設定変更」 を検知
  19. Copyright © 2018 KDDI Corporation. All Rights Reserved 20 下記アクションを禁⽌するポリシーをセット

    ❏CloudTrail設定変更の変更 ❏Virtual Security Room設定の変更 ❏ガバナンス監視ツールの変更 ❏IAMポリシー/グループ/ロールへの変更 (※Prdのみ) Governance Contoller︓禁則ポリシー
  20. Copyright © 2018 KDDI Corporation. All Rights Reserved 22 Governance

    Contoller︓ユーザーができないこと 想定異常に加え禁⽌項⽬の突破や運⽤者の内部犯⾏すらも検知/通知 通知⽅法や通知先はアカウントやインシデントレベルにより切替が可能
  21. Copyright © 2018 KDDI Corporation. All Rights Reserved 23 User

    Account︓S-in時の「権限の絞り込み」フロー In-Development In-Development In-Service S-in PoC/Dev/Stg アカウント Prd アカウント アクセス権限 In-Development In-Service Security統制リソース × × IAMユーザー管理 ◦ ◦ IAMグループ/ロール/ポリシー ◦ × システム⽤リソース ◦ △(最⼩限) 発⾏ アカウント発⾏直後はガバナンス機能以外なんでもイジれる 商⽤アカウントのみ、S-inのタイミングで最⼩限に絞り込まれる
  22. Copyright © 2018 KDDI Corporation. All Rights Reserved 24 Governance

    Contoller︓商⽤環境でユーザーが出来ること ユーザーが実⾏できる操作は所属するグループの「ロール」に依存 グループの追加/削除やロール変更をするには管理部⾨への依頼が必要 基底ポリシー グループ毎の ロール In-Service Prd アカウント ユーザー部⾨と 協議の上、運⽤ 設計に合わせた グループと権限 を設定
  23. Copyright © 2018 KDDI Corporation. All Rights Reserved 25 Billing

    Master Common Tools Governance Controller Virtual Security Room Management Accounts Virtual Security Room︓仮想セキュリティルームアカウント ❍ アカウント管理者による リモートアクセスを管理 ❍ 初期設定含め全てのユーザーア カウントへの作業はここを踏ん でいく必要がある ❍ セキュリティルームでの作業と 同等のセキュリティレベルを 確保できるようにしている
  24. Copyright © 2018 KDDI Corporation. All Rights Reserved 26 どちらも

    作業時に ⾃動通知 Virtual Security Room 作業内容に応じたロールを初期設定& 仮想セキュリティルーム側のグループ と信頼関係を結んでおく SwitchRoleして作業 (マネコン/スクリプト共) 作業内容に応じた グループを⽤意 作業証跡ログ保存 (⼊退室管理) 踏み台からのみSSH可 作業毎に所属する グループを切り替え IP制限 IP制限+MFA 常時OFF 再起動時に 最新版取得
  25. Copyright © 2018 KDDI Corporation. All Rights Reserved 27 Virtual

    Security Room Lab/Dev/Stg 商⽤とその他で 作業環境を分離 全アカウントに 対して全く同じ ロールセットが 設定される 信頼関係を結ぶ 先の仮想セキュ リティルームア カウントが環境 毎に異なる Prd
  26. Copyright © 2018 KDDI Corporation. All Rights Reserved 28 Billing

    Master Common Tools Governance Controller Virtual Security Room Management Accounts Common Tools︓共通ツール ❍ アカウント管理者が利⽤/提供 するサービスやツール類を配備 ❍ ホスト/システムはこの上で動 かしており、それらをアカウン ト管理者やユーザーが利⽤する イメージ
  27. Copyright © 2018 KDDI Corporation. All Rights Reserved 30 予算管理&アラームツール「MADOKA」

    【主な機能】 u 1ユーザー複数アカウント対応 u 段階的Billingアラーム設定 u 連続通知抑⽌切替 u 現状&しきい値グラフ表⽰ 【アーキテクチャ】 u S3+Lambda+DynamoDB+SNS u サーバレスなので細かいインフラ 運⽤の考慮不要 u 予算設定はユーザー⾃⾝が管理
  28. Copyright © 2018 KDDI Corporation. All Rights Reserved 31 User

    Accounts︓ユーザー向けアカウント群 Billing Master Common Tools Governance Controller Virtual Security Room Dev Stg Prd Lab Dev Stg Prd Lab Dev Stg Prd Lab System A System B System C Management Accounts User Accounts
  29. Copyright © 2018 KDDI Corporation. All Rights Reserved 32 【参考】re:Port

    2017 「AWS re:Invent参加レポート」 https://www.slideshare.net/ohashimamoru/report-2017-2-aws-reinvent-2017/9 公式動画 より 画像張替
  30. Copyright © 2018 KDDI Corporation. All Rights Reserved 33 •

    マルチなら中途半端にアカウントを共⽤しない • ユーザーアカウントは環境、管理アカウントは 機能で分ける • ガバナンスは外部から制御 • 監査証跡ログをユーザーから切り離し保全 • 監査証跡ログは⾃動化に徹底利⽤ • コード化しとけば全アカウントへの更新も⼀発 • Organizationsでやったほうが絶対ラク まとめ