AWS IAMポリシー、Azure RBACロール定義、またはGCP IAMポリシーのJSONを貼り付けると、危険な権限や権限が過度に付与されているパターンを即座に特定できます。
IAM Policy Analyzer は、3大クラウドプロバイダーすべてにおいて、危険な権限パターンを検出します。AWS IAMポリシーについては、各ステートメントに対して、ワイルドカードアクション、制限のない Resource: *、条件のない sts:AssumeRole、および反転ロジックパターン(NotAction/NotResource)の有無をチェックします。 Azure RBACのロール定義については、Actions: *(コントロールプレーンへのフルアクセス)、AssignableScopes: /(ルート管理グループのスコープ)、Microsoft.Compute/*のようなサービスワイルドカード、およびNotActionsパターンをフラグ付けします。 GCPのIAMポリシーについては、allUsers(一般公開アクセス)、allAuthenticatedUsers(任意のGoogleアカウント)、およびroles/ownerやroles/editorのような権限が過度に広い組み込みロールを検出します。
このアナライザーは「最小権限の原則」を採用しています。つまり、すべての権限は、そのIDが業務を遂行するために必要な範囲のみを付与すべきです。ワイルドカード権限は、各クラウドプロバイダーが将来サービスに追加する可能性のあるアクションを暗黙的に許可してしまうため、最も危険です。 権限範囲が広すぎる設定(Resource: *、AssignableScopes: /、allUsers)は、セキュリティ侵害が発生した場合の影響範囲を拡大させます。条件やバインディングレベルの制御は、有効な権限セットを絞り込むため、高権限の割り当てには必ず適用する必要があります。
ポリシーのJSONをエクスポートする方法:AWS:コンソールを開き、「IAM」に移動して「ポリシー」を開き、ポリシーを選択してから「JSON」タブを開くか、aws iam get-policy-version --policy-arn ARN --version-id v1 を実行します。 Azure:`az role definition show --name "RoleName"` を実行します。GCP:`gcloud projects get-iam-policy PROJECT_ID --format=json` を実行します。このアナライザーは完全にブラウザ上で動作し、ポリシーデータをサーバーに送信することは一切ありません。