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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
daiki.mori
August 31, 2023
Technology
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS RDK 〜AWS ConfigのカスタムルールをLambdaで書くときに使うツールキット〜
AWSで発見的統制を取るために利用されるAWS Config
そのカスタムルールをLambdaで書きたいときに有効なRDKのご紹介
daiki.mori
August 31, 2023
More Decks by daiki.mori
See All by daiki.mori
いい感じにグラフを表示、やっぱWebでやりたいね。それをAWSで実現!
daikimori
0
230
サーバーレスアーキテクチャを使って、小さく作って大きくする取り組み
daikimori
0
4.6k
JAWS-UG Osaka ZERO-ETL/jawsug osaka zero-etl
daikimori
0
93
JAWS DAYS 2022/Osaka/プログラムは作ったら終わり︖︖ その後が⼤事なんだよ︕︕/20221008_X-Ray_LambdaPowertools
daikimori
0
170
データを受け取って、データを加工して、データを可視化する直前までのお話 / AWS DATA ETL
daikimori
0
200
[JAWS DAYS 2021] Amazon Connect and Serverless
daikimori
1
290
JAWS-UG Kansai Meetup(2020/11) Amazon Connectの今
daikimori
0
110
Playing in re:Invent
daikimori
0
170
Introduction of Amazon Connect
daikimori
0
72
Other Decks in Technology
See All in Technology
ガバナンスの「ちょうどいい落とし所」を探れ!開発スピードを妨げない運用判断の勘所 / SRE NEXT 2026
genda
1
270
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
360
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
260
「休む」重要さ
smt7174
5
960
ここは地獄!つらい朝会を体験することで、チームとしてのより良い振る舞いに気づくワークショップ / The stand-up meeting from hell in the game industry
scrummasudar
0
130
Type-safe IaC for Dart
coborinai
0
170
ボーイスカウトルールでメモリやスキルを改善しよう
azukiazusa1
4
1.5k
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
360
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
470
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
170
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
100
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
Technical Leadership for Architectural Decision Making
baasie
3
440
Accessibility Awareness
sabderemane
1
160
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
The Cult of Friendly URLs
andyhume
79
7k
Paper Plane (Part 1)
katiecoart
PRO
1
9.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Designing for humans not robots
tammielis
254
26k
HDC tutorial
michielstock
2
750
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
440
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