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
820
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 平木佳介
AWSにおける OWASP Non-Human Identities (NHI) Top10 対策を考える
khiraki
0
75
AWS Community Buildersを布教したい件について
khiraki
0
14
IAMアクセスキー漏洩について
khiraki
0
25
Organizations のポリシー使いこなしてますか? ~最新の Security Hub ポリシーを添えて~
khiraki
0
16
クラウド食堂 #2 ~AWSネタでLT会~ 登壇ネタのためにAWSの運用で地味に使えそうな ブラウザ拡張機能を作ってみた
khiraki
0
620
踏み台の運用が変わる? VPC上で起動できるようになったCloudShellを語る
khiraki
1
4.8k
組織におけるAWSネットワーク集約王者決定戦
khiraki
1
750
速さの鍵を握る! Fastly で実現する CDN の力
khiraki
1
870
クラウドの落とし穴:AWS Backupで発生した高額請求の衝撃とその教訓
khiraki
0
6.9k
Featured
See All Featured
Designing for Performance
lara
610
69k
How to Ace a Technical Interview
jacobian
280
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Why Our Code Smells
bkeepers
PRO
340
57k
Scaling GitHub
holman
463
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Code Review Best Practice
trishagee
72
19k
Fireside Chat
paigeccino
40
3.7k
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