정책 검증 검사 - AWS Identity and Access Management

정책 검증 검사

IAM Access Analyzer는 IAM 정책을 엔터티에 연결하기 전에 검증하는 데 도움이 되는 정책 확인을 제공합니다. 여기에는 정책 문법AWS 모범 사례에 따라 정책을 검증하기 위해 정책 검증을 통해 제공되는 기본 정책 확인이 포함됩니다. 보안 경고, 오류, 일반 경고 및 정책에 대한 제안 사항이 포함된 정책 유효성 검사 결과를 볼 수 있습니다.

사용자 지정 정책 확인을 사용하여 보안 표준에 따라 새 액세스를 확인할 수 있습니다. 새 액세스를 확인할 때마다 요금이 부과됩니다. 요금에 대한 자세한 내용은 IAM Access Analyzer 요금을 참조하세요.

사용자 지정 정책 확인 작동 방식

AWS Identity and Access Management Access Analyzer 사용자 지정 정책 확인을 사용하여 지정된 보안 표준에 대해 정책을 검증할 수 있습니다. 실행할 수 있는 사용자 지정 정책 확인의 유형은 다음과 같습니다.

  • 참조 정책 비교 확인: 정책을 편집할 때 업데이트된 정책이 기존 버전의 정책과 같은 참조 정책과 비교하여 새 액세스를 허용하는지 확인할 수 있습니다. IAM 콘솔의 AWS Command Line Interface(AWS CLI), IAM Access Analyzer API(API) 또는 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를 정책에 반복적으로 적용합니다. 정책의 내용에 따라 정책이 허용하는 동작 클래스를 특성화하기 위해 쿼리가 점점 더 구체화되고 있습니다. 만족성 모듈로 이론에 대한 자세한 내용은 만족성 모듈로 이론을 참조하세요.

드물지만 IAM Access Analyzer에서 정책 설명이 새 액세스 권한을 부여하는지 또는 지정된 액세스 권한을 부여하는지 여부를 완전히 확인할 수 없을 수 있습니다. 이러한 경우 사용자 지정 정책 확인에 실패하여 거짓 긍정을 선언하는 오류가 발생합니다. IAM Access Analyzer는 포괄적인 정책 평가를 제공하도록 설계되었으며 거짓 부정을 최소화하기 위해 노력합니다. 이 접근 방식은 IAM Access Analyzer가 확인을 통과해도 정책에 의해 액세스 권한이 부여되지 않았을 정도로 높은 수준의 보증을 제공한다는 것을 의미합니다. IAM Access Analyzer의 응답에 보고된 정책 설명을 검토하여 실패한 확인을 수동으로 검사할 수 있습니다.

새 액세스를 확인할 참조 정책 예제

GitHub의 IAM Access Analyzer 사용자 지정 정책 확인 샘플 리포지토리에서 참조 정책의 예를 찾고 새 액세스에 대한 사용자 지정 정책 확인을 설정 및 실행하는 방법을 배울 수 있습니다.

이 예제를 사용하기 전에

샘플 참조 정책을 사용하기 전에 다음 단계를 수행해야 합니다.

  • 신중하게 참조 정책을 검토하고 자신의 요구 사항에 맞게 사용자 지정합니다.

  • 자신의 환경과 사용 중인 AWS 서비스에서 참조 정책을 철저히 테스트합니다.

    참조 정책은 사용자 지정 정책 확인을 구현하고 사용하는 방법을 보여줍니다. 그러나 제시된 그대로 실행할 수 있는 공식적인 AWS 권장 사항 또는 모범 사례로 해석해서는 안 됩니다. 고객은 자신의 환경이 가진 보안 요구 사항을 해결하기 위해 참조 정책의 적합성을 테스트할 책임이 있습니다.

  • 사용자 지정 정책 확인은 분석 시 환경에 구애받지 않습니다. 분석에서는 입력 정책에 포함된 정보만 고려합니다. 예를 들어 사용자 지정 정책 확인으로는 계정이 특정 AWS 조직의 구성원인지 여부를 확인할 수 없습니다. 따라서 사용자 지정 정책 확인에서는 aws:PrincipalOrgIdaws:PrincipalAccount 조건 키 값을 기반으로 새 액세스를 비교할 수 없습니다.

실패한 사용자 지정 정책 확인 검사

사용자 지정 정책 확인이 실패할 경우 IAM Access Analyzer의 응답에는 확인 실패를 초래한 정책 설명의 명령문 ID(Sid)가 포함됩니다. 명령문 ID는 선택적 정책 요소이지만 모든 정책 설명에 대해 명령문 ID를 추가하는 것이 좋습니다. 또한 사용자 지정 정책 확인은 확인 실패 원인을 식별하는 데 도움이 되는 명령문 색인을 반환합니다. 명령문 색인은 0 기준 번호 매기기를 따르며, 여기서 첫 번째 명령문은 0으로 참조됩니다. 확인 실패의 원인이 되는 명령문이 여러 개 있는 경우 확인에서는 한 번에 하나의 명령문 ID만 반환합니다. 원인에 강조 표시된 설명을 수정하고 통과할 때까지 확인을 다시 실행하는 것이 좋습니다.