devsecops on aws - policy in code · 2017. 10. 11. · devsecops を支えるaws services • aws...
TRANSCRIPT
![Page 1: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/1.jpg)
![Page 2: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/2.jpg)
T H A N K S T O O U R F R I E N D S A T :
![Page 3: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/3.jpg)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tomoaki Sakatoku, Partner Solutions Architect 2017/06/01
DevSecOps on AWS- Policy in Code -
![Page 4: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/4.jpg)
Who I am…
酒徳 知明 (Tomoaki Sakatoku)
Partner Solutions Architect
• Ecosystem
• DevSecOps
• AWS Gameday
![Page 5: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/5.jpg)
アジェンダ
• DevSecOps について...
• DevSecOps を支えるAWSサービス インテグレーション
• コードリンクのご紹介は最後にまとめて
• DevOps ついて...
• DevSecOps を支えるAWSサービス単体の説明
お話すること お話しないこと
![Page 6: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/6.jpg)
DevOps … and DevSecOps
開発者 顧客
releasetestbuild
plan monitor
デリバリのパイプライン
フィードバックループ
ソフトウェア開発のライフサイクル
Security and Compliance
![Page 7: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/7.jpg)
DevSecOps 導入へのブロッカー
今までの常識 クラウドの常識
https://www.jqa.jp/service_list/management/service/iso27001/
![Page 8: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/8.jpg)
Security Automation
Security Control Proactive Monitoring Security at ScaleInfrastructure as a code
![Page 9: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/9.jpg)
Security Control
![Page 10: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/10.jpg)
Identity Access Management - IAM
• ユーザ/クレデンシャル管理• IAMユーザ / パスワード• MFA (多要素認証)• クレデンシャルのローテーション
• アクセス権限管理• IAMグループ• IAMポリシー
• 権限の委任と監査• IAMロール• Security Temporary Token
![Page 11: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/11.jpg)
[email protected] ID: 111122223333
ec2 ロール
{ "Statement": [{"Effect": "Allow","Action": "ec2:RunInstances","Resource": [
"arn:aws:ec2:*::image/ami-*","arn:aws:ec2:*:*:network-interface"arn:aws:ec2:*:*:instance/*","arn:aws:ec2:*:*:subnet/*","arn:aws:ec2:*:*:key-pair/*","arn:aws:ec2:*:*:security-group/*”]
},}]}
[email protected] 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 ロールの信頼関係
Jeff にアサインされている IAM Role
IAM User : devday
ec2 ロールの権限
STS
EC2
アカウント A アカウント B
ec2 ロール用に一時的に利用可能なクレデンシャルを発行
![Page 12: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/12.jpg)
IAM - AssumeRole によるクレデンシャルの生成
![Page 13: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/13.jpg)
IAM によるタグ管理 – Tag on Creation
https://aws.amazon.com/jp/blogs/aws/new-tag-ec2-instances-ebs-volumes-on-creation/
![Page 14: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/14.jpg)
git-secrets を使ったクレデンシャルの管理• コミットの防止
$ git secrets --register-aws
$ git add git-secret.py
$ git commit -m "This is a test commit for git-secret"
git-secret.py:1:AWSAccessKeyId = "AKIAIOSFODNN1EXAMPLE"
git-secret.py:2:AWSSecretKey = "wJalrXUtnFEMI/K1MDENG/bPxRfiCYEXAMPLEKEY
[ERROR] Matched one or more prohibited patterns
• 既存レポジトリのスキャン
$ git secrets --scan
https://github.com/awslabs/git-secrets
![Page 15: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/15.jpg)
![Page 16: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/16.jpg)
Proactive Monitoring
![Page 17: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/17.jpg)
Proactive Monitoring Lifecycle
• イベントトリガーをベースとした監視
• 修復を最終優先としたアクション
• マニュアル作業を極力減らした自動化
• 必要なログの収集・保存
![Page 18: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/18.jpg)
DevSecOps を支えるAWS Services
• AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視
• コンプライアンスの簡素化
• セキュリティの自動化
Amazon CloudWatch
• AWSサービスのリソース モニタリング
• ログモニタリング (CloudWatch Logs)
• プロアクティブ モニタリング (CloudWatch Events)
AWS Config / Config rules
• 変更管理
• 継続的モニタリング・評価
• Compliance as Code
AWS CloudTrail
![Page 19: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/19.jpg)
CloudTrail / CloudWatch Events
CloudTrailOFF
CloudWatch Events
Lambda CloudTrailON
Notification Loggingdevday-cloudtrailuser
User
IAM Role/Policy
Userhttp://github.com/awslabs/aws-security-automation
![Page 20: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/20.jpg)
CloudWatch Events Rule の作成
![Page 21: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/21.jpg)
Code highlights – Lambda Functionのアクション
1. CloudTrail を ON
2. 通知、アラート
3. フォレンジック
4. ロギング
![Page 22: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/22.jpg)
Code highlights – CloudTrail Logの展開
![Page 23: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/23.jpg)
Code highlights – CloudTrail Restart !!!
![Page 24: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/24.jpg)
Code highlights – フォレンジック
![Page 25: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/25.jpg)
Code highlights – 対策アクション
![Page 26: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/26.jpg)
DEMO 01Proactive Monitoring
![Page 27: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/27.jpg)
![Page 28: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/28.jpg)
Security at ScaleInfrastructure as a code
![Page 29: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/29.jpg)
…
![Page 30: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/30.jpg)
Multi Region+
Multi Account
![Page 31: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/31.jpg)
管理者アカウント
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
ターゲットアカウント
ターゲットアカウント
![Page 32: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/32.jpg)
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
ターゲットアカウント
![Page 33: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/33.jpg)
Code Highlights - IAM Role の作成
![Page 34: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/34.jpg)
Code Highlights - プロアクティブ モニタリング
![Page 35: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/35.jpg)
IAM Users
Admin Account Baseline Design
Amazon CloudWatch
AWS Config
ConfigRules
AWS CloudTrail
CloudWatchEvents
AWS IAM
Managed Policies
Roles
AWS lambda
AmazonAPI GW
Amazon Dynamo DB
管理者アカウント
UsersStack
SecurityStack
AdminStack
AWS CloudFormation
Step Function
![Page 36: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/36.jpg)
Code Highlights – Lambda Function のデプロイ
![Page 37: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/37.jpg)
管理者アカウント
IAM UsersAdmin
Cross Account Deployment
Cloudformation Template Lambda zip
Step FunctionState Machine
Baseline Stack
Admin Role
ターゲットアカウント
1. Assume Role
2. Create /Update Stack
3. Waits for stack
![Page 38: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/38.jpg)
CloudFormation TemplateLambda zip
![Page 39: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/39.jpg)
Amazon Step Function Cross Region
![Page 40: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/40.jpg)
Amazon Step Function- State Machine -
![Page 41: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/41.jpg)
DEMO 02Security CI/CD
![Page 42: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/42.jpg)
![Page 43: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/43.jpg)
まとめ
• プラットフォームがAWSになることで、今までとは全
く異なるSecurity Automationが実現可能
• Security Automationを広範囲に実現することで、
DevSecOpsを回すことが可能になる
• Security Baseline = Dev + Ops +Sec
![Page 44: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/44.jpg)
Happy Coding ☺
• get-secrets
https://github.com/awslabs/git-secrets
• CloudTrail Remediation
http://github.com/awslabs/aws-security-automation
![Page 45: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/45.jpg)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Happy Policy Coding ☺
Don’t Forget Evaluations!
![Page 46: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/46.jpg)
How to Centrally Manage AWS Config Rules across Multiple AWS Accountshttps://aws.amazon.com/blogs/devops/how-to-centrally-manage-aws-config-rules-across-multiple-aws-accounts/
![Page 47: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/47.jpg)
Keep your TAG
• IAM Role – Tag restriction
• https://aws.amazon.com/jp/blogs/aws/new-tag-ec2-instances-ebs-volumes-on-creation/
• http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-instances
• https://aws.amazon.com/jp/answers/account-management/aws-tagging-strategies/
![Page 48: DevSecOps on AWS - Policy in Code · 2017. 10. 11. · DevSecOps を支えるAWS Services • AWS Platform上で呼び出されたAPIに関するイベントを継続的にロギング&監視](https://reader033.vdocuments.net/reader033/viewer/2022052814/609e0c317869d91a8e6f6342/html5/thumbnails/48.jpg)
本セッションのFeedbackをお願いします
受付でお配りしたアンケートに本セッションの満足度やご感想などをご記入くださいアンケートをご提出いただきました方には、もれなく素敵なAWSオリジナルグッズをプレゼントさせていただきます
アンケートは各会場出口、パミール3FのEXPO展示会場内にて回収させて頂きます