Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS RDK 〜AWS ConfigのカスタムルールをLambdaで書くときに使うツールキット〜
Search
daiki.mori
August 31, 2023
Technology
0
460
AWS RDK 〜AWS ConfigのカスタムルールをLambdaで書くときに使うツールキット〜
AWSで発見的統制を取るために利用されるAWS Config
そのカスタムルールをLambdaで書きたいときに有効なRDKのご紹介
daiki.mori
August 31, 2023
Tweet
Share
More Decks by daiki.mori
See All by daiki.mori
いい感じにグラフを表示、やっぱWebでやりたいね。それをAWSで実現!
daikimori
0
140
サーバーレスアーキテクチャを使って、小さく作って大きくする取り組み
daikimori
0
3.7k
JAWS-UG Osaka ZERO-ETL/jawsug osaka zero-etl
daikimori
0
65
JAWS DAYS 2022/Osaka/プログラムは作ったら終わり︖︖ その後が⼤事なんだよ︕︕/20221008_X-Ray_LambdaPowertools
daikimori
0
130
データを受け取って、データを加工して、データを可視化する直前までのお話 / AWS DATA ETL
daikimori
0
170
[JAWS DAYS 2021] Amazon Connect and Serverless
daikimori
1
230
JAWS-UG Kansai Meetup(2020/11) Amazon Connectの今
daikimori
0
77
Playing in re:Invent
daikimori
0
130
Introduction of Amazon Connect
daikimori
0
48
Other Decks in Technology
See All in Technology
実践! AIエージェント導入記
1mono2prod
0
150
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
110
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
110
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
990
Agentic DevOps時代の生存戦略
kkamegawa
1
1.3k
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
140
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
500
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
3
350
エンジニア向け技術スタック情報
kauche
1
230
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
2
200
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
解析の定理証明実践@Lean 4
dec9ue
0
170
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
It's Worth the Effort
3n
185
28k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Building Applications with DynamoDB
mza
95
6.5k
Transcript
AWS RDK 〜AWS ConfigのカスタムルールをLambdaで書 くときに使うツールキット〜 JAWS-UG⼤阪 「AWSのセキュリティサービス&ソリューション座談会」 株式会社サーバーワークス 森 ⼤樹
2023/08/31
2 ⾃⼰紹介 ★ Who am I ? 所属・⽒名 株式会社サーバーワークス /
アプリケーションサービス部 / ディベロップメントサービス1課 / 課⻑ 森 ⼤樹 (
[email protected]
) キャリア 約20年、SIerでプログラマ/プロジェクトマネージャの実務経験後、 2017年1⽉にサーバーワークスへ⼊社 Java / C# / Pythonを中⼼に様々なプログラム⾔語で開発 CICD環境の構築、運⽤などを⾏い、現在に⾄る 資格 PMP(Project Management Professional) 資格 CSM(Certified ScrumMaster) 資格 趣味 スノーボード/お酒 好きなAWSサービス AWS Lambda/Amazon Connect
⽬次 1. はじめに 2. AWS Config 3. AWS Config Rule
Development Kit (RDK) 4. まとめ
はじめに
5 はじめに クラウドのセキュリティは最優先事項 AWSでは、責任共有モデルをベースに守るべきポイントがある
6 はじめに クラウドのセキュリティは最優先事項 AWSでは、責任共有モデルをベースに守るべきポイントがある
7 はじめに クラウドのセキュリティは最優先事項 AWSでは、責任共有モデルをベースに守るべきポイントがある 予防的統制 問題が起きないように事前にチェックするイメージ 発⾒的統制 問題が起こっても気付ける仕組みを作るイメージ
8 はじめに クラウドのセキュリティは最優先事項 AWSでは、責任共有モデルをベースに守るべきポイントがある 予防的統制 問題が起きないように事前にチェックするイメージ 発⾒的統制 問題が起こっても気付ける仕組みを作るイメージ
AWS Config
10 AWS Config AWS Config AWSアカウントにあるAWSリソースに関する設定の詳細ビューを提供 AWSリソースの設定履歴 AWSマネジメントコンソールやAPI、CLIを使⽤して設定された情報が履歴として残る ソフトウェアの設定履歴 Amazon
EC2やオンプレで稼働しているサーバで実⾏されているソフトウェアの設定変更 が履歴として記録できる リソース間の関係の追跡 アカウント内のAWSリソース関係を検出、マッピング、追跡します
11 AWS Config AWS Config ルール AWS Configを使⽤して収集したAWSリソースの設定項⽬に対して、評価を⾏うもの AWS Config
マネージドルール AWSによって管理されている事前定義されたルール AWS Config カスタムルール ⾃分たちでルールを作ることができる Guard もしくは AWS Lambdaを使⽤可能 結果としては 準拠 / ⾮準拠 / 対象外 を返す
12 AWS Config AWS Config ルール / カスタムルールで検知した例
13 AWS Config これらの設定をAWSマネジメントコンソールで実施すると問題がある可能性あり
14 AWS Config これらの設定をAWSマネジメントコンソールで実施すると問題がある可能性あり 設定は冪等性を担保したい
15 AWS Config これらの設定をAWSマネジメントコンソールで実施すると問題がある可能性あり 設定は冪等性を担保したい そんなあなたに︕
16 AWS Config これらの設定をAWSマネジメントコンソールで実施すると問題がある可能性あり 設定は冪等性を担保したい そんなあなたに︕ AWS Config RDK Rule
Development Kit
17 AWS Config これらの設定をAWSマネジメントコンソールで実施すると問題がある可能性あり 設定は冪等性を担保したい そんなあなたに︕ AWS Config カスタム Lambdaルールを
AWS Config RDKで︕ AWS Config RDK Rule Development Kit
AWS Config Rule Development Kit (RDK)
19 AWS Config Rule Development Kit (RDK) AWS Config カスタム
Lambda ルールの作成を⽀援する開発キット コマンドラインからルールに使⽤するLambda関数の雛形の作成、テスト実⾏、 デプロイが可能 AWS Serverless Application Model (SAM)のようなイメージ CI/CDパイプラインに組み込むことも可能︕ AWSマネジメントコンソールを利⽤した⼿動で作成しないので冪等性を担保
20 AWS Config Rule Development Kit (RDK) 前提条件 Python 3.7+
AWS Config / Amazon S3 / AWS IAM / AWS Lambdaなどの権限が必要 最低限必要な権限は GitHub 参照 RDK内部ではboto3を利⽤しているため、基本的にboto3利⽤時の設定と同じ インストール インストールされたか確認 $ pip install rdk $ rdk usage: rdk [-h] [-p PROFILE] [-k ACCESS_KEY] [-s SECRET_ACCESS_KEY] [-r REGION] <command> ... rdk: error: the following arguments are required: <command>, <command arguments>
21 AWS Config Rule Development Kit (RDK) セットアップ AWS Config
の設定が検証され、必要なS3バケットまたはIAM Roleが作成される 今回は、Cloud9を利⽤して実⾏
22 AWS Config Rule Development Kit (RDK) ルールの作成 ルールを作成するディレクトリで rdk
create コマンドを実⾏するとLambdaのスケルトンを 含むいくつかのファイルが作成される 例では Amazon EC2 インスタンスの推奨インスタンスタイプを t2.micro に設定 カスタム Lambda ルールのコードとそのテストコードとパラメータ情報ファイルを出⼒
23 AWS Config Rule Development Kit (RDK) サンプルコードを実装 ec2_desired_instance_type.pyを修正 評価対象が
AWS::EC2::Instanceでない場合、 NOT_APPLICABLE (対象外) インスタンスタイプが t2.micro の場合、 COMPLIANT (準拠) インスタンスタイプが t2.micro 以外の場合、 NON_COMPLIANT (⾮準拠)
24 AWS Config Rule Development Kit (RDK) テストコードを実装 test_expected_compliantは準拠のテスト test_expected_non_compliantは⾮準拠のテスト
サンプルコードはブログ参照
25 AWS Config Rule Development Kit (RDK) テストの実⾏ 3つのテストが想定通りの結果となっている
26 AWS Config Rule Development Kit (RDK) デプロイの実⾏
27 AWS Config Rule Development Kit (RDK) デプロイ確認 CFnで確認
28 AWS Config Rule Development Kit (RDK) デプロイ確認 Configで確認
29 AWS Config Rule Development Kit (RDK) デプロイ確認 Configで確認
30 AWS Config Rule Development Kit (RDK) RDKを使うメリット・デメリット メリット 検査したいロジックだけを
考えればOK RDKがよしなに吸収してくれているので、Lambdaの 構成やロジックをイチから考えなくてもOK 検査したいところだけをじっくり考えて テストが簡単 最悪AWSアカウントがなくてもテストが実⾏可能 テストは準拠/⾮準拠だけを考えればOK デメリット Lambdaのランタイムに 制限あり 今回はPython3.7を利⽤しましたが、Python以外に はJava, C#のみ 詳細は こちら を参照
まとめ
32 まとめ AWSリソースの発⾒的統制という観点でAWS Configを利⽤ AWSマネジメントコンソールを使うと間違える可能性がある AWS Config Rule Development Kit
(RDK) を使ってみよう ロジックやテストも局所的に作るのみでOK ぜひ、ご利⽤を︕
33 まとめ AWS Config
34 まとめ AWS Config RDKを使ってみる RDKを 思い出す
35 まとめ AWS Config RDKを使ってみる フィードバックする RDKを 思い出す 効果を確認する
36 まとめ AWS Config RDKを使ってみる フィードバックする 効果を確認する 次の⼈が使う
37 まとめ AWS Config RDKを使ってみる フィードバックする 次の⼈が使う 効果を確認する RDKを 思い出す
Appendix
39 Appendix AWS Control Tower Workshop / Security & Compliance
/ AWS Config With RDK RDK Documentation aws-config-rdk(GitHub) サーバーワークス エンジニアブログ AWS Config Rule Development Kit(RDK)使ってみた ~1. 概要編~ AWS Config Rule Development Kit(RDK)使ってみた ~2. 実践編~ AWS Config Rule Development Kit(RDK)使ってみた ~3. デプロイツー ル⽐較編~ AWS Config カスタムポリシールール(Guard) ~1. 基本編~ AWS Config カスタムポリシールール(Guard) ~2. 応⽤編~
None