Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevSecOps in Multi Account

1,694 views

Published on

8/24 Security JAWSでお話させていただいた資料になります。

Published in: Technology
  • Be the first to comment

DevSecOps in Multi Account

  1. 1. DevSecOps in Multi-Account Tomoaki Sakatoku Solutions Architect Amazon Web Service Japan
  2. 2. Who I am… 酒徳 知明 (Tomoaki Sakatoku) Partner Solutions Architect • Ecosystem • DevSecOps
  3. 3. … Multi-Account Strategy
  4. 4. 運⽤ 構成変更時の影響 範囲を⼩さくし、 他の組織を気にす ることなく⾃⾝固 有の環境を利⽤し たい マルチ アカウントを⽤いる主な理由 AWSアカウントを分割して運⽤するようになる主な理由: 組織 リソースの操作権 限を特定の業務ユ ニット(LOB)に 委譲し、その中で より⾃由にAWSプ ラットフォームを 活⽤したい ガバナンス 課⾦ 課⾦に関する可視 性、責任、及びア カウントごとのコ ントロールを⾏い たい 例)LOBごとに課 ⾦を明確に分けた いなど セキュリティ及び ガバナンス上の理 由から開発環境、 テスト環境、本番 環境でアカウント を分割したい 例)PCI準拠のワー クロードなど
  5. 5. http://worldnewsdailyreport.com/usa-mother-gives-birth-to-17-babies-at-once/
  6. 6. Multi Account の前に...
  7. 7. Identity Access Management - IAM • ユーザ/クレデンシャル管理 • IAMユーザ / パスワード • MFA (多要素認証) • クレデンシャルのローテーション • アクセス権限管理 • IAMグループ • IAMポリシー • 権限の委任と監査 • IAMロール • Security Temporary Token
  8. 8. prod@example.com Acct ID: 111122223333 ec2 ロール { "Statement": [ {"Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/ami-*", "arn:aws:ec2:*:*:network-interfac "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:security-group/* ] }, }]} dev@example.com Acct ID: 123456789012 devday のAccess Keyによる認証 { "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/ec2-role" }]} { "Statement": [ { "Effect":"Allow", "Principal":{"AWS":"123456789012"}, "Action":"sts:AssumeRole" }]} Identity Access Management - IAM Role & STS ec2 ロールの信頼関係 devday にアサインされている IAM Role IAM User : devday ec2 ロールの権限 STS EC2 アカウント A アカウント B ec2 ロール⽤に⼀時的に利⽤ 可能なクレデンシャルを発⾏
  9. 9. IAM - AssumeRole によるクレデンシャルの⽣成
  10. 10. Security at Scale Infrastructure as a code
  11. 11. 管理者アカウント IAM Users Users Stack ターゲット アカウント admin role billing role read only role Baseline Stack Overview of Baseline Design Security Stack Admin Master Stack … Baseline Stack Baseline Stack admin role billing role read only role admin role billing role read only role ターゲット アカウント ターゲット アカウント
  12. 12. Target Account Baseline Template • IAM Role の作成 • Assume Role に利⽤ • 設定サービス • CloudTrail (global and local) • Config • S3 Access Logging • CloudTrail to CloudWatch Logs • SNS For Slack Integration(APIGW Endpoint) admin role billing role read only role baseline stack ターゲット アカウント
  13. 13. Code Highlights – Lambda Function のデプロイ
  14. 14. IAM Users Admin Account Baseline Design Amazon CloudWatch AWS Config Config Rules AWS CloudTrail CloudWatch Events AWS IAM Managed Policies Roles AWS lambda Amazon API GW Amazon Dynamo DB 管理者アカウント Users Stack Security Stack Admin Stack AWS CloudFormation Step Function
  15. 15. Cross-account CloudWatch Events overview Managed account Consolidated admin account API call CloudWatch event regional SNS topic Publishes event Lambda event handler Subscribes to Remediation workflow (Step Functions state machine) Remediation tasks SupervisorAdminRole Assumes API Gateway HTTPS (x-region)
  16. 16. 管理者アカウント IAM Users Admin Cross Account Deployment Cloudformation Template Lambda zip Step Function State Machine Baseline Stack Admin Role ターゲット アカウント 1. Assume Role 2. Create /Update Stack 3. Waits for stack
  17. 17. Amazon Step Function Cross Region
  18. 18. Amazon Step Function - State Machine -
  19. 19. Simple is the best J
  20. 20. Amazon CloudFormation • Infrastructure as a code • ChangeSet Support • StackSet Support • Admin: AWSCloudFormationStackSetAdministrationRole • Target: AWSCloudFormationStackSetExecutionRole
  21. 21. Demo J

×