본문 바로가기
홈 카탈로그 진단 항목 전체 ap-northeast-2 · 3820-1174-9265
클라우드 관리체계 보안 취약점 평가기준 (퍼블릭 클라우드) / 5. 운영 관리 / 5.3 정보처리시스템 보호대책

PISM-045그룹 및 속성 기반 권한 부여 및 최소 권한 정책 적용

위험도 3 기술적 보안 IAM · Lambda · EC2 평가 구분: 관리체계, 스크립트
사용자 그룹과 속성을 기반으로 접근 권한을 설정하여 개별 사용자 정책이 아닌 일괄적인 권한 관리가 이루어지며, 그룹 및 속성 기반 정책이 최소 권한 원칙을 효과적으로 구현하도록 설정되어 있는지 점검합니다.
1. 점검 대상 확인
2. CLI 진단
3. 양호/취약 판정
4. 조치 · 재확인

방법 1AWS Management Console 경로

IAM → 사용자 → 대상 사용자 선택 → 권한 탭에서 직접 연결 정책 확인 → 그룹 탭에서 그룹 멤버십과 연결 정책 확인
콘솔은 화면이 자주 바뀝니다. 실제 점검에서는 아래 CLI(방법 2) 로 증적을 남기는 편이 재현성이 높습니다.

방법 2AWS CLI 진단

아래 명령을 눌러 실행하거나, 직접 입력해 보세요. 응답은 실제 AWS CLI 출력 형식을 따릅니다.
$ aws sts get-caller-identity { "UserId": "AIDA4XQ7N2VZK3RJTPLWE", "Account": "382011749265", "Arn": "arn:aws:iam::382011749265:user/audit-readonly" } 진단 계정으로 로그인되었습니다. 아래 명령을 실행해 점검을 시작하세요.

판정이 환경은 양호합니까, 취약합니까?

평가기준의 판단 근거는 명령 출력입니다. 먼저 위에서 명령을 실행해 출력을 확인하세요.

🛠️ 조치 방법

사용자는 그룹으로 묶고, 역할에는 실제 사용 기록에 근거한 인라인 정책을 씁니다. AWS 관리형 *FullAccess 정책은 최소 권한의 반대말입니다.
# 1) 그룹 기반으로 전환 $ aws iam create-group --group-name FinDevelopers $ aws iam attach-group-policy --group-name FinDevelopers \ --policy-arn arn:aws:iam::382011749265:policy/FinDeveloperBaseline $ aws iam add-user-to-group --group-name FinDevelopers --user-name fin-dev-lee $ aws iam detach-user-policy --user-name fin-dev-lee \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess # 2) Lambda 역할 — FullAccess 제거 후 실사용 기반 최소 정책 $ aws iam detach-role-policy --role-name fin-lambda-openbanking \ --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess $ aws iam put-role-policy --role-name fin-lambda-openbanking \ --policy-name least-privilege --policy-document '{ "Version":"2012-10-17", "Statement":[ {"Effect":"Allow","Action":["s3:GetObject","s3:PutObject"], "Resource":"arn:aws:s3:::fin-mydata-consent-logs/*"}, {"Effect":"Allow","Action":"secretsmanager:GetSecretValue", "Resource":"arn:aws:secretsmanager:ap-northeast-2:382011749265:secret:fin/openbanking/*"} ]}' # 3) 권한 경계(Permissions Boundary)로 상한을 건다 $ aws iam put-user-permissions-boundary --user-name fin-dev-lee \ --permissions-boundary arn:aws:iam::382011749265:policy/FinDeveloperBoundary

📐 IaC 로 고정하기

콘솔에서 한 번 고쳐도 다음 배포에서 되돌아갑니다. 코드로 고정해야 재발하지 않습니다.
resource "aws_iam_group" "developers" { name = "FinDevelopers" } resource "aws_iam_group_membership" "dev" { group = aws_iam_group.developers.name users = ["fin-dev-lee", "fin-dev-park"] # 사람은 여기서만 추가/제거 } # 역할 정책은 리소스를 명시 — "*" 를 쓰지 않는다 data "aws_iam_policy_document" "lambda_least" { statement { actions = ["s3:GetObject", "s3:PutObject"] resources = ["${aws_s3_bucket.consent_logs.arn}/*"] } } # 권한 상한 — 경계를 넘는 정책은 붙여도 효력이 없다 resource "aws_iam_user" "dev" { permissions_boundary = aws_iam_policy.developer_boundary.arn }
주의 — Access Advisor(service-last-accessed-details)는 서비스 단위까지만 알려줍니다. "S3 를 썼다"는 알아도 "어떤 버킷·어떤 액션"인지는 CloudTrail 을 봐야 합니다. 그래서 권한을 좁힐 때는 Access Advisor 로 서비스 후보를 추리고, CloudTrail 로 액션·리소스를 확정하는 2단계를 거칩니다. 그리고 권한을 줄이면 반드시 무언가 깨집니다 — 스테이징에서 먼저 적용하고, 운영은 CloudTrail 의 AccessDenied 를 모니터링하며 단계적으로 좁히세요.

📋 평가항목 정보

평가항목 IDPISM-045
구분기술적 보안
통제분야5. 운영 관리
통제구분(대)5.3 정보처리시스템 보호대책
평가항목그룹 및 속성 기반 권한 부여 및 최소 권한 정책 적용
위험도3
평가 구분 (AWS)관리체계, 스크립트
상세설명사용자 그룹과 속성을 기반으로 접근 권한을 설정하여 개별 사용자 정책이 아닌 일괄적인 권한 관리가 이루어지며, 그룹 및 속성 기반 정책이 최소 권한 원칙을 효과적으로 구현하도록 설정되어 있는지 점검합니다.

📎 확인 자료 (증적)

  • 사용자별 직접 연결 정책 목록 (그룹 미사용 여부)
  • 그룹별 연결 정책 및 멤버십
  • 역할별 연결 정책 (*FullAccess 사용 여부)
  • Access Advisor / CloudTrail 기반 실사용 권한 분석 자료
  • 권한 경계(Permissions Boundary) 적용 현황
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.

🏦 금융 관점

금융회사는 직무 분리와 최소 권한을 요구받습니다. 클라우드에서는 IAM 이 그 통제 지점인데, 개별 사용자에게 정책을 직접 붙이면 퇴직·전보 시 회수 누락이 발생합니다. 그룹·역할 기반으로 묶어야 인사 변동이 곧 권한 변동으로 이어집니다 — 평가기준이 "그룹 및 속성 기반"을 명시한 이유입니다.
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다. 계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다. 실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.