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
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
Search
アキキー
March 26, 2025
1
400
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
アキキー
March 26, 2025
Tweet
Share
More Decks by アキキー
See All by アキキー
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
akihisaikeda
2
340
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
280
JAWS_DAYS_2025_アーキテクチャ道場発表資料_ブラックサンダーズ
akihisaikeda
0
610
Amazon Bedrock Agentsで始める サーバーレスAIエージェント
akihisaikeda
0
120
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
46
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
590
Adopting Sorbet at Scale
ufuk
76
9.3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Site-Speed That Sticks
csswizardry
6
530
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
Thoughts on Productivity
jonyablonski
69
4.6k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
Transcript
JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! Amazon Q Developer CLIと一緒に 最小権限の原則を守ったIAMポリシーを作ろう! 2025.03.26(水) 池田
晃尚(@akikii__) 1
自己紹介 アキキー(池田 晃尚) ALH株式会社(SES) AWSエンジニア 好きなサービス:CDK, Bedrock 出身:石川県 金沢市 趣味:コーヒー
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを 作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 2
Agenda Amazon Q Developer CLIとは? IAMポリシーとは? IAMポリシー:ホワイトリストパターンのつらみ IAMポリシーをQ CLIと一緒に作ってみよう! まとめ
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 3
Amazon Q Developer CLIとは? AWSが提供している生成AIを利用したAIエージェントが搭載されている AWSに強く、実際にAWS環境にアクセスしてくれる Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 4
Q CLIが利用できるツール ツール:AIエージェントが外部とやりとりでき るアプリ use_aws:AWS CLIコマンドの実行 execute_bash:Bashコマンドの実行 fs_read:ファイルの読み込み fs_write:ファイルの書き込み Amazon
Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 5
IAMポリシーとは? • AWSの各リソースに対しての操作権限を管理する仕組み • 「許可/拒否」 「どの操作を」 「どのリソースに対して」 「どのような条件で」を定義 { "Effect":
"Allow", "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::example-bucket/*"] } 「IAMユーザー」 「IAMグループ」 「IAMロール」に紐づけて使う Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 6
IAMポリシー:ホワイトリストパタ ーンのつらみ 明示的に許可されたアクションのみを実行可 明示的な許可: 特定のアクション、リソー ス、条件のみを明示的に許可 デフォルト拒否: 明示的に許可されていな いすべてのアクションはデフォルトで拒否 最小権限:
必要最低限の権限のみを付与 → 全てのAPIアクションを理解して作るにはか なり労力がかかる Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 7
IAMポリシーをQ CLIと一緒に作ってみよう! Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 8
設計するポリシーの要件 開発者が特定のLambda関数にたいし全ての権限をもちたい 関連するリソース(Logs, IAMロールなど)は見れるようにしたい Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS
Expert視聴後のLT会! 9
プロンプト IAMポリシーを作成・IAMユーザーに アタッチするプロンプトを作りまし た resources: 指定するリソース environment: AWS環境 operation: ポリシーの要件
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを 作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 10
Q CLIにリクエストしてみる それっぽいIAMポリシーができた Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを 作ろう! JAWS-UG初心者支部#63 AWS
Expert視聴後のLT会! 11
よくみると... 大きい権限をもってしまっ ている Amazon Q Developer CLIと一緒に最小権限の原則を守った IAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS
Expert視聴後のLT会! 12
最小権限の原則とは 必要な権限だけを与え、それ以上は与えな いという考え セキュリティリスクを最小限に抑え、意図 しないアクセスや誤操作によるリスクを軽 減することが目的 今回だとLambda関数: first-sample-functionに 関連しないリソースの操作を与えない Amazon
Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 13
Q CLIにリクエスト Sid:AllowRelatedResourcesView 最小権限の原則を適用して 結果(Logsのみ抜粋): 対象関数のログのみ閲覧できるように絞れた! Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 14
それではポリシーの作成&アタッチをしてもらいます Q CLIにリクエスト IAMポリシーを作成して指定したIAMユーザーにアタッチして Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS
Expert視聴後のLT会! 15
IAMポリシーが作成された Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを 作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 16
IAMポリシーがIAMユーザーにアタッ チされた Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを 作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会!
17
IAMポリシーがアタッチできたのでLambda関数の画面を開いてみる Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 18
開けてる〜〜 Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 19
ログも見れる〜〜〜 Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 20
アッ Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 21
でも大丈夫!! Q CLIがいるから!! Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会!
22
エラーメッセージを Q CLIにリクエストしてみる ユーザー: arn:aws:iam::xxx:user/q-cli-sample-user アクション: iam:GetPolicy リソース : arn:aws:iam::xxx:policy/service-role/AWSLambdaBasicExecutionRole-xxx
コンテキスト: no identity-based policy allows the action Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 23
ステートメントを 追加してくれた Amazon Q Developer CLIと一緒に最小権限の原則を守った IAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会!
24
IAMポリシーを 更新してくれた Amazon Q Developer CLIと一緒に最小権限の原則を守った IAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会!
25
アクセスできるようになった! Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 26
まとめ IAMポリシー作成の労力を大幅に削減できる 最小権限の原則を守りながら効率的にポリシーを作れる 足りない権限があればQ CLIに聞きながら追加できる Q CLIは面倒臭い作業における最強の味方! Amazon Q Developer
CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう! JAWS-UG初心者支部#63 AWS Expert視聴後のLT会! 27