IAM Access Analyzer 정책 확인 - AWS Identity and Access Management

IAM Access Analyzer 정책 확인

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

  • 참조 정책 비교 확인: 정책을 편집할 때 업데이트된 정책이 기존 버전의 정책과 같은 참조 정책과 비교하여 새 액세스를 허용하는지 확인할 수 있습니다. IAM 콘솔의 AWS Command Line Interface(AWS CLI), IAM Access Analyzer API(API) 또는 JSON 정책 편집기를 사용하여 정책을 편집할 때 해당 확인을 실행할 수 있습니다.

  • 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만 반환합니다. 원인에 강조 표시된 설명을 수정하고 통과할 때까지 확인을 다시 실행하는 것이 좋습니다.

사용자 지정 정책 확인을 통한 정책 검증(콘솔)

선택 단계로 IAM 콘솔의 JSON 정책 편집기에서 정책을 편집할 때 사용자 지정 정책 확인을 실행할 수 있습니다. 업데이트된 정책이 기존 버전과 비교하여 새 액세스를 허용하는지 확인할 수 있습니다.

IAM JSON 정책을 편집할 때 새 액세스 권한을 확인하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을 엽니다.

  2. 왼쪽의 탐색 창에서 정책을 선택합니다.

  3. 정책 목록에서 편집하려는 정책명을 선택합니다. 검색 상자를 사용하여 정책 목록을 필터링할 수 있습니다.

  4. 권한 탭을 선택한 다음 편집을 선택합니다.

  5. JSON 옵션을 선택하고 정책을 업데이트합니다.

  6. 정책 아래의 정책 검증 창에서 새 액세스 확인 탭을 선택한 다음 정책 확인을 선택합니다. 수정된 권한으로 새 액세스 권한이 부여되는 경우 정책 검증 창에서 해당 설명이 강조 표시됩니다.

  7. 새 액세스 권한을 부여하지 않으려면 새 액세스가 감지되지 않을 때까지 정책 설명을 업데이트하고 정책 확인을 선택합니다.

    참고

    새 액세스를 확인할 때마다 요금이 부과됩니다. 요금에 대한 자세한 내용은 IAM Access Analyzer 요금을 참조하세요.

  8. Next(다음)를 선택합니다.

  9. 검토 및 저장 페이지에서 이 정책에 정의된 권한을 검토한 다음 변경 사항 저장을 선택합니다.

사용자 지정 정책 확인(AWS CLI 또는 API)으로 정책 검증

AWS CLI 또는 IAM Access Analyzer API에서 IAM Access Analyzer 사용자 지정 정책 확인을 실행할 수 있습니다.

IAM Access Analyzer 정책 확인을 수행하려면(AWS CLI)

  • 기존 정책과 비교하여 업데이트된 정책에 새 액세스가 허용되는지 확인하려면 다음 명령을 실행합니다. check-no-new-access

  • 지정된 액세스가 정책에서 허용되지 않는지 확인하려면 다음 명령을 실행합니다. check-access-not-granted

  • 리소스 정책이 지정된 리소스 유형에 대한 퍼블릭 액세스 권한을 부여할 수 있는지 확인하려면 다음 명령을 실행합니다. check-no-public-access

IAM Access Analyzer 사용자 지정 정책 확인(API)을 실행하려면

  • 기존 정책과 비교하여 업데이트된 정책에 새 액세스가 허용되는지 확인하려면 CheckNoNewAccess API 작업을 사용하세요.

  • 지정된 액세스가 정책에서 허용되지 않는지 확인하려면 CheckAccessNotGranted API 작업을 사용하세요.

  • 리소스 정책이 지정된 리소스 유형에 대한 퍼블릭 액세스 권한을 부여할 수 있는지 확인하려면 CheckNoPublicAccess API 작업을 사용하세요.