aws 금융 클라우드 진단홈카탈로그진단 항목 전체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 를 모니터링하며 단계적으로 좁히세요.
📋 평가항목 정보
평가항목 ID
PISM-045
구분
기술적 보안
통제분야
5. 운영 관리
통제구분(대)
5.3 정보처리시스템 보호대책
평가항목
그룹 및 속성 기반 권한 부여 및 최소 권한 정책 적용
위험도
3
평가 구분 (AWS)
관리체계, 스크립트
상세설명
사용자 그룹과 속성을 기반으로 접근 권한을 설정하여 개별 사용자 정책이 아닌 일괄적인 권한 관리가 이루어지며, 그룹 및 속성 기반 정책이 최소 권한 원칙을 효과적으로 구현하도록 설정되어 있는지 점검합니다.
📎 확인 자료 (증적)
사용자별 직접 연결 정책 목록 (그룹 미사용 여부)
그룹별 연결 정책 및 멤버십
역할별 연결 정책 (*FullAccess 사용 여부)
Access Advisor / CloudTrail 기반 실사용 권한 분석 자료
권한 경계(Permissions Boundary) 적용 현황
평가에서는 화면 캡처보다 CLI 출력이 강한 증적입니다. 명령·실행시각·계정 ARN 이 함께 남기 때문입니다. 위 진단 탭의 출력을 그대로 보고서에 붙이면 됩니다.
🏦 금융 관점
금융회사는 직무 분리와 최소 권한을 요구받습니다. 클라우드에서는 IAM 이 그 통제 지점인데, 개별 사용자에게 정책을 직접 붙이면 퇴직·전보 시 회수 누락이 발생합니다. 그룹·역할 기반으로 묶어야 인사 변동이 곧 권한 변동으로 이어집니다 — 평가기준이 "그룹 및 속성 기반"을 명시한 이유입니다.
「클라우드 관리체계 보안 취약점 평가기준(퍼블릭 클라우드)」의 평가항목을 교육용으로 재구성한 시뮬레이터입니다.
계정 ID·ARN·리소스 ID 는 형식만 실제와 같게 만든 가상 값이며, 어떤 AWS 환경에도 접속하지 않습니다.
실제 평가에서는 기관의 최신 평가기준 원문과 AWS 공식 문서를 따르십시오.