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 re:Inforce 2024 re:Cap セミナー ~IAM Access Ana...
Search
平木佳介
June 17, 2024
1
710
AWS re:Inforce 2024 re:Cap セミナー ~IAM Access Analyzerのアップデートを語ります~
【オフライン世界最速?】 AWS re:Inforce 2024 re:Cap セミナー
平木佳介
June 17, 2024
Tweet
Share
More Decks by 平木佳介
See All by 平木佳介
クラウド食堂 #2 ~AWSネタでLT会~ 登壇ネタのためにAWSの運用で地味に使えそうな ブラウザ拡張機能を作ってみた
khiraki
0
510
踏み台の運用が変わる? VPC上で起動できるようになったCloudShellを語る
khiraki
1
4.4k
組織におけるAWSネットワーク集約王者決定戦
khiraki
1
610
速さの鍵を握る! Fastly で実現する CDN の力
khiraki
1
760
クラウドの落とし穴:AWS Backupで発生した高額請求の衝撃とその教訓
khiraki
0
6.4k
AIと一緒に音楽を作ろう ~作曲体験セッション~ | DevelopersIO 2023
khiraki
0
1.7k
Amazon Security Lake サービス概要
khiraki
0
8.5k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Why Our Code Smells
bkeepers
PRO
336
57k
Typedesign – Prime Four
hannesfritz
41
2.6k
Writing Fast Ruby
sferik
628
61k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Agile that works and the tools we love
rasmusluckow
328
21k
Adopting Sorbet at Scale
ufuk
76
9.3k
GitHub's CSS Performance
jonrohan
1030
460k
Automating Front-end Workflow
addyosmani
1369
200k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Transcript
【オフライン世界最速?】 AWS re:Inforce 2024 re:Cap セミナー IAM Access
Analyzerのアップデートを語ります クラスメソッド株式会社 AWS事業本部 | 平木 佳介 1
自己紹介 2 ~$ whoami 平木佳介 (Hiraki Keisuke) ~$ ~$
jobs [2]+ 実行中 クラスメソッド(株)AWS事業本部コンサルティング部 ~$ ~$ groups ソリューションアーキテクト ~$ ~$ cat 平木佳介.conf | grep 趣味 趣味: 旅行/推し事 ~$ ~$ cat 平木佳介.conf | grep 好きなAWSサービス 好きなAWSサービス : AWS Security Hub
3 人生初 海外&AWSイベント参加しました
4 キーノートや様々なセッションなどにも現地参加
5 私たちは、ゼロトラストをさらに簡単かつ コスト効率の高いものにするための機 能に投資している ゼロトラストには、詳細かつきめ細かい アクセス制御、継続的な検証、最小限 の特権アクセスを備えた強力なIDおよ びアクセス管理システムも必要
多くの組織は、ワークロードとデータを ハイブリッド環境で使用しているため、 統一したセキュリティポリシーを維持す ることが困難になっている(翻訳)
6 IAM Access Analyzer のアップデート IAM Access Analyzerが 未使用のアクセスに対する 推奨事項をプレビュー表示
IAM Access Analyzerのカスタムポリシー チェックでパブリックと重要リソースアクセ スのチェックが追加
7 未使用のアクセスの推奨事項プレビュー表示 (preview) IAM Access Analyzerが 未使用のアクセスに対する 推奨事項をプレビュー表示 IAM Access
Analyzerの 「未使用のアクセス」にて、どのように 修正すべきかの推奨事項が表示 検出結果タイプが2種類に分かれる • 未使用のロール/パスワード/アク セスキー • 未使用の許可 最小権限の設定に役立つ。
8 未使用のアクセスの推奨事項プレビュー表示 (preview)
9 未使用のアクセスの推奨事項プレビュー表示 (preview) 未使用の許可
10 未使用のアクセスの推奨事項プレビュー表示 (preview) 未使用の許可
11 未使用のアクセスの推奨事項プレビュー表示 (preview) 未使用のロール
12 カスタムポリシーチェックにアクセスチェックの更新 (preview) IAM Access Analyzerのカスタムポリシー チェックでパブリックと重要リソースアクセ スのチェックが追加 自動推論を利用してパブリックアクセ スや重要リソースアクセスに関するポ
リシー変更をチェックが可能 • CheckNoPublicAccess(New) • CheckAccessNotGranted (Update) コマンドラインまたはAPI経由で呼び出し、 チェック結果は「PASS」「FAIL」のいずれかと なる
13 カスタムポリシーチェックにアクセスチェックの更新 (preview) CheckNoPublicAccess CheckAccessNotGranted PASS FAIL PASS FAIL Q.
パブリックアクセスがあるか YES NO YES NO Q. 特定リソースへの アクセス許可があるか
14 カスタムポリシーチェックにアクセスチェックの更新 (preview) CheckNoPublicAccess ~$ cat <<EOF > bucket-policy.json {
"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket-name/*" } ] } EOF ~$ ~$ aws accessanalyzer check-no-public-access \ --policy-document file://bucket-policy.json \ --resource-type AWS::S3::Bucket --output json { "result": "FAIL", "message": "The resource policy grants public access for the given resource type.", "reasons": [ { "description": "Public access granted in the following statement with index: 0.", "statementIndex": 0 } ] } ~$ cat <<EOF > bucket-policy-new.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket-name/*" } ] } EOF ~$ ~$ aws accessanalyzer check-no-public-access \ --policy-document file://bucket-policy-new.json \ --resource-type AWS::S3::Bucket --output json { "result": "PASS", "message": "The resource policy does not grant public access for the given resource type." } FAIL PASS
15 カスタムポリシーチェックにアクセスチェックの更新 (preview) CheckAccessNotGranted ~$ cat <<EOF > iam-policy.json {
"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket-name/*" } ] } EOF ~$ ~$ aws accessanalyzer check-access-not-granted --policy-document file://iam-policy.json \ --access resources="arn:aws:s3:::your-bucket-name/*" \ --policy-type IDENTITY_POLICY --output json { "result": "FAIL", "message": "The policy document grants access to perform one or more of the listed actions or resources.", "reasons": [ { "description": "One or more of the listed actions or resources in the statement with index: 0.", "statementIndex": 0 } ] } ~$ cat <<EOF > iam-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket-name/*" } ] } EOF ~$ ~$ aws accessanalyzer check-access-not-granted --policy-document file://iam-policy.json \ --access resources="arn:aws:s3:::recap-securebucket/*" \ --policy-type IDENTITY_POLICY --output json { "result": "PASS", "message": "The policy document does not grant access to perform the listed actions or resources." } FAIL PASS
16 まとめ & 注意事項 • 未使用のアクセスの推奨事項のプレビュー表示 ◦ 未使用のアクセスを活用し、さらにどのように対処すべきかが一目瞭然となった ◦ 今後のIAMロール、ユーザ周りの棚卸の基準にも有効活用できそう
• カスタムポリシーチェック • 事前にポリシーのチェックを行うことで不用意なパブリック公開を避け、アクセスさせた くないリソースへの権限チェックに活用可能 • CI/CDなどに組み込むことで自動化も可能 注意事項 • 未使用のアクセスの料金には要注意(1つのIAMロール・ユーザ毎に課金が発生) • 2つのアップデートともにプレビュー版のため仕様が変更となる可能性あり
17