설명
사용자가 없는 IAM 그룹은 그 자체로 사용자에게 권한을 부여하지 않습니다. 다만 사용하지 않는 그룹과 정책이 남으면 권한 구조가 복잡해지고, 나중에 사용자를 잘못 추가할 때 불필요한 권한을 부여할 수 있습니다.
잠재적 영향
사용하지 않는 권한 구성이 감사와 운영을 어렵게 만들 수 있습니다. 오래된 정책을 확인하지 않고 그룹을 재사용하면 새 구성원에게 과도한 권한이 생길 수 있습니다.
해결 방법
그룹의 소유자와 사용 목적, 연결된 정책을 확인하세요. 필요한 그룹에는 승인된 사용자만 추가하고, 더 이상 필요하지 않은 그룹은 정책과 의존 관계를 검토한 뒤 삭제하세요. 빈 그룹을 채우기 위해 임의로 사용자를 추가하지 마세요.
예시
큐 myqueue와 IsSampleIamUser 조건 선언은 생략했습니다. 큐 정책의 실제 권한도 별도로 검토하세요.
변경 전
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template 2
Resources:
myuseeer:
Type: AWS::IAM::Group
Properties:
Path: "/"
Policies:
- PolicyName: giveaccesstoqueueonly
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- sqs:*
Resource:
- !GetAtt myqueue.Arn
- Effect: Deny
Action:
- sqs:*
NotResource:
- !GetAtt myqueue.Arn
IamUserAdminSample22:
Type: AWS::IAM::User
Condition: IsSampleIamUser
Properties:
UserName: sample-iam-user-admin
사용자에 그룹 연결이 없어 이 예시의 그룹은 비어 있습니다.
변경 후
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
myuseeer:
Type: AWS::IAM::Group
Properties:
Path: "/"
Policies:
- PolicyName: giveaccesstoqueueonly
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- sqs:*
Resource:
- !GetAtt myqueue.Arn
- Effect: Deny
Action:
- sqs:*
NotResource:
- !GetAtt myqueue.Arn
IamUserAdminSample22:
Type: AWS::IAM::User
Condition: IsSampleIamUser
Properties:
UserName: sample-iam-user-admin
Groups:
- !Ref "myuseeer"
조건이 참이면 사용자를 해당 그룹에 연결합니다. 연결 전에 사용자가 그룹 권한을 필요로 하는지 확인하세요.