설명
관리형 IAM 정책을 개별 사용자에게 직접 연결하면 사용자별 연결 관계를 따로 추적해야 합니다. 공통 권한을 그룹으로 묶으면 구성원 변경과 접근 권한 검토가 쉬워질 수 있습니다. 직접 연결 자체가 권한을 더 넓히는 것은 아닙니다.
잠재적 영향
사용자별 예외가 누적되면 업무 변경 후에도 필요하지 않은 권한이 남거나 접근 회수가 누락될 수 있습니다.
해결 방법
공통 권한은 관리형 정책을 그룹에 연결하고 승인된 사용자를 그룹에 추가하는 방식으로 정리하세요. 직접 연결을 제거하기 전에 필요한 권한이 유지되는지 확인하고, 사용자별 예외는 사유와 검토 시점을 관리하세요.
예시
TestUser와 TestGroup은 기존 사용자와 그룹의 이름입니다. 버킷 이름과 허용할 객체 범위는 실제 필요에 맞게 바꾸고 사용자를 그룹에 연결하세요.
변경 전
yaml
Resources:
CreateTestDBPolicy:
Type: "AWS::IAM::ManagedPolicy"
Properties:
Description: Read approved S3 objects
Path: /
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action: s3:GetObject
Resource: arn:aws:s3:::example-bucket/*
Users:
- TestUser
관리형 정책을 사용자에게 직접 연결합니다.
변경 후
yaml
Resources:
CreateTestDBPolicy:
Type: "AWS::IAM::ManagedPolicy"
Properties:
Description: Read approved S3 objects
Path: /
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action: s3:GetObject
Resource: arn:aws:s3:::example-bucket/*
Groups:
- TestGroup
같은 정책을 그룹에 연결합니다. 그룹 구성원은 별도로 관리해야 합니다.