IAM Access Analyzer
外部からアクセス可能なリソースと未使用のアクセス権限を検出するサービス
何ができるか
IAM Access Analyzer は、S3 バケットや IAM ロールなどの AWS リソースが外部のアカウントやインターネットからアクセス可能になっていないかを自動的に分析するサービスです。さらに、一定期間使用されていない IAM 権限を検出し、最小権限の原則に沿ったポリシーの作成を支援します。意図しないアクセス許可を早期に発見し、セキュリティリスクを低減できます。
どのような場面で使うか
S3 バケットや KMS キーが意図せず外部公開されていないかの定期チェック、IAM ポリシーの棚卸しによる不要な権限の削除、新しいポリシーをデプロイする前の事前検証 (ポリシー検証) などに活用されています。コンプライアンス監査の準備として、アクセス権限の可視化にも利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
会社のセキュリティ監査員に例えるとわかりやすいでしょう。監査員は各部屋 (リソース) のドアの鍵 (アクセス権限) を定期的にチェックし、外部の人が入れる状態になっていないか、使われていない鍵が放置されていないかを報告します。問題が見つかれば即座にアラートを出し、適切な鍵の設定を提案してくれます。
IAM Access Analyzer とは
IAM Access Analyzer は、AWS リソースへのアクセス権限を自動的に分析し、セキュリティ上の問題を検出するサービスです。AWS では S3 バケットポリシーや IAM ロールの信頼ポリシーなど、さまざまな場所でアクセス許可を設定します。設定が複雑になると、意図せず外部からアクセス可能な状態になることがあります。Access Analyzer はこうした問題を自動的に発見し、修正を促します。
外部アクセスの検出
Access Analyzer は、S3 バケット、IAM ロール、KMS キー、Lambda 関数、SQS キューなどのリソースポリシーを分析し、自分の AWS アカウント外からアクセスできる設定がないかを検出します。検出結果は「findings (検出結果)」として一覧表示され、意図的なものか意図しないものかを確認できます。意図的な共有であれば「アーカイブ」、意図しないものであればポリシーを修正します。
未使用アクセスの分析
Access Analyzer は、IAM ユーザーやロールが実際に使用しているアクセス権限を分析し、一定期間使われていない権限を検出します。たとえば、90 日間一度も使われていない S3 への書き込み権限があれば、それを報告します。この情報をもとに不要な権限を削除することで、最小権限の原則を実現し、万が一の認証情報漏洩時の被害範囲を最小化できます。
はじめかた
IAM コンソールの「Access Analyzer」メニューからアナライザーを作成します。信頼ゾーンとして AWS アカウントまたは組織を選択すると、分析が自動的に開始されます。数分で検出結果が表示されるので、各結果を確認して対処します。EventBridge と連携すれば、新しい検出結果が出たときに自動通知を受け取ることも可能です。
注意点
- アナライザーの作成は無料だが、未使用アクセス分析は分析対象の IAM ロール・ユーザー数に応じて課金される
- 検出結果は意図的な共有を含む場合があるため、すべてが問題とは限らない。各結果を確認してアーカイブまたは修正を判断すること
- Organizations と連携すると、組織全体を信頼ゾーンとして設定でき、組織外への意図しないアクセスのみを検出できる
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。