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
670
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
4.2k
組織におけるAWSネットワーク集約王者決定戦
khiraki
1
560
速さの鍵を握る! Fastly で実現する CDN の力
khiraki
1
690
クラウドの落とし穴:AWS Backupで発生した高額請求の衝撃とその教訓
khiraki
0
6.3k
AIと一緒に音楽を作ろう ~作曲体験セッション~ | DevelopersIO 2023
khiraki
0
1.6k
Amazon Security Lake サービス概要
khiraki
0
7.1k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Adaptive Systems
keathley
40
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
How STYLIGHT went responsive
nonsquared
98
5.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
We Have a Design System, Now What?
morganepeng
51
7.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Faster Mobile Websites
deanohume
306
31k
It's Worth the Effort
3n
184
28k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
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