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
530
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 平木佳介
踏み台の運用が変わる? VPC上で起動できるようになったCloudShellを語る
khiraki
1
3.4k
組織におけるAWSネットワーク集約王者決定戦
khiraki
1
440
速さの鍵を握る! Fastly で実現する CDN の力
khiraki
1
540
クラウドの落とし穴:AWS Backupで発生した高額請求の衝撃とその教訓
khiraki
0
5.8k
AIと一緒に音楽を作ろう ~作曲体験セッション~ | DevelopersIO 2023
khiraki
0
1.5k
Amazon Security Lake サービス概要
khiraki
0
2.7k
Featured
See All Featured
It's Worth the Effort
3n
182
27k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
The Mythical Team-Month
searls
218
43k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Music & Morning Musume
bryan
46
6k
Bash Introduction
62gerente
608
210k
Making Projects Easy
brettharned
113
5.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
GitHub's CSS Performance
jonrohan
1029
450k
Into the Great Unknown - MozCon
thekraken
28
1.4k
How to train your dragon (web standard)
notwaldorf
85
5.6k
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