정책 검증용 검사(Checks for validating policies)
정책 검증용 검사(Checks for validating policies)
IAM Access Analyzer는 정책을 엔터티에 연결하기 전에 IAM 정책을 검증하는 데 도움이 되는 정책 검사(policy checks) 를 제공합니다. 여기에는 정책 문법과 AWS 모범 사례에 대해 정책을 검증하는 정책 검증(policy validation)에서 제공하는 기본 정책 검사가 포함됩니다. 정책에 대한 보안 경고·오류·일반 경고·제안을 포함한 정책 검증 검사 결과를 볼 수 있어요.
출처: 문서
본문
사용자 지정 정책 검사(custom policy checks) 를 사용해 보안 표준을 기준으로 새 접근을 확인할 수 있습니다. 새 접근 검사마다 요금이 부과됩니다. 가격에 대한 자세한 내용은 IAM Access Analyzer 요금을 참고하세요.
사용자 지정 정책 검사 작동 방식
AWS Identity and Access Management Access Analyzer 사용자 지정 정책 검사로 지정한 보안 표준에 대해 정책을 검증할 수 있습니다. 다음 유형의 사용자 지정 정책 검사를 실행할 수 있어요.
- 참조 정책에 대한 검사 — 정책을 편집할 때 업데이트된 정책이 기존 버전 같은 참조 정책에 비해 새 접근을 부여하는지 확인할 수 있습니다. AWS Command Line Interface(AWS CLI), IAM Access Analyzer API(API), 또는 IAM 콘솔의 JSON 정책 편집기로 정책을 편집할 때 이 검사를 실행할 수 있습니다.
참고 — IAM Access Analyzer 사용자 지정 정책 검사는 참조 리소스 정책의
Principal요소에서 와일드카드를 허용합니다. - IAM 작업 또는 리소스 목록에 대한 검사 — 특정 IAM 작업·리소스가 정책에서 허용되지 않는지 확인할 수 있습니다. 작업만 지정하면 IAM Access Analyzer는 정책의 모든 리소스에서 그 작업들의 접근을 확인합니다. 리소스만 지정하면 IAM Access Analyzer는 지정된 리소스에 접근할 수 있는 작업을 확인합니다. 작업과 리소스 모두 지정하면 IAM Access Analyzer는 지정된 작업 중 어떤 것이 지정된 리소스에 접근하는지 확인합니다. AWS CLI나 API로 정책을 생성·편집할 때 이 검사를 실행할 수 있습니다.
- 공개 접근 검사 — 리소스 정책이 지정된 리소스 유형에 공개 접근을 부여할 수 있는지 확인할 수 있습니다. AWS CLI나 API로 정책을 생성·편집할 때 이 검사를 실행할 수 있어요. 이 유형의 사용자 지정 정책 검사는 계정·외부 접근 분석기 컨텍스트가 필요하지 않다는 점에서 접근 미리 보기와 다릅니다. 접근 미리 보기는 리소스 권한을 배포하기 전에 IAM Access Analyzer 결과를 미리 볼 수 있게 하는 반면, 사용자 지정 검사는 정책이 공개 접근을 부여할 수 있는지 여부를 판단합니다.
각 사용자 지정 정책 검사에는 요금이 부과됩니다. 가격에 대한 자세한 내용은 IAM Access Analyzer 요금을 참고하세요.
사용자 지정 정책 검사는 자격 증명 기반 정책과 리소스 기반 정책 모두에서 실행할 수 있어요. 사용자 지정 정책 검사는 정책이 새 또는 지정된 접근을 허용하는지 판단하기 위해 패턴 매칭 기법이나 접근 로그 검사를 사용하지 않습니다. 외부 접근 결과와 유사하게, 사용자 지정 정책 검사는 Zelkova를 기반으로 합니다. Zelkova는 IAM 정책을 동등한 논리 명제로 변환하고 문제에 대해 범용·전문 논리 솔버(만족 가능성 모듈 이론) 모음을 실행합니다. 새 접근 또는 지정된 접근을 확인하기 위해 IAM Access Analyzer는 Zelkova를 정책에 반복 적용합니다. 정책 내용에 따라 정책이 허용하는 동작 클래스를 특성화하도록 쿼리가 점점 더 구체적이 됩니다. 만족 가능성 모듈 이론에 대한 자세한 내용은 Satisfiability Modulo Theories를 참고하세요.
드문 경우에는 IAM Access Analyzer가 정책 명령문이 새 접근이나 지정된 접근을 부여하는지 완전히 판단하지 못할 수 있습니다. 그런 경우에는 사용자 지정 정책 검사를 실패 처리함으로써 거짓 양성을 선언하는 쪽으로 기울어요. IAM Access Analyzer는 포괄적인 정책 평가를 제공하고 거짓 음성을 최소화하도록 설계되었습니다. 이 접근 방식은 검사를 통과했다는 것이 정책이 접근을 부여하지 않았음을 의미한다는 높은 수준의 보증을 제공합니다. 실패한 검사를 IAM Access Analyzer의 응답에서 보고된 정책 명령문을 검토해 수동으로 조사할 수 있습니다.
새 접근을 확인할 참조 정책 예시
새 접근에 대한 사용자 지정 정책 검사를 설정·실행하는 참조 정책 예시는 GitHub의 IAM Access Analyzer custom policy checks samples 저장소에서 찾을 수 있습니다.
이 예시를 사용하기 전에:
- 참조 정책을 고유한 요구사항에 맞게 신중히 검토·커스터마이징하세요.
- 사용하는 AWS 서비스와 함께 환경에서 참조 정책을 철저히 테스트하세요.
참조 정책은 사용자 지정 정책 검사의 구현·사용을 보여줍니다. 이들은 공식 AWS 권장사항이나 그대로 구현해야 하는 모범 사례로 해석되어서는 안 됩니다. 환경의 보안 요구사항을 해결하기 위한 참조 정책의 적합성을 신중히 테스트하는 것은 여러분의 책임입니다.
사용자 지정 정책 검사는 분석에서 환경에 구애받지 않습니다. 분석은 입력 정책에 포함된 정보만 고려합니다. 예를 들어 사용자 지정 정책 검사는 계정이 특정 AWS 조직의 멤버인지 확인할 수 없습니다. 따라서 사용자 지정 정책 검사는 aws:PrincipalOrgId와 aws:PrincipalAccount 조건 키의 값에 기반한 새 접근을 비교할 수 없습니다.
실패한 사용자 지정 정책 검사 조사
사용자 지정 정책 검사가 실패하면 IAM Access Analyzer의 응답에는 검사가 실패하게 한 정책 명령문의 문서 ID(Sid)가 포함됩니다. 문서 ID는 선택적 정책 요소이지만, 모든 정책 명령문에 문서 ID를 추가할 것을 권장합니다. 사용자 지정 정책 검사는 검사 실패 이유를 식별하는 데 도움이 되는 명령문 인덱스도 반환합니다. 명령문 인덱스는 0부터 시작하는 번호를 따르며, 첫 번째 명령문은 0으로 참조됩니다. 검사 실패를 일으키는 명령문이 여러 개면 검사는 한 번에 하나의 명령문 ID만 반환합니다. 이유에 표시된 명령문을 수정하고 검사가 통과할 때까지 검사를 다시 실행하는 것을 권장합니다.