AWS IAM 정책, Azure RBAC 역할 정의 또는 GCP IAM 정책 JSON을 붙여넣으면 위험한 권한 및 과도한 권한 부여 패턴을 즉시 식별할 수 있습니다.
IAM Policy Analyzer는 3대 주요 클라우드 공급자 전반에 걸쳐 위험한 권한 패턴을 탐지합니다. AWS IAM 정책의 경우, 각 Statement에서 와일드카드 액션, 제한 없는 Resource: *, 조건이 없는 sts:AssumeRole, 그리고 반전 논리 패턴(NotAction/NotResource)을 확인합니다. Azure RBAC 역할 정의의 경우, Actions: *(전체 제어 평면 액세스), AssignableScopes: /(루트 관리 그룹 범위), Microsoft.Compute/*와 같은 서비스 와일드카드, 그리고 NotActions 패턴을 표시합니다. GCP IAM 정책의 경우, allUsers(공개 액세스), allAuthenticatedUsers(모든 Google 계정) 및 roles/owner, roles/editor와 같이 권한이 지나치게 광범위한 기본 제공 역할을 탐지합니다.
이 분석기는 최소 권한 원칙을 적용합니다. 즉, 모든 권한은 해당 신원이 업무를 수행하는 데 필요한 최소한의 권한만을 부여해야 합니다. 와일드카드 권한은 각 클라우드 제공업체가 서비스에 향후 추가할 수 있는 작업을 암묵적으로 허용하기 때문에 가장 위험합니다. 권한이 지나치게 광범위한 범위(Resource: *, AssignableScopes: /, allUsers)는 보안 침해 발생 시 피해 범위를 확대시킵니다. 조건 및 바인딩 수준 제어는 유효한 권한 집합을 좁혀주므로, 모든 고권한 할당에 적용되어야 합니다.
정책 JSON을 내보내는 방법: AWS: 콘솔을 열고, IAM으로 이동한 후, Policies를 열고, 정책을 선택한 다음 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 명령어를 실행합니다. 이 분석기는 전적으로 브라우저 내에서 실행되며, 정책 데이터를 서버로 전송하지 않습니다.