Access Analyzer 정책 검사 참조 - AWS Identity and Access Management
오류 - ARN 계정이 허용되지 않음오류 - ARN 리전이 허용되지 않음오류 - 데이터 형식 불일치오류 - 대/소문자가 다른 중복 키오류 - 잘못된 작업오류 - 잘못된 ARN 계정오류 - 잘못된 ARN 접두사오류 - 잘못된 ARN 리전오류 - 잘못된 ARN 리소스오류 - 잘못된 ARN 서비스 사례오류 - 잘못된 조건 데이터 형식오류 - 잘못된 조건 키 형식오류 - 잘못된 조건 다중 부울오류 - 잘못된 조건 연산자오류 - 잘못된 효과오류 - 잘못된 전역 조건 키오류 - 잘못된 파티션오류 - 잘못된 정책 요소오류 - 잘못된 보안 주체 형식오류 - 잘못된 보안 주체 키오류 - 잘못된 리전오류 - 잘못된 서비스오류 - 잘못된 서비스 조건 키오류 - 작업의 잘못된 서비스오류 - 연산자의 잘못된 변수오류 - 잘못된 버전오류 - JSON 구문 오류오류 - JSON 구문 오류오류 - 작업 누락오류 - ARN 필드 누락오류 - ARN 리전 누락오류 - 효과 누락오류 - 보안 주체 누락오류 - 한정자 누락오류 - 리소스 누락오류 - 누락된 설명오류 - if exists의 Null오류 - SCP 구문 오류 작업 와일드카드오류 - SCP 구문 오류 조건 허용오류 - SCP 구문 오류 NotAction 허용오류 - SCP 구문 오류 리소스 허용오류 - SCP 구문 오류 NotResource오류 - SCP 구문 오류 보안 주체오류 - 고유 Sid 필요오류 – 정책에서 지원되지 않는 작업오류 - 지원되지 않는 요소 조합오류 - 지원되지 않는 전역 조건 키오류 - 지원되지 않는 보안 주체오류 – 정책에서 지원되지 않는 리소스 ARN오류 - 지원되지 않는 Sid오류 - 보안 주체에서 지원되지 않는 와일드카드오류 - 변수에 중괄호 누락오류 - 변수에 따옴표 누락오류 - 변수에 지원되지 않는 공백오류 - 빈 변수오류 - 요소에서 지원되지 않는 변수오류 - 버전에서 지원되지 않는 변수오류 - 프라이빗 IP 주소오류 - 프라이빗 NotIpAddress오류 - 정책 크기가 SCP 할당량 초과오류 - 잘못된 서비스 보안 주체 형식오류 - 조건에 태그 키 누락오류 – 잘못된 vpc 형식오류 – 잘못된 vpce 형식오류 – 페더레이션 보안 주체가 지원되지 않음오류 – 조건 키에 대해 지원되지 않는 작업오류 – 정책에서 지원되지 않는 작업오류 – 정책에서 지원되지 않는 리소스 ARN오류 – 서비스 보안 주체에 대해 지원되지 않는 조건 키오류 – 주체가 아닌 역할 신뢰 정책 구문 오류오류 – 주체에서 지원되지 않은 역할 신뢰 정책오류 – 역할 신뢰 정책 구문 오류 리소스오류 - 형식 불일치 IP 범위오류 – 조건 키에 대한 작업 누락오류 – 역할 신뢰 정책에 잘못된 연동된 보안 주체 구문오류 – 보안 주체에 대한 작업이 일치하지 않음오류 – 신뢰 정책이 있는 역할에 대한 작업 누락일반 경고 - NotResource를 사용하여 SLR 생성일반 경고 - Action에 별표와 NotResource를 사용하여 SLR 생성일반 경고 - NotAction 및 NotResource를 사용하여 SLR 생성일반 경고 - Resource에 별표를 사용하여 SLR 생성일반 경고 - Action 및 Resource에 별표를 사용하여 SLR 생성일반 경고 - Resource에 별표와 NotAction을 사용하여 SLR 생성일반 경고 - 사용되지 않는 전역 조건 키일반 경고 - 잘못된 날짜 값일반 경고 - 잘못된 역할 참조일반 경고 - 잘못된 사용자 참조일반 경고 - 버전 누락일반 경고 - 고유한 Sid 권장일반 경고 - Like 연산자가 없는 와일드카드일반 경고 - 정책 크기가 자격 증명 정책 할당량 초과일반 경고 - 정책 크기가 리소스 정책 할당량 초과일반 경고 - 형식 불일치일반 경고 - 형식 불일치 부울일반 경고 - 형식 불일치 날짜일반 경고 - 형식 불일치 숫자일반 경고 - 형식 불일치 문자열일반 경고 – 특정 github 리포지토리 및 지점 권장일반 경고 – 정책 크기가 역할 신뢰 정책 할당량 초과보안 경고 - NotPrincipal을 사용하여 허용보안 경고 - 단일 값 키의 AllValues보안 경고 - NotResource를 사용하여 역할 전달보안 경고 - Action에 별표 및 NotResource를 사용하여 역할 전달보안 경고 - NotAction 및 NotResource를 사용하여 역할 전달보안 경고 - Resource에 별표를 사용하여 역할 전달보안 경고 - Action 및 Resource에 별표를 사용하여 역할 전달보안 경고 - Resource에 별표 및 NotAction을 사용하여 역할 전달보안 경고 - 페어링된 조건 키 누락보안 경고 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 거부보안 경고 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 NotAction 거부보안 경고 - 서비스 보안 주체에 대한 액세스 제한보안 경고 – OIDC 보안 주체에 대한 조건 키 누락보안 경고 – github 리포지토리 조건 키 누락제안 - 빈 배열 작업제안 - 빈 배열 조건제안 - 빈 배열 조건 ForAllValues제안 - 빈 배열 조건 ForAnyValue제안 - 빈 배열 조건 IfExists제안 - 빈 배열 보안 주체제안 - 빈 배열 리소스제안 - 빈 객체 조건제안 - 빈 객체 보안 주체제안 - 빈 Sid 값제안 - IP 범위 개선제안 - 한정자의 Null제안 - 프라이빗 IP 주소 하위 집합제안 - 프라이빗 NotIpAddress 하위 집합제안 - 중복 작업제안 - 중복 조건 값 숫자제안 - 중복 리소스제안 - 중복 문제안 - 서비스 이름의 와일드카드제안 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 허용제안 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 NotAction 허용제안 - 서비스 보안 주체에 권장되는 조건 키제안 - 정책의 관련 없는 조건 키제안 – 역할 신뢰 정책에 중복된 보안 주체제안 – 대상 클레임 유형 확인

Access Analyzer 정책 검사 참조

AWS Identity and Access Management Access Analyzer 정책 검증을 사용하여 정책을 검증할 수 있습니다. AWS CLI, AWS API 또는 IAM 콘솔의 JSON 정책 편집기를 사용하여 정책을 생성 또는 편집할 수 있습니다. IAM Access Analyzer가 IAM 정책 문법AWS 모범 사례에 대해 정책을 검증할 수 있습니다. 보안 경고, 오류, 일반 경고 및 정책에 대한 제안 사항이 포함된 정책 유효성 검사 결과를 볼 수 있습니다. 이러한 검색 결과는 보안 모범 사례 준수 기능을 갖춘 정책을 작성하는 데 도움이 되는 실행 가능한 권장 사항을 제공합니다. IAM Access Analyzer가 제공하는 기본 정책 확인 목록은 다음과 같습니다. 정책 검증 검사 실행과 관련된 추가 요금은 없습니다. 정책 검증을 사용하여 정책을 검증하는 방법에 대한 자세한 내용은 IAM Access Analyzer 정책 검증 섹션을 참조하세요.

오류 - ARN 계정이 허용되지 않음

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

ARN account not allowed: The service {{service}} does not support specifying an account ID in the resource ARN.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The service {{service}} does not support specifying an account ID in the resource ARN."

오류 해결

리소스 ARN에서 계정 ID를 제거합니다. 일부 AWS 서비스의 리소스 ARN에서는 계정 ID 지정을 지원하지 않습니다.

예를 들어 Amazon S3에서는 버킷 ARN에 계정 ID를 네임스페이스로 지정할 수 없습니다. Amazon S3 버킷 이름은 전역적으로 고유하며 네임스페이스는 모든 AWS 계정에서 공유됩니다. Amazon S3에서 사용할 수 있는 모든 리소스 유형을 보려면 서비스 승인 참조Amazon S3에서 정의한 리소스 유형을 참조하세요.

관련 용어

오류 - ARN 리전이 허용되지 않음

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

ARN Region not allowed: The service {{service}} does not support specifying a Region in the resource ARN.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The service {{service}} does not support specifying a Region in the resource ARN."

오류 해결

리소스 ARN에서 리전을 제거합니다. 일부 AWS 서비스의 리소스 ARN에서는 리전 지정을 지원하지 않습니다.

예를 들어 IAM은 글로벌 서비스입니다. IAM 리소스 ARN의 리전 부분은 항상 비워 둡니다. IAM 리소스는 현재의 AWS 계정처럼 글로벌 리소스입니다. 예를 들어 IAM 사용자로 로그인하면 어느 지리적 리전에서나 AWS 서비스에 액세스할 수 있습니다.

오류 - 데이터 형식 불일치

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Data type mismatch: The text does not match the expected JSON data type {{data_type}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The text does not match the expected JSON data type {{data_type}}."

오류 해결

지원되는 데이터 형식을 사용하도록 텍스트를 업데이트합니다.

예를 들어 Version 전역 조건 키에는 String 데이터 형식이 필요합니다. 날짜 또는 정수를 지정하면 데이터 형식이 일치하지 않습니다.

관련 용어

오류 - 대/소문자가 다른 중복 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Duplicate keys with different case: The condition key {{key}} appears more than once with different capitalization in the same condition block. Remove the duplicate condition keys.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key {{key}} appears more than once with different capitalization in the same condition block. Remove the duplicate condition keys."

오류 해결

동일한 조건 블록 내에서 유사한 조건 키를 검토하고 모든 인스턴스에 동일한 대/소문자를 사용합니다.

조건 블록은 정책 문 Condition 요소 내의 텍스트입니다. 조건 키 이름은 대/소문자를 구분하지 않습니다. 조건 키 의 대/소문자 구분은 사용하는 조건 연산자에 따라 다릅니다. 조건 키에서 대/소문자 구분에 대한 자세한 내용은 IAM JSON 정책 요소: Condition 섹션을 참조하세요.

관련 용어

오류 - 잘못된 작업

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid action: The action {{action}} does not exist. Did you mean {{valid_action}}?

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The action {{action}} does not exist. Did you mean {{valid_action}}?"

오류 해결

지정한 작업이 유효하지 않습니다. 서비스 접두사 또는 작업 이름을 잘못 입력하면 발생할 수 있습니다. 몇 가지 일반적인 문제의 경우 정책 검사에서 추천 작업을 반환합니다.

관련 용어

이 오류가 있는 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

다음 AWS 관리형 정책은 잘못된 작업을 해당 정책 문에 포함합니다. 잘못된 작업은 정책에 따라 부여되는 권한에 영향을 미치지 않습니다. AWS 관리형 정책을 참조하여 관리형 정책을 생성하는 경우 AWS는 정책에서 잘못된 작업을 제거할 것을 권장합니다.

오류 - 잘못된 ARN 계정

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid ARN account: The resource ARN account ID {{account}} is not valid. Provide a 12-digit account ID.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The resource ARN account ID {{account}} is not valid. Provide a 12-digit account ID."

오류 해결

리소스 ARN에서 계정 ID를 업데이트합니다. 계정 ID는 12자리 정수입니다. 계정 ID를 확인하는 방법은 AWS 계정 ID 찾기를 참조하세요.

관련 용어

오류 - 잘못된 ARN 접두사

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid ARN prefix: Add the required prefix (arn) to the resource ARN.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add the required prefix (arn) to the resource ARN."

오류 해결

AWS 리소스 ARN에는 필수 arn: 접두사를 포함해야 합니다.

관련 용어

오류 - 잘못된 ARN 리전

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid ARN Region: The Region {{region}} is not valid for this resource. Update the resource ARN to include a supported Region.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The Region {{region}} is not valid for this resource. Update the resource ARN to include a supported Region."

오류 해결

지정된 리전에서 리소스 유형이 지원되지 않습니다. 각 리전에서 지원되는 AWS 서비스를 정리한 표는 리전 표를 참조하세요.

관련 용어

오류 - 잘못된 ARN 리소스

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid ARN resource: Resource ARN does not match the expected ARN format. Update the resource portion of the ARN.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Resource ARN does not match the expected ARN format. Update the resource portion of the ARN."

오류 해결

리소스 ARN은 알려진 리소스 유형의 사양과 일치해야 합니다. 서비스의 예상 ARN 형식을 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스 이름을 선택하여 해당 리소스 유형 및 ARN 형식을 확인합니다.

관련 용어

오류 - 잘못된 ARN 서비스 사례

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid ARN service case: Update the service name ${service} in the resource ARN to use all lowercase letters.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Update the service name ${service} in the resource ARN to use all lowercase letters."

오류 해결

리소스 ARN의 서비스는 서비스 접두사의 사양(대/소문자 포함)과 일치해야 합니다. 서비스의 접두사를 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스의 이름을 선택하고 첫 번째 문장에서 해당 접두사를 찾습니다.

관련 용어

오류 - 잘못된 조건 데이터 형식

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid condition data type: The condition value data types do not match. Use condition values of the same JSON data type.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition value data types do not match. Use condition values of the same JSON data type."

오류 해결

조건 키 값 페어의 값은 조건 키 및 조건 연산자의 데이터 형식과 일치해야 합니다. 서비스의 조건 키 데이터 형식을 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스의 이름을 선택하여 해당 서비스의 조건 키를 확인합니다.

예를 들어 CurrentTime 전역 조건 키는 Date 조건 연산자를 지원합니다. 조건 블록에서 값에 문자열이나 정수를 지정하면 데이터 형식이 일치하지 않습니다.

관련 용어

오류 - 잘못된 조건 키 형식

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid condition key format: The condition key format is not valid. Use the format service:keyname.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key format is not valid. Use the format service:keyname."

오류 해결

조건 키 값 페어의 키는 서비스의 사양과 일치해야 합니다. 서비스의 조건 키를 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스의 이름을 선택하여 해당 서비스의 조건 키를 확인합니다.

관련 용어

오류 - 잘못된 조건 다중 부울

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid condition multiple Boolean: The condition key does not support multiple Boolean values. Use a single Boolean value.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key does not support multiple Boolean values. Use a single Boolean value."

오류 해결

조건 키 값 페어의 키에는 단일 부울 값이 필요합니다. 다중 부울 값을 지정하면 조건 일치에서 예상하는 결과가 반환되지 않을 수 있습니다.

서비스의 조건 키를 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스의 이름을 선택하여 해당 서비스의 조건 키를 확인합니다.

오류 - 잘못된 조건 연산자

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid condition operator: The condition operator {{operator}} is not valid. Use a valid condition operator.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition operator {{operator}} is not valid. Use a valid condition operator."

오류 해결

지원되는 조건 연산자를 사용하도록 조건을 업데이트합니다.

관련 용어

오류 - 잘못된 효과

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid effect: The effect {{effect}} is not valid. Use Allow or Deny.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The effect {{effect}} is not valid. Use Allow or Deny."

오류 해결

유효한 효과를 사용하도록 Effect 요소를 업데이트합니다. Effect 유효값은 AllowDeny입니다.

관련 용어

오류 - 잘못된 전역 조건 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid global condition key: The condition key {{key}} does not exist. Use a valid condition key.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key {{key}} does not exist. Use a valid condition key."

오류 해결

지원되는 전역 조건 키를 사용하도록 조건 키 값 페어의 조건 키를 업데이트합니다.

전역 조건 키는 aws: 접두사가 있는 조건 키입니다. AWS 서비스는 전역 조건 키를 지원하거나 서비스 접두사를 포함하는 서비스별 키를 제공할 수 있습니다. 예를 들어 IAM 조건 키에는 iam: 접두사가 포함됩니다. 자세한 내용은 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하고 키를 보려는 서비스를 선택합니다.

관련 용어

오류 - 잘못된 파티션

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid partition: The resource ARN for the service {{service}} does not support the partition {{partition}}. Use the supported values: {{partitions}}

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The resource ARN for the service {{service}} does not support the partition {{partition}}. Use the supported values: {{partitions}}"

오류 해결

지원되는 파티션을 포함하도록 리소스 ARN을 업데이트합니다. 지원되는 파티션을 포함한 경우에는 포함한 파티션을 서비스 또는 리소스에서 지원하지 않을 수 있습니다.

파티션은 AWS 리전의 그룹입니다. 각 AWS 계정은 하나의 파티션으로 범위가 지정됩니다. Classic 리전에서는 aws 파티션을 사용합니다. 중국 리전에서는 aws-cn을 사용합니다.

관련 용어

오류 - 잘못된 정책 요소

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid policy element: The policy element {{element}} is not valid.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The policy element {{element}} is not valid."

오류 해결

지원되는 JSON 정책 요소만 포함하도록 정책을 업데이트합니다.

관련 용어

오류 - 잘못된 보안 주체 형식

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid principal format: The Principal element contents are not valid. Specify a key-value pair in the Principal element.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The Principal element contents are not valid. Specify a key-value pair in the Principal element."

오류 해결

지원되는 키 값 페어 형식을 사용하도록 보안 주체를 업데이트합니다.

보안 주체는 리소스 기반 정책에서 지정할 수 있고 자격 증명 기반 정책에서는 지정할 수 없습니다.

예를 들어 모든 AWS 계정의 모든 사용자에 대한 액세스 권한을 정의하려면 정책에 다음 보안 주체를 사용합니다.

"Principal": { "AWS": "123456789012" }

관련 용어

오류 - 잘못된 보안 주체 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid principal key: The principal key {{principal-key}} is not valid.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The principal key {{principal-key}} is not valid."

오류 해결

지원되는 보안 주체 키를 사용하도록 보안 주체 키 값 페어의 키를 업데이트합니다. 지원되는 보안 주체 키는 다음과 같습니다.

  • AWS

  • CanonicalUser

  • 연동됨

  • 서비스

관련 용어

오류 - 잘못된 리전

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid Region: The Region {{region}} is not valid. Update the condition value to a suported Region.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The Region {{region}} is not valid. Update the condition value to a suported Region."

오류 해결

지원되는 리전을 포함하도록 조건 키 값 페어의 값을 업데이트합니다. 각 리전에서 지원하는 AWS 서비스를 정리한 표는 리전 표를 참조하세요.

관련 용어

오류 - 잘못된 서비스

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid service: The service {{service}} does not exist. Use a valid service name.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The service {{service}} does not exist. Use a valid service name."

오류 해결

작업 또는 조건 키의 서비스 접두사는 서비스 접두사의 사양(대/소문자 포함)과 일치해야 합니다. 서비스의 접두사를 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스의 이름을 선택하고 첫 번째 문장에서 해당 접두사를 찾습니다.

관련 용어

오류 - 잘못된 서비스 조건 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid service condition key: The condition key {{key}} does not exist in the service {{service}}. Use a valid condition key.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key {{key}} does not exist in the service {{service}}. Use a valid condition key."

오류 해결

서비스의 알려진 조건 키를 사용하도록 조건 키 값 페어의 키를 업데이트합니다. 전역 조건 키 이름은 aws 접두사로 시작합니다. AWS 서비스에서는 서비스 접두사를 포함하는 서비스별 키를 제공할 수 있습니다. 서비스의 접두사를 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요.

관련 용어

오류 - 작업의 잘못된 서비스

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid service in action: The service {{service}} specified in the action does not exist. Did you mean {{service2}}?

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The service {{service}} specified in the action does not exist. Did you mean {{service2}}?"

오류 해결

작업의 서비스 접두사는 서비스 접두사의 사양(대/소문자 포함)과 일치해야 합니다. 서비스의 접두사를 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스의 이름을 선택하고 첫 번째 문장에서 해당 접두사를 찾습니다.

관련 용어

오류 - 연산자의 잘못된 변수

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid variable for operator: Policy variables can only be used with String and ARN operators.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Policy variables can only be used with String and ARN operators."

오류 해결

정책 변수는 Resource 요소를 비롯해 Condition 요소의 문자열 비교에 사용할 수 있습니다. 문자열 연산자 또는 ARN 연산자를 사용하는 경우 조건에서 변수를 지원합니다. 문자열 연산자에는 StringEquals, StringLikeStringNotLike가 포함됩니다. ARN 연산자에는 ArnEqualsArnLike가 포함됩니다. 숫자, 날짜, 부울, 이진, IP 주소 또는 Null 연산자 등과 같은 다른 연산자에는 정책 변수를 사용할 수 없습니다.

관련 용어

오류 - 잘못된 버전

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid version: The version ${version} is not valid. Use one of the following versions: ${versions}

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The version ${version} is not valid. Use one of the following versions: ${versions}"

오류 해결

Version 정책 요소는 AWS에서 정책을 처리하는 데 사용할 언어 구문 규칙을 지정합니다. 사용 가능한 모든 정책 기능을 사용하려면 모든 정책에서 Statement 요소 앞에 최신 Version 요소를 포함합니다.

"Version": "2012-10-17"

관련 용어

오류 - JSON 구문 오류

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Json syntax error: Fix the JSON syntax error at index {{index}} line {{line}} column {{column}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Fix the JSON syntax error at index {{index}} line {{line}} column {{column}}."

오류 해결

정책에 구문 오류가 있습니다. JSON 구문을 확인하세요.

관련 용어

오류 - JSON 구문 오류

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Json syntax error: Fix the JSON syntax error.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Fix the JSON syntax error."

오류 해결

정책에 구문 오류가 있습니다. JSON 구문을 확인하세요.

관련 용어

오류 - 작업 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing action: Add an Action or NotAction element to the policy statement.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add an Action or NotAction element to the policy statement."

오류 해결

AWS JSON 정책에는 Action 또는 NotAction 요소가 있어야 합니다.

관련 용어

오류 - ARN 필드 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing ARN field: Resource ARNs must include at least {{fields}} fields in the following structure: arn:partition:service:region:account:resource

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Resource ARNs must include at least {{fields}} fields in the following structure: arn:partition:service:region:account:resource"

오류 해결

리소스 ARN의 모든 필드는 알려진 리소스 유형의 사양과 일치해야 합니다. 서비스의 예상 ARN 형식을 확인하려면 AWS 서비스에 사용되는 작업, 리소스 및 조건 키를 참조하세요. 서비스 이름을 선택하여 해당 리소스 유형 및 ARN 형식을 확인합니다.

관련 용어

오류 - ARN 리전 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing ARN Region: Add a Region to the {{service}} resource ARN.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a Region to the {{service}} resource ARN."

오류 해결

대부분 AWS 서비스의 리소스 ARN에서는 리전을 지정해야 합니다. 각 리전에서 지원하는 AWS 서비스를 정리한 표는 리전 표를 참조하세요.

관련 용어

오류 - 효과 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing effect: Add an Effect element to the policy statement with a value of Allow or Deny.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add an Effect element to the policy statement with a value of Allow or Deny."

오류 해결

AWS JSON 정책에는 값이 AllowDenyEffect 요소가 있어야 합니다.

관련 용어

오류 - 보안 주체 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing principal: Add a Principal element to the policy statement.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a Principal element to the policy statement."

오류 해결

리소스 기반 정책에는 Principal 요소가 있어야 합니다.

예를 들어 모든 AWS 계정의 모든 사용자에 대한 액세스 권한을 정의하려면 정책에 다음 보안 주체를 사용합니다.

"Principal": { "AWS": "123456789012" }

관련 용어

오류 - 한정자 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing qualifier: The request context key ${key} has multiple values. Use the ForAllValues or ForAnyValue condition key qualifiers in your policy.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The request context key ${key} has multiple values. Use the ForAllValues or ForAnyValue condition key qualifiers in your policy."

오류 해결

Condition 요소에서 같음, 보다 작음 등의 조건 연산자를 사용하여 정책의 조건을 요청 컨텍스트의 키 및 값과 비교하는 표현식을 작성합니다. 단일 조건 키에 다수의 값이 포함된 요청일 경우에는 배열("Key2":["Value2A", "Value2B"])처럼 조건을 대괄호로 묶어야 합니다. 또한 ForAllValues 또는 ForAnyValue 집합 연산자는 StringLike 조건 연산자와 함께 사용해야 합니다. 이러한 한정자는 조건 연산자에 설정 작업 기능을 추가하므로 여러 요청 값을 여러 조건 값에 대해 테스트할 수 있습니다.

관련 용어

이 오류가 있는 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

다음 AWS 관리형 정책은 해당 정책 문에 조건 키의 한정자가 누락되어 있습니다. AWS 관리형 정책을 참조로 사용하여 고객 관리형 정책을 생성하는 경우 AWS에서는 Condition 요소에 ForAllValues 또는 ForAnyValue 조건 키를 추가하는 것을 권장합니다.

오류 - 리소스 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing resource: Add a Resource or NotResource element to the policy statement.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a Resource or NotResource element to the policy statement."

오류 해결

자격 증명 기반 정책에는 Resource 또는 NotResource 요소가 포함되어야 합니다.

관련 용어

오류 - 누락된 설명

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing statement: Add a statement to the policy

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a statement to the policy"

오류 해결

JSON 정책에는 설명이 포함되어야 합니다.

관련 용어

오류 - if exists의 Null

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Null with if exists: The Null condition operator cannot be used with the IfExists suffix. Update the operator or the suffix.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The Null condition operator cannot be used with the IfExists suffix. Update the operator or the suffix."

오류 해결

Null 조건 연산자를 제외하고 조건 연산자 이름 끝에 IfExists를 추가할 수 있습니다. Null 조건 연산자를 사용하여 권한을 부여하는 시점에 조건 키의 유무를 검사할 수 있습니다. ...ifExists를 사용하는 경우 "요청 컨텍스트에 정책 키가 있으면 정책에 지정된 대로 키를 처리하고, 키가 없으면 조건 요소를 true로 평가합니다."

관련 용어

오류 - SCP 구문 오류 작업 와일드카드

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

SCP syntax error action wildcard: SCP actions can include wildcards (*) only at the end of a string. Update {{action}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "SCP actions can include wildcards (*) only at the end of a string. Update {{action}}."

오류 해결

AWS Organizations 서비스 제어 정책(SCP)에서는 Action 또는 NotAction 요소의 값을 지정할 수 있습니다. 그러나 이러한 값에서는 문자열 끝에만 와일드카드(*)를 포함할 수 있습니다. 즉, iam:Get*는 지정할 수 있지만 iam:*role은 지정할 수 없습니다.

여러 작업을 지정하려면 AWS에서는 개별적으로 나열할 것을 권장합니다.

관련 용어

오류 - SCP 구문 오류 조건 허용

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

SCP syntax error allow condition: SCPs do not support the Condition element with effect Allow. Update the element Condition or the effect.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "SCPs do not support the Condition element with effect Allow. Update the element Condition or the effect."

오류 해결

AWS Organizations 서비스 제어 정책(SCP)에서는 "Effect": "Deny"를 사용하는 경우에만 Condition 요소의 값을 지정할 수 있습니다.

단일 작업만 허용하려면 ...NotEquals 버전의 조건 연산자를 사용하여 지정하는 조건을 제외한 모든 항목에 대한 액세스를 거부할 수 있습니다. 그러면 연산자를 통해 수행된 비교를 부정합니다.

관련 용어

오류 - SCP 구문 오류 NotAction 허용

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

SCP syntax error allow NotAction: SCPs do not support NotAction with effect Allow. Update the element NotAction or the effect.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "SCPs do not support NotAction with effect Allow. Update the element NotAction or the effect."

오류 해결

AWS Organizations 서비스 제어 정책(SCP)에서는 "Effect": "Allow"와 함께 NotAction 요소를 사용할 수 없습니다.

작업 목록을 허용하거나 나열되지 않은 모든 작업을 거부하도록 로직을 다시 작성해야 합니다.

관련 용어

오류 - SCP 구문 오류 리소스 허용

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

SCP syntax error allow resource: SCPs do not support Resource with effect Allow. Update the element Resource or the effect.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "SCPs do not support Resource with effect Allow. Update the element Resource or the effect."

오류 해결

AWS Organizations 서비스 제어 정책(SCP)에서는 "Effect": "Deny"를 사용하는 경우에만 Resource 요소의 값을 지정할 수 있습니다.

모든 리소스를 허용하거나 나열된 모든 리소스를 거부하도록 로직을 다시 작성해야 합니다.

관련 용어

오류 - SCP 구문 오류 NotResource

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

SCP syntax error NotResource: SCPs do not support the NotResource element. Update the policy to use Resource instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "SCPs do not support the NotResource element. Update the policy to use Resource instead."

오류 해결

AWS Organizations 서비스 제어 정책(SCP)에서는 NotResource 요소를 지원하지 않습니다.

모든 리소스를 허용하거나 나열된 모든 리소스를 거부하도록 로직을 다시 작성해야 합니다.

관련 용어

오류 - SCP 구문 오류 보안 주체

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

SCP syntax error principal: SCPs do not support specifying principals. Remove the Principal or NotPrincipal element.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "SCPs do not support specifying principals. Remove the Principal or NotPrincipal element."

오류 해결

AWS Organizations 서비스 제어 정책(SCP)에서는 Principal 또는 NotPrincipal 요소를 지원하지 않습니다.

Condition 요소에 aws:PrincipalArn 전역 조건 키를 사용하여 Amazon 리소스 이름(ARN)을 지정할 수 있습니다.

관련 용어

오류 - 고유 Sid 필요

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unique Sids required: Duplicate statement IDs are not supported for this policy type. Update the Sid value.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Duplicate statement IDs are not supported for this policy type. Update the Sid value."

오류 해결

일부 정책 유형의 경우 문 ID는 고유해야 합니다. Sid(문 ID) 요소를 사용하면 정책 문에 제공하는 선택적 식별자를 입력할 수 있습니다. SID 요소를 사용하여 문 배열의 각 문에 문 ID 값을 할당할 수 있습니다. SQS나 SNS처럼 ID 요소를 지정할 수 있는 서비스에서는 Sid 값이 정책 문서 ID의 하위 ID나 마찬가지입니다. 예를 들어 IAM에서 Sid 값은 JSON 정책 내에서 고유해야 합니다.

관련 용어

오류 – 정책에서 지원되지 않는 작업

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported action in policy: The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}."

오류 해결

일부 작업은 다른 리소스 유형에 연결된 리소스 기반 정책의 Action 요소에서 지원되지 않습니다. 예를 들어 Amazon S3 버킷 정책에서는 AWS Key Management Service 작업이 지원되지 않습니다. 리소스 기반 정책에 연결된 리소스 유형에서 지원하는 작업을 지정합니다.

관련 용어

오류 - 지원되지 않는 요소 조합

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported element combination: The policy elements ${element1} and ${element2} can not be used in the same statement. Remove one of these elements.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The policy elements ${element1} and ${element2} can not be used in the same statement. Remove one of these elements."

오류 해결

JSON 정책 요소의 일부 조합은 함께 사용할 수 없습니다. 예를 들어 동일한 정책 문에서 ActionNotAction 둘 다 사용할 수 없습니다. 함께 사용할 수 없는 다른 페어에는 Principal/NotPrincipalResource/NotResource가 있습니다.

관련 용어

오류 - 지원되지 않는 전역 조건 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported global condition key: The condition key aws:ARN is not supported. Use aws:PrincipalArn or aws:SourceArn instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key aws:ARN is not supported. Use aws:PrincipalArn or aws:SourceArn instead."

오류 해결

AWS에서는 지정된 전역 조건 키 사용을 지원하지 않습니다. 사용 사례에 따라 aws:PrincipalArn 또는 aws:SourceArn 전역 조건 키를 사용할 수 있습니다. 예를 들어 aws:ARN 대신 aws:PrincipalArn을 사용하여 요청을 한 보안 주체의 Amazon 리소스 이름(ARN)을 정책에서 지정한 ARN과 비교합니다. 또는 aws:SourceArn 전역 조건 키를 사용하여 서비스 대 서비스 요청을 하는 리소스의 Amazon 리소스 이름(ARN)을 정책에서 지정한 ARN과 비교합니다.

관련 용어

오류 - 지원되지 않는 보안 주체

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported principal: The policy type ${policy_type} does not support the Principal element. Remove the Principal element.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The policy type ${policy_type} does not support the Principal element. Remove the Principal element."

오류 해결

Principal 요소는 리소스에 대한 액세스가 허용되거나 거부되는 보안 주체를 지정합니다. IAM 자격 증명 기반 정책에서는 Principal 요소를 사용할 수 없습니다. IAM 역할을 위한 신뢰 정책 및 리소스 기반 정책에서는 사용할 수 있습니다. 리소스 기반 정책은 리소스에 직접 삽입할 수 있는 정책입니다. 예를 들어 Amazon S3 버킷 또는 AWS KMS 키에 정책을 포함할 수 있습니다.

관련 용어

오류 – 정책에서 지원되지 않는 리소스 ARN

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported resource ARN in policy: The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}."

오류 해결

일부 리소스 ARN은 정책이 다른 리소스 유형에 연결된 경우 리소스 기반 정책의 Resource 요소에서 지원되지 않습니다. 예를 들어 Amazon S3 버킷 정책에 대한 Resource 요소에서는 AWS KMS ARN이 지원되지 않습니다. 리소스 기반 정책에 연결된 리소스 유형에서 지원하는 리소스 ARN을 지정합니다.

관련 용어

오류 - 지원되지 않는 Sid

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported Sid: Update the characters in the Sid element to use one of the following character types: [a-z, A-Z, 0-9]

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Update the characters in the Sid element to use one of the following character types: [a-z, A-Z, 0-9]"

오류 해결

Sid 요소는 대문자, 소문자 및 숫자를 지원합니다.

관련 용어

오류 - 보안 주체에서 지원되지 않는 와일드카드

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported wildcard in principal: Wildcards (*, ?) are not supported with the principal key {{principal_key}}. Replace the wildcard with a valid principal value.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Wildcards (*, ?) are not supported with the principal key {{principal_key}}. Replace the wildcard with a valid principal value."

오류 해결

Principal 요소 구조는 키 값 페어 사용을 지원합니다. 정책에 지정된 보안 주체 값에는 와일드카드(*)가 포함됩니다. 지정한 보안 주체 키에는 와일드카드를 포함할 수 없습니다. 예를 들어 Principal 요소로 사용자를 지정할 때는 "모든 사용자"의 의미로 와일드카드를 사용할 수 없습니다. 특정 사용자 또는 사용자들의 이름을 지정해야 합니다. 마찬가지로 수임된 역할 세션을 지정할 때 “모든 세션”을 의미하는 와일드카드(*)를 사용할 수 없습니다. 특정 세션의 이름을 지정해야 합니다. 또한 이름이나 ARN의 일부와 일치하도록 하기 위해 와일드카드를 사용할 수 없습니다.

이 결과를 해결하려면 와일드카드를 제거하고 더 구체적인 보안 주체를 지정합니다.

관련 용어

오류 - 변수에 중괄호 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing brace in variable: The policy variable is missing a closing curly brace. Add } after the variable text.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The policy variable is missing a closing curly brace. Add } after the variable text."

오류 해결

정책 변수 구조에서는 $ 접두사와 그 뒤에 중괄호 페어({ })를 사용할 수 있습니다. ${ } 문자 안에는 정책에서 사용할 요청 값의 이름을 포함합니다.

이 결과를 해결하려면 열고 닫는 전체 중괄호 세트가 있도록 누락된 중괄호를 추가합니다.

관련 용어

오류 - 변수에 따옴표 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing quote in variable: The policy variable default value must begin and end with a single quote. Add the missing quote.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The policy variable default value must begin and end with a single quote. Add the missing quote."

오류 해결

정책에 변수를 추가할 때 변수의 기본값을 지정할 수 있습니다. 변수가 없는 경우 AWS은(는) 제공한 기본 텍스트를 사용합니다.

변수에 기본값을 추가하려면 기본값을 작은따옴표(' ')를 사용하고 변수 텍스트와 기본값을 쉼표와 공백(, )으로 묶습니다.

예를 들어, 보안 주체가 team=yellow(으)로 태그가 지정된 경우, DOC-EXAMPLE-BUCKET-yellow(이)라는 이름의 DOC-EXAMPLE-BUCKET Amazon S3 버킷에 액세스할 수 있습니다. 이 리소스를 사용하는 정책을 사용하면 팀 구성원이 자신의 리소스에 액세스할 수 있지만 다른 팀의 리소스에는 액세스할 수 없습니다. 팀 태그가 없는 사용자의 경우 company-wide의 기본값을 설정할 수 있습니다. 이러한 사용자는 팀 참여에 대한 지침과 같은 광범위한 정보를 볼 수 있는 DOC-EXAMPLE-BUCKET-company-wide 버킷에만 액세스할 수 있습니다.

"Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET-${aws:PrincipalTag/team, 'company-wide'}"

관련 용어

오류 - 변수에 지원되지 않는 공백

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported space in variable: A space is not supported within the policy variable text. Remove the space.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "A space is not supported within the policy variable text. Remove the space."

오류 해결

정책 변수 구조에서는 $ 접두사와 그 뒤에 중괄호 페어({ })를 사용할 수 있습니다. ${ } 문자 안에는 정책에서 사용할 요청 값의 이름을 포함합니다. 기본 변수를 지정할 때 공백을 포함할 수 있지만 변수 이름에는 공백을 포함할 수는 없습니다.

관련 용어

오류 - 빈 변수

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty variable: Empty policy variable. Remove the ${ } variable structure or provide a variable within the structure.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Empty policy variable. Remove the ${ } variable structure or provide a variable within the structure."

오류 해결

정책 변수 구조에서는 $ 접두사와 그 뒤에 중괄호 페어({ })를 사용할 수 있습니다. ${ } 문자 안에는 정책에서 사용할 요청 값의 이름을 포함합니다.

관련 용어

오류 - 요소에서 지원되지 않는 변수

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Variable unsupported in element: Policy variables are supported in the Resource and Condition elements. Remove the policy variable {{variable}} from this element.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Policy variables are supported in the Resource and Condition elements. Remove the policy variable {{variable}} from this element."

오류 해결

정책 변수는 Resource 요소를 비롯해 Condition 요소의 문자열 비교에 사용할 수 있습니다.

관련 용어

오류 - 버전에서 지원되지 않는 변수

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Variable unsupported in version: To include variables in your policy, use the policy version 2012-10-17 or later.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "To include variables in your policy, use the policy version 2012-10-17 or later."

오류 해결

정책 변수를 사용하려면 Version 요소를 포함하고 해당 요소를 정책 변수를 지원하는 버전으로 설정해야 합니다. 변수는 버전 2012-10-17에서 도입되었습니다. 정책 언어의 조기 버전은 정책 변수를 지원하지 않기 때문입니다. Version2012-10-17 이상으로 설정하지 않으면 ${aws:username}과 같은 변수가 정책에서 리터럴 문자열로 처리됩니다.

Version 정책 요소는 정책 버전과 다릅니다. Version 정책 요소는 정책 내에서 사용되며 정책 언어의 버전을 정의합니다. 정책 버전은 IAM에서 고객 관리형 정책을 변경할 때 생성됩니다. 변경된 정책은 기존 정책을 덮어쓰지 않습니다. 대신 IAM에서 관리형 정책의 새 버전을 생성합니다.

관련 용어

오류 - 프라이빗 IP 주소

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Private IP address: aws:SourceIp works only for public IP address ranges. The values for condition key aws:SourceIp include only private IP addresses and will not have the desired effect. Update the value to include only public IP addresses.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "aws:SourceIp works only for public IP address ranges. The values for condition key aws:SourceIp include only private IP addresses and will not have the desired effect. Update the value to include only public IP addresses."

오류 해결

전역 조건 키 aws:SourceIp는 퍼블릭 IP 주소 범위에만 적용됩니다. 정책에서 프라이빗 IP 주소만 허용하면 이 오류가 발생합니다. 이 경우 조건이 일치하지 않습니다.

오류 - 프라이빗 NotIpAddress

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Private NotIpAddress: The values for condition key aws:SourceIp include only private IP addresses and has no effect. aws:SourceIp works only for public IP address ranges. Update the value to include only public IP addresses.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The values for condition key aws:SourceIp include only private IP addresses and has no effect. aws:SourceIp works only for public IP address ranges. Update the value to include only public IP addresses."

오류 해결

전역 조건 키 aws:SourceIp는 퍼블릭 IP 주소 범위에만 적용됩니다. NotIpAddress 조건 연산자를 사용하고 프라이빗 IP 주소만 나열할 경우 이 오류가 발생합니다. 이 경우 조건이 항상 일치하고 적용되지 않습니다.

오류 - 정책 크기가 SCP 할당량 초과

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Policy size exceeds SCP quota: The {{policySize}} characters in the service control policy (SCP) exceed the {{policySizeQuota}} character maximum for SCPs. We recommend that you use multiple granular policies.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The {{policySize}} characters in the service control policy (SCP) exceed the {{policySizeQuota}} character maximum for SCPs. We recommend that you use multiple granular policies."

오류 해결

AWS Organizations 서비스 제어 정책(SCP)에서는 Action 또는 NotAction 요소의 값을 지정할 수 있습니다. 그러나 이러한 값에서는 문자열 끝에만 와일드카드(*)를 포함할 수 있습니다. 즉, iam:Get*는 지정할 수 있지만 iam:*role은 지정할 수 없습니다.

여러 작업을 지정하려면 AWS에서는 개별적으로 나열할 것을 권장합니다.

관련 용어

오류 - 잘못된 서비스 보안 주체 형식

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid service principal format: The service principal does not match the expected format. Use the format {{expectedFormat}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The service principal does not match the expected format. Use the format {{expectedFormat}}."

오류 해결

조건 키 값 페어의 값은 정의된 서비스 보안 주체 형식과 일치해야 합니다.

서비스 보안 주체는 서비스에 권한을 부여하는 데 사용되는 식별자입니다. Principal 요소에서 서비스 보안 주체를 지정하거나 일부 전역 조건 키와 서비스별 키의 값에 대한 값으로 지정할 수 있습니다. 서비스 보안 주체는 각 서비스에서 정의합니다.

서비스 보안 주체의 식별자에는 서비스 이름이 포함되어 있으며 일반적으로 모두 소문자로 된 다음 형식을 갖습니다.

service-name.amazonaws.com

일부 서비스별 키에서는 서비스 보안 주체에 다른 형식을 사용할 수 있습니다. 예를 들어 kms:ViaService 조건 키는 서비스 보안 주체에 대해 모두 소문자로 된 다음 형식이 필요합니다.

service-name.AWS_region.amazonaws.com

관련 용어

오류 - 조건에 태그 키 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing tag key in condition: The condition key {{conditionKeyName}} must include a tag key to control access based on tags. Use the format {{conditionKeyName}}tag-key and specify a key name for tag-key.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key {{conditionKeyName}} must include a tag key to control access based on tags. Use the format {{conditionKeyName}}tag-key and specify a key name for tag-key."

오류 해결

태그를 기반으로 액세스를 제어하려면 정책의 조건 요소에 태그 정보를 제공하세요.

예를 들어 AWS 리소스에 대한 액세스 제어하려면 aws:ResourceTag 조건 키를 포함합니다. 이 키에는 aws:ResourceTag/tag-key 형식이 필요합니다. 조건에서 태그 키 owner 및 태그 값 JaneDoe을 지정하려면 다음 형식을 사용합니다.

"Condition": { "StringEquals": {"aws:ResourceTag/owner": "JaneDoe"} }

관련 용어

오류 – 잘못된 vpc 형식

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid vpc format: The VPC identifier in the condition key value is not valid. Use the prefix 'vpc-' followed by 8 or 17 alphanumeric characters.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The VPC identifier in the condition key value is not valid. Use the prefix 'vpc-' followed by 8 or 17 alphanumeric characters."

오류 해결

aws:SourceVpc 조건 키는 접두사 vpc- 뒤에 8자 또는 17자의 영숫자 문자를 사용해야 합니다(예: vpc-11223344556677889 또는 vpc-12345678).

관련 용어

오류 – 잘못된 vpce 형식

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid vpce format: The VPCE identifier in the condition key value is not valid. Use the prefix 'vpce-' followed by 8 or 17 alphanumeric characters.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The VPCE identifier in the condition key value is not valid. Use the prefix 'vpce-' followed by 8 or 17 alphanumeric characters."

오류 해결

aws:SourceVpce 조건 키는 접두사 vpce- 뒤에 8자 또는 17자의 영숫자 문자를 사용해야 합니다(예: vpce-11223344556677889 또는 vpce-12345678).

관련 용어

오류 – 페더레이션 보안 주체가 지원되지 않음

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Federated principal not supported: The policy type does not support a federated identity provider in the principal element. Use a supported principal.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The policy type does not support a federated identity provider in the principal element. Use a supported principal."

오류 해결

Principal 요소는 IAM 역할에 연결된 신뢰 정책에 페더레이션 보안 주체를 사용하여 ID 페더레이션을 통한 액세스를 제공합니다. 자격 증명 정책 및 기타 리소스 기반 정책은 Principal 요소에서 페더레이션 자격 증명 공급자를 지원하지 않습니다. 예를 들어 Amazon S3 버킷 정책에서는 SAML 보안 주체를 사용할 수 없습니다. Principal 요소를 지원되는 보안 주체 유형으로 변경합니다.

관련 용어

오류 – 조건 키에 대해 지원되지 않는 작업

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported action for condition key: The following actions: {{actions}} are not supported by the condition key {{key}}. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The following actions: {{actions}} are not supported by the condition key {{key}}. The condition will not be evaluated for these actions. We recommend that you move these actions to a different statement without this condition key."

오류 해결

정책 설명문의 Condition 요소에 있는 조건 키가 Action 요소의 모든 작업에 적용되는지 확인해야 합니다. 지정한 작업이 정책에 의해 효과적으로 허용되거나 거부되도록 하려면 지원되지 않는 작업을 조건 키 없는 다른 설명문으로 이동해야 합니다.

참고

Action 요소에 와일드카드가 있는 경우 IAM Access Analyzer는 이 오류에 대해 이러한 작업을 평가하지 않습니다.

관련 용어

오류 – 정책에서 지원되지 않는 작업

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported action in policy: The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The action {{action}} is not supported for the resource-based policy attached to the resource type {{resourceType}}."

오류 해결

일부 작업은 다른 리소스 유형에 연결된 리소스 기반 정책의 Action 요소에서 지원되지 않습니다. 예를 들어 Amazon S3 버킷 정책에서는 AWS Key Management Service 작업이 지원되지 않습니다. 리소스 기반 정책에 연결된 리소스 유형에서 지원하는 작업을 지정합니다.

관련 용어

오류 – 정책에서 지원되지 않는 리소스 ARN

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported resource ARN in policy: The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The resource ARN is not supported for the resource-based policy attached to the resource type {{resourceType}}."

오류 해결

일부 리소스 ARN은 정책이 다른 리소스 유형에 연결된 경우 리소스 기반 정책의 Resource 요소에서 지원되지 않습니다. 예를 들어 Amazon S3 버킷 정책에 대한 Resource 요소에서는 AWS KMS ARN이 지원되지 않습니다. 리소스 기반 정책에 연결된 리소스 유형에서 지원하는 리소스 ARN을 지정합니다.

관련 용어

오류 – 서비스 보안 주체에 대해 지원되지 않는 조건 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unsupported condition key for service principal: The following condition keys are not supported when used with the service principal: {{conditionKeys}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The following condition keys are not supported when used with the service principal: {{conditionKeys}}."

오류 해결

서비스 보안 주체를 사용하는 리소스 기반 정책의 Principal 요소에서 AWS 서비스, 즉 서비스에 대한 식별자를 지정할 수 있습니다. 특정 서비스 보안 주체에는 일부 조건 키를 사용할 수 없습니다. 예를 들어, 서비스 보안 주체 cloudfront.amazonaws.com이(가) 있는 aws:PrincipalOrgID 조건 키를 사용할 수 없습니다. Principal 요소에서 서비스 보안 주체에 적용되지 않는 조건 키를 제거해야 합니다.

관련 용어

오류 – 주체가 아닌 역할 신뢰 정책 구문 오류

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Role trust policy syntax error notprincipal: Role trust policies do not support NotPrincipal. Update the policy to use a Principal element instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Role trust policies do not support NotPrincipal. Update the policy to use a Principal element instead."

오류 해결

역할 신뢰 정책은 IAM 역할에 연결된 리소스 기반 정책입니다. 신뢰 정책은 역할을 수임할 수 있는 보안 주체 엔터티(계정, 사용자, 역할 및 페더레이션 사용자)를 정의합니다. 역할 신뢰 정책은 NotPrincipal을 지원하지 않습니다. 대신 Principal 요소를 사용하도록 정책을 업데이트하세요.

관련 용어

오류 – 주체에서 지원되지 않은 역할 신뢰 정책

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Role trust policy unsupported wildcard in principal: "Principal:" "*" is not supported in the principal element of a role trust policy. Replace the wildcard with a valid principal value.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": ""Principal:" "*" is not supported in the principal element of a role trust policy. Replace the wildcard with a valid principal value."

오류 해결

역할 신뢰 정책은 IAM 역할에 연결된 리소스 기반 정책입니다. 신뢰 정책은 역할을 수임할 수 있는 보안 주체 엔터티(계정, 사용자, 역할 및 페더레이션 사용자)를 정의합니다. "Principal:" "*"은 역할 신뢰 정책의 Principal 요소에서 지원되지 않습니다. 유용한 보안 주체 값으로 와일드카드를 바꿉니다.

관련 용어

오류 – 역할 신뢰 정책 구문 오류 리소스

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Role trust policy syntax error resource: Role trust policies apply to the role that they are attached to. You cannot specify a resource. Remove the Resource or NotResource element.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Role trust policies apply to the role that they are attached to. You cannot specify a resource. Remove the Resource or NotResource element."

오류 해결

역할 신뢰 정책은 IAM 역할에 연결된 리소스 기반 정책입니다. 신뢰 정책은 역할을 수임할 수 있는 보안 주체 엔터티(계정, 사용자, 역할 및 페더레이션 사용자)를 정의합니다. 역할 신뢰 정책은 자신이 연결된 역할에 적용됩니다. 역할 신뢰 정책에서 Resource 또는 NotResource 요소를 지정할 수 없습니다. Resource 또는 NotResource 요소를 제거합니다.

오류 - 형식 불일치 IP 범위

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Type mismatch IP range: The condition operator {{operator}} is used with an invalid IP range value. Specify the IP range in standard CIDR format.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition operator {{operator}} is used with an invalid IP range value. Specify the IP range in standard CIDR format."

오류 해결

CIDR 형식의 IP 주소 조건 연산자 데이터 형식을 사용하도록 텍스트를 업데이트합니다.

관련 용어

오류 – 조건 키에 대한 작업 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing action for condition key: The {{actionName}} action must be in the action block to allow setting values for the condition key {{keyName}}. Add {{actionName}} to the action block.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The {{actionName}} action must be in the action block to allow setting values for the condition key {{keyName}}. Add {{actionName}} to the action block."

오류 해결

정책 문의 Condition 요소에 있는 조컨 키는 지정된 작업이 Action 요소에 있지 않는 한 평가되지 않습니다. 지정한 조건 키가 정책에서 효과적으로 허용/거부되도록 하려면 작업을 Action 요소에 추가합니다.

관련 용어

오류 – 역할 신뢰 정책에 잘못된 연동 보안 주체 구문

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid federated principal syntax in role trust policy: The principal value specifies a federated principal that does not match the expected format. Update the federated principal to a domain name or a SAML metadata ARN.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The principal value specifies a federated principal that does not match the expected format. Update the federated principal to a domain name or a SAML metadata ARN."

오류 해결

보안 주체 값은 예상 형식과 일치하지 않는 연동된 보안 주체를 지정합니다. 연동된 보안 주체의 형식을 유효한 도메인 이름이나 SAML 메타데이터 ARL으로 업데이트합니다.

관련 용어

오류 – 보안 주체에 대한 작업이 일치하지 않음

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Mismatched action for principal: The {{actionName}} action is invalid with the following principal(s): {{principalNames}}. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The {{actionName}} action is invalid with the following principal(s): {{principalNames}}. Use a SAML provider principal with the sts:AssumeRoleWithSAML action or use an OIDC provider principal with the sts:AssumeRoleWithWebIdentity action. Ensure the provider is Federated if you use either of the two options."

오류 해결

정책 문의 Action 요소에서 지정된 작업은 Principal 요소에 지정된 보안 주체에 유효하지 않습니다. 예를 들어 sts:AssumeRoleWithWebIdentity 작업과 SAML 공급자 보안 주체를 사용할 수 없습니다. sts:AssumeRoleWithSAML 작업과 함께 SAML 공급자 보안 주체를 사용하거나 sts:AssumeRoleWithWebIdentity 작업과 함께 OIDC 공급자 보안 주체를 사용해야 합니다.

관련 용어

오류 – 신뢰 정책이 있는 역할에 대한 작업 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing action for roles anywhere trust policy: The rolesanywhere.amazonaws.com service principal requires the sts:AssumeRole, sts:SetSourceIdentity, and sts:TagSession permissions to assume a role. Add the missing permissions to the policy.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The rolesanywhere.amazonaws.com service principal requires the sts:AssumeRole, sts:SetSourceIdentity, and sts:TagSession permissions to assume a role. Add the missing permissions to the policy."

오류 해결

IAM Roles Anywhere가 역할을 수입하고 임시 AWS 자격 증명을 제공할 수 있으려면 역할에서 IAM Roles Anywhere 서비스 보안 주체를 신뢰해야 합니다. IAM Roles Anywhere 서비스 보안 주체는 역할을 수임하기 위한 sts:AssumeRole, sts:SetSourceIdentity, sts:TagSession 권한이 필요합니다. 이 권한 중 하나라도 누락되면 정책에 추가해야 합니다.

관련 용어

일반 경고 - NotResource를 사용하여 SLR 생성

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Create SLR with NotResource: Using the iam:CreateServiceLinkedRole action with NotResource can allow creation of unintended service-linked roles for multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the iam:CreateServiceLinkedRole action with NotResource can allow creation of unintended service-linked roles for multiple resources. We recommend that you specify resource ARNs instead."

일반 경고 해결

iam:CreateServiceLinkedRole 작업은 AWS 서비스가 대신 작업을 수행할 수 있도록 허용하는 IAM 역할을 생성할 권한을 부여합니다. 정책에서 iam:CreateServiceLinkedRoleNotResource 요소와 함께 사용하면 여러 리소스에 대해 의도하지 않은 서비스 연결 역할 생성을 허용할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다.

일반 경고 - Action에 별표와 NotResource를 사용하여 SLR 생성

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Create SLR with star in action and NotResource: Using an action with a wildcard(*) and NotResource can allow creation of unintended service-linked roles because it can allow iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using an action with a wildcard(*) and NotResource can allow creation of unintended service-linked roles because it can allow iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

일반 경고 해결

iam:CreateServiceLinkedRole 작업은 AWS 서비스가 대신 작업을 수행할 수 있도록 허용하는 IAM 역할을 생성할 권한을 부여합니다. 정책에서 Action에 와일드카드(*)를 사용하고 NotResource 요소를 포함하면 여러 리소스에 대해 의도하지 않은 서비스 연결 역할 생성을 허용할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다.

일반 경고 - NotAction 및 NotResource를 사용하여 SLR 생성

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Create SLR with NotAction and NotResource: Using NotAction with NotResource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using NotAction with NotResource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

일반 경고 해결

iam:CreateServiceLinkedRole 작업은 AWS 서비스가 대신 작업을 수행할 수 있도록 허용하는 IAM 역할을 생성할 권한을 부여합니다. NotAction 요소를 NotResource 요소와 함께 사용하면 여러 리소스에 대해 의도하지 않은 서비스 연결 역할 생성을 허용할 수 있습니다. AWS에서는 대신 Resource 요소에 제한된 ARN 목록에서 iam:CreateServiceLinkedRole을 허용하도록 정책을 다시 작성할 것을 권장합니다. iam:CreateServiceLinkedRoleNotAction 요소에 추가할 수도 있습니다.

일반 경고 - Resource에 별표를 사용하여 SLR 생성

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Create SLR with star in resource: Using the iam:CreateServiceLinkedRole action with wildcards (*) in the resource can allow creation of unintended service-linked roles. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the iam:CreateServiceLinkedRole action with wildcards (*) in the resource can allow creation of unintended service-linked roles. We recommend that you specify resource ARNs instead."

일반 경고 해결

iam:CreateServiceLinkedRole 작업은 AWS 서비스가 대신 작업을 수행할 수 있도록 허용하는 IAM 역할을 생성할 권한을 부여합니다. 정책에서 iam:CreateServiceLinkedRole을 사용할 때 Resource 요소에 와일드카드(*)를 포함하면 여러 리소스에 대해 의도하지 않은 서비스 연결 역할 생성을 허용할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다.

이 일반 경고가 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

이러한 사용 사례 중 일부는 계정 내의 고급 사용자를 위한 것입니다. 다음 AWS 관리형 정책은 고급 사용자 액세스 권한을 제공하고 모든 AWS 서비스를 위한 서비스 연결 역할을 생성할 수 있는 권한을 부여합니다. AWS에서는 다음 AWS 관리형 정책을 고급 사용자로 간주하는 IAM 자격 증명에만 연결할 것을 권장합니다.

일반 경고 - Action 및 Resource에 별표를 사용하여 SLR 생성

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Create SLR with star in action and resource: Using wildcards (*) in the action and the resource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using wildcards (*) in the action and the resource can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead."

일반 경고 해결

iam:CreateServiceLinkedRole 작업은 AWS 서비스가 대신 작업을 수행할 수 있도록 허용하는 IAM 역할을 생성할 권한을 부여합니다. 정책에서 ActionResource요소에 와일드카드(*)를 사용하면 여러 리소스에 대해 의도하지 않은 서비스 연결 생성을 허용할 수 있습니다. 이 경우 "Action": "*", "Action": "iam:*" 또는 "Action": "iam:Create*"를 지정하여 서비스 연결 역할을 생성할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다.

이 일반 경고가 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

이러한 사용 사례 중 일부는 계정 내의 관리자를 위한 것입니다. 다음 AWS 관리형 정책은 관리자 액세스 권한을 제공하고 모든 AWS 서비스를 위한 서비스 연결 역할을 생성할 수 있는 권한을 부여합니다. AWS에서는 다음 AWS 관리형 정책을 관리자로 간주하는 IAM 자격 증명에만 연결할 것을 권장합니다.

일반 경고 - Resource에 별표와 NotAction을 사용하여 SLR 생성

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Create SLR with star in resource and NotAction: Using a resource with wildcards (*) and NotAction can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using a resource with wildcards (*) and NotAction can allow creation of unintended service-linked roles because it allows iam:CreateServiceLinkedRole permissions on all resources. We recommend that you specify resource ARNs instead."

일반 경고 해결

iam:CreateServiceLinkedRole 작업은 AWS 서비스가 대신 작업을 수행할 수 있도록 허용하는 IAM 역할을 생성할 권한을 부여합니다. 정책에서 NotAction 요소를 사용할 때 Resource 요소에 와일드카드(*)를 포함하면 여러 리소스에 대해 의도하지 않은 서비스 연결 역할 생성을 허용할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다. iam:CreateServiceLinkedRoleNotAction 요소에 추가할 수도 있습니다.

일반 경고 - 사용되지 않는 전역 조건 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Deprecated global condition key: We recommend that you update aws:ARN to use the newer condition key aws:PrincipalArn.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "We recommend that you update aws:ARN to use the newer condition key aws:PrincipalArn."

일반 경고 해결

정책에 사용되지 않는 전역 조건 키가 포함되어 있습니다. 지원되는 전역 조건 키를 사용하도록 조건 키 값 페어의 조건 키를 업데이트합니다.

일반 경고 - 잘못된 날짜 값

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid date value: The date {{date}} might not resolve as expected. We recommend that you use the YYYY-MM-DD format.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The date {{date}} might not resolve as expected. We recommend that you use the YYYY-MM-DD format."

일반 경고 해결

Unix Epoch 시간은 1970년 1월 1일 이후 경과한 시점, 즉 음의 윤초를 나타냅니다. Epoch 시간이 예상하는 정확한 시간으로 확인되지 않을 수도 있습니다. AWS에서는 날짜 및 시간 형식으로 W3C 표준을 사용할 것을 권장합니다. 예를 들어 YYYY-MM-DD (1997-07-16)과 같이 전체 날짜를 지정하거나 YYYY-MM-DDThh:mm:ssTZD (1997-07-16T19:20:30+01:00)과 같이 초까지 시간을 추가할 수 있습니다.

일반 경고 - 잘못된 역할 참조

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid role reference: The Principal element includes the IAM role ID {{roleid}}. We recommend that you use a role ARN instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The Principal element includes the IAM role ID {{roleid}}. We recommend that you use a role ARN instead."

일반 경고 해결

AWS에서는 IAM 역할의 보안 주체 ID 대신 Amazon 리소스 이름(ARN)을 지정할 것을 권장합니다. IAM에서 정책을 저장할 때 ARN을 기존 역할의 보안 주체 ID로 변환합니다. AWS에는 안전 예방 조치가 포함되어 있습니다. 누군가가 역할을 삭제하고 다시 생성하면 역할에 새 ID가 지정되고 정책이 새 역할의 ID와 일치하지 않게 됩니다.

일반 경고 - 잘못된 사용자 참조

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Invalid user reference: The Principal element includes the IAM user ID {{userid}}. We recommend that you use a user ARN instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The Principal element includes the IAM user ID {{userid}}. We recommend that you use a user ARN instead."

일반 경고 해결

AWS에서는 IAM 사용자의 보안 주체 ID 대신 Amazon 리소스 이름(ARN)을 지정할 것을 권장합니다. IAM에서 정책을 저장할 때 ARN을 기존 사용자의 보안 주체 ID로 변환합니다. AWS에는 안전 예방 조치가 포함되어 있습니다. 누군가가 사용자를 삭제하고 다시 생성하면 사용자에 새 ID가 지정되고 정책이 새 사용자의 ID와 일치하지 않게 됩니다.

일반 경고 - 버전 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing version: We recommend that you specify the Version element to help you with debugging permission issues.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "We recommend that you specify the Version element to help you with debugging permission issues."

일반 경고 해결

AWS에서는 정책에 선택적 Version 파라미터를 포함할 것을 권장합니다. Version 요소를 포함하지 않을 경우의 기본값은 2012-10-17이지만 정책 변수 등 최신 기능을 정책에서 사용할 수 없습니다. 예를 들어 ${aws:username} 같은 변수가 정책에서 변수로 인식되지 않고 리터럴 문자열로 취급됩니다.

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Unique Sids recommended: We recommend that you use statement IDs that are unique to your policy. Update the Sid value.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "We recommend that you use statement IDs that are unique to your policy. Update the Sid value."

일반 경고 해결

AWS에서는 고유한 문 ID를 사용할 것을 권장합니다. Sid(문 ID) 요소를 사용하면 정책 문에 제공하는 선택적 식별자를 입력할 수 있습니다. SID 요소를 사용하여 문 배열의 각 문에 문 ID 값을 할당할 수 있습니다.

관련 용어

일반 경고 - Like 연산자가 없는 와일드카드

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Wildcard without like operator: Your condition value includes a * or ? character. If you meant to use a wildcard (*, ?), update the condition operator to include Like.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Your condition value includes a * or ? character. If you meant to use a wildcard (*, ?), update the condition operator to include Like."

일반 경고 해결

Condition 요소 구조에서는 조건 연산자와 키 값 페어를 사용해야 합니다. 와일드카드(*, ?)를 사용하는 조건 값을 지정하는 경우 조건 연산자의 Like 버전을 사용해야 합니다. 예를 들어 StringEquals 문자열 조건 연산자 대신 StringLike를 사용합니다.

"Condition": {"StringLike": {"aws:PrincipalTag/job-category": "admin-*"}}

이 일반 경고가 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

다음 AWS 관리형 정책은 패턴 일치를 위한 Like를 포함하는 조건 연산자 없이 조건 값에 와일드카드를 포함합니다. AWS 관리형 정책을 참조로 사용하여 고객 관리형 정책을 생성하는 경우 AWS에서는 StringLike와 같이 와일드카드(*, ?)를 사용한 패턴 일치를 지원하는 조건 연산자를 사용할 것을 권장합니다.

일반 경고 - 정책 크기가 자격 증명 정책 할당량 초과

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Policy size exceeds identity policy quota: The {{policySize}} characters in the identity policy, excluding whitespace, exceed the {{policySizeQuota}} character maximum for inline and managed policies. We recommend that you use multiple granular policies.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The {{policySize}} characters in the identity policy, excluding whitespace, exceed the {{policySizeQuota}} character maximum for inline and managed policies. We recommend that you use multiple granular policies."

일반 경고 해결

IAM 자격 증명(사용자, 사용자 그룹 또는 역할)에 최대 10개의 관리형 정책을 연결할 수 있습니다. 하지만 각 관리형 정책의 크기는 기본 할당량인 6,144자를 초과할 수 없습니다. IAM은 이 할당량을 기준으로 정책의 크기를 계산할 때 공백을 계산하지 않습니다. AWS에서 제한이라고도 하는 할당량은 AWS 계정의 리소스, 작업, 항목의 최댓값입니다.

또한 원하는 만큼의 인라인 정책을 IAM 자격 증명에 추가할 수 있습니다. 그러나 자격 증명당 모든 인라인 정책의 크기 합계는 지정된 할당량을 초과할 수 없습니다.

정책이 할당량보다 큰 경우 정책을 여러 문으로 구성하고 문을 여러 정책으로 그룹화할 수 있습니다.

관련 용어

이 일반 경고가 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

다음 AWS 관리형 정책은 여러 AWS 서비스 대상의 작업에 대한 권한을 부여하고 최대 정책 크기를 초과합니다. AWS 관리형 정책을 참조로 사용하여 고객 관리형 정책을 생성하는 경우 해당 정책을 여러 정책으로 분할해야 합니다.

일반 경고 - 정책 크기가 리소스 정책 할당량 초과

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Policy size exceeds resource policy quota: The {{policySize}} characters in the resource policy exceed the {{policySizeQuota}} character maximum for resource policies. We recommend that you use multiple granular policies.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The {{policySize}} characters in the resource policy exceed the {{policySizeQuota}} character maximum for resource policies. We recommend that you use multiple granular policies."

일반 경고 해결

리소스 기반 정책은 Amazon S3 버킷과 같은 리소스에 연결하는 JSON 정책 문서입니다. 이러한 정책은 지정된 보안 주체에 해당 리소스에 대한 특정 작업을 수행할 수 있는 권한을 부여하고 이러한 권한이 적용되는 조건을 정의합니다. 리소스 기반 정책의 크기는 해당 리소스에 대해 설정된 할당량을 초과할 수 없습니다. AWS에서 제한이라고도 하는 할당량은 AWS 계정의 리소스, 작업, 항목의 최댓값입니다.

정책이 할당량보다 큰 경우 정책을 여러 문으로 구성하고 문을 여러 정책으로 그룹화할 수 있습니다.

관련 용어

일반 경고 - 형식 불일치

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Type mismatch: Use the operator type {{allowed}} instead of operator {{operator}} for the condition key {{key}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Use the operator type {{allowed}} instead of operator {{operator}} for the condition key {{key}}."

일반 경고 해결

지원되는 조건 연산자 데이터 형식을 사용하도록 텍스트를 업데이트합니다.

예를 들어 aws:MultiFactorAuthPresent 전역 조건 키에는 Boolean 데이터 형식의 조건 연산자가 필요합니다. 날짜 또는 정수를 지정하면 데이터 형식이 일치하지 않습니다.

관련 용어

일반 경고 - 형식 불일치 부울

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Type mismatch Boolean: Add a valid Boolean value (true or false) for the condition operator {{operator}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a valid Boolean value (true or false) for the condition operator {{operator}}."

일반 경고 해결

true 또는 false와 같은 부울 조건 연산자 데이터 형식을 사용하도록 텍스트를 업데이트합니다.

예를 들어 aws:MultiFactorAuthPresent 전역 조건 키에는 Boolean 데이터 형식의 조건 연산자가 필요합니다. 날짜 또는 정수를 지정하면 데이터 형식이 일치하지 않습니다.

관련 용어

일반 경고 - 형식 불일치 날짜

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Type mismatch date: The date condition operator is used with an invalid value. Specify a valid date using YYYY-MM-DD or other ISO 8601 date/time format.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The date condition operator is used with an invalid value. Specify a valid date using YYYY-MM-DD or other ISO 8601 date/time format."

일반 경고 해결

YYYY-MM-DD 또는 다른 ISO 8601 날짜 시간 형식의 날짜 조건 연산자 데이터 형식을 사용하도록 텍스트를 업데이트합니다.

관련 용어

일반 경고 - 형식 불일치 숫자

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Type mismatch number: Add a valid numeric value for the condition operator {{operator}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a valid numeric value for the condition operator {{operator}}."

일반 경고 해결

숫자 조건 연산자 데이터 형식을 사용하도록 텍스트를 업데이트합니다.

관련 용어

일반 경고 - 형식 불일치 문자열

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Type mismatch string: Add a valid base64-encoded string value for the condition operator {{operator}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a valid base64-encoded string value for the condition operator {{operator}}."

일반 경고 해결

문자열 조건 연산자 데이터 형식을 사용하도록 텍스트를 업데이트합니다.

관련 용어

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Specific github repo and branch recommended: Using a wildcard (*) in token.actions.githubusercontent.com:sub can allow requests from more sources than you intended. Specify the value of token.actions.githubusercontent.com:sub with the repository and branch name.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using a wildcard (*) in token.actions.githubusercontent.com:sub can allow requests from more sources than you intended. Specify the value of token.actions.githubusercontent.com:sub with the repository and branch name."

일반 경고 해결

GitHub를 OIDC IdP로 사용하는 경우 IAM IdP와 연결된 역할을 수임할 수 있는 엔터티를 제한하는 것이 좋습니다. 역할 신뢰 정책에 Condition 문을 포함하면 특정 GitHub 조직, 리포지토리 또는 분기로 역할을 제한할 수 있습니다. 조건 키 token.actions.githubusercontent.com:sub를 사용하여 액세스를 제한할 수 있습니다. 특정 리포지토리 또는 분기 세트로 조건을 제한하는 것이 좋습니다. token.actions.githubusercontent.com:sub에 와일드카드(*)를 사용할 경우, 자신이 제어할 수 없는 조직 또는 리포지토리의 GitHub 작업이 AWS 계정의 GitHub IAM IdP와 연결된 역할을 수임할 수 있습니다.

관련 용어

일반 경고 – 정책 크기가 역할 신뢰 정책 할당량 초과

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Policy size exceeds role trust policy quota: The characters in the role trust policy, excluding whitespace, exceed the character maximum. We recommend that you request a role trust policy length quota increase using Service Quotas and AWS Support Center. If the quotas have already been increased, then you can ignore this warning.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The characters in the role trust policy, excluding whitespace, exceed the character maximum. We recommend that you request a role trust policy length quota increase using Service Quotas and AWS Support Center. If the quotas have already been increased, then you can ignore this warning."

일반 경고 해결

IAM 및 AWS STS는 역할 신뢰 정책의 크기를 제한하는 할당량이 있습니다. 공백을 제외한 역할 신뢰 정책의 문자가 문자 최댓값을 초과합니다. Service Quotas 및 AWS Support Center Console을 사용하여 역할 신뢰 정책 길이 할당량을 높이는 것이 좋습니다.

관련 용어

보안 경고 - NotPrincipal을 사용하여 허용

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Allow with NotPrincipal: Using Allow with NotPrincipal can be overly permissive. We recommend that you use Principal instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using Allow with NotPrincipal can be overly permissive. We recommend that you use Principal instead."

보안 경고 해결

"Effect": "Allow"NotPrincipal과 함께 사용하면 자나치게 허용적일 수 있습니다. 예를 들어 익명 보안 주체에게 권한을 부여할 수 있습니다. AWS에서는 Principal 요소를 사용하여 액세스 권한이 필요한 보안 주체를 지정할 것을 권장합니다. 또는 광범위한 액세스 권한을 허용한 다음 NotPrincipal 요소를 “Effect”: “Deny”와 함께 사용하는 다른 문을 추가할 수 있습니다.

보안 경고 - 단일 값 키의 AllValues

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

ForAllValues with single valued key: Using ForAllValues qualifier with the single-valued condition key {{key}} can be overly permissive. We recommend that you remove ForAllValues:.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using ForAllValues qualifier with the single-valued condition key {{key}} can be overly permissive. We recommend that you remove ForAllValues:."

보안 경고 해결

AWS에서는 ForAllValues를 다중 값 조건에만 사용할 것을 권장합니다. ForAllValues 집합 연산자는 요청 집합의 모든 멤버 값이 조건 키 집합의 하위 집합인지를 테스트합니다. 요청의 모든 키 값이 정책에 있는 하나 이상의 값과 일치하면 조건이 true를 반환합니다. 요청에 키가 없거나 키 값이 빈 문자열과 같은 null 데이터 세트로 확인되는 경우에도 true를 반환합니다.

조건이 단일 값을 지원하는지 아니면 다중 값을 지원하는지 알아보려면 서비스에 대한 작업, 리소스 및 조건 키를 검토하세요. ArrayOf 데이터 유형 접두사가 있는 조건 키는 다중 값 조건 키입니다. 예를 들어 Amazon SES는 단일 값(String)을 가진 키와 ArrayOfString 다중 값 데이터 유형을 지원합니다.

보안 경고 - NotResource를 사용하여 역할 전달

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Pass role with NotResource: Using the iam:PassRole action with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the iam:PassRole action with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

보안 경고 해결

다수의 AWS 서비스를 구성하려면 IAM 역할을 서비스에 전달해야 합니다. 이를 허용하려면 자격 증명(사용자, 사용자 그룹 또는 역할)에 iam:PassRole 권한을 부여해야 합니다. NotResource 요소가 있는 정책에 iam:PassRole을 사용하면 보안 주체가 의도한 것보다 많은 서비스 또는 기능에 액세스할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다. 또한 iam:PassedToService 조건 키를 사용하여 권한을 단일 서비스로 줄일 수 있습니다.

보안 경고 - Action에 별표 및 NotResource를 사용하여 역할 전달

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Pass role with star in action and NotResource: Using an action with a wildcard (*) and NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using an action with a wildcard (*) and NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs instead."

보안 경고 해결

다수의 AWS 서비스를 구성하려면 IAM 역할을 서비스에 전달해야 합니다. 이를 허용하려면 자격 증명(사용자, 사용자 그룹 또는 역할)에 iam:PassRole 권한을 부여해야 합니다. NotResource 요소를 포함하는 정책에서 Action에 와일드카드(*)를 사용하면 보안 주체가 의도한 것보다 많은 서비스 또는 기능에 액세스할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다. 또한 iam:PassedToService 조건 키를 사용하여 권한을 단일 서비스로 줄일 수 있습니다.

보안 경고 - NotAction 및 NotResource를 사용하여 역할 전달

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Pass role with NotAction and NotResource: Using NotAction with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources.. We recommend that you specify resource ARNs instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using NotAction with NotResource can be overly permissive because it can allow iam:PassRole permissions on multiple resources.. We recommend that you specify resource ARNs instead."

보안 경고 해결

다수의 AWS 서비스를 구성하려면 IAM 역할을 서비스에 전달해야 합니다. 이를 허용하려면 자격 증명(사용자, 사용자 그룹 또는 역할)에 iam:PassRole 권한을 부여해야 합니다. NotAction 요소를 사용하여 NotResource 요소의 일부 리소스를 나열하면 보안 주체가 의도한 것보다 많은 서비스 또는 기능에 액세스할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다. 또한 iam:PassedToService 조건 키를 사용하여 권한을 단일 서비스로 줄일 수 있습니다.

보안 경고 - Resource에 별표를 사용하여 역할 전달

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Pass role with star in resource: Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement."

보안 경고 해결

다수의 AWS 서비스를 구성하려면 IAM 역할을 서비스에 전달해야 합니다. 이를 허용하려면 자격 증명(사용자, 사용자 그룹 또는 역할)에 iam:PassRole 권한을 부여해야 합니다. iam:PassRole을 허용하는 정책에서 Resource 요소에 와일드카드(*)를 포함하면 보안 주체가 의도한 것보다 많은 서비스 또는 기능에 액세스할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다. 또한 iam:PassedToService 조건 키를 사용하여 권한을 단일 서비스로 줄일 수 있습니다.

일부 AWS 서비스는 해당 역할 이름에 서비스 네임스페이스를 포함합니다. 이 정책 검사는 정책을 분석하는 중 이러한 규칙을 고려하여 결과를 생성합니다. 예를 들어 다음 리소스 ARN은 결과를 생성하지 않을 수 있습니다.

arn:aws:iam::*:role/Service*

이 보안 경고가 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

이러한 사용 사례 중 하나는 계정 내의 관리자를 위한 것입니다. 다음 AWS 관리형 정책은 관리자 액세스 권한을 제공하고 모든 서비스에 IAM 역할을 전달할 수 있는 권한을 부여합니다. AWS에서는 다음 AWS 관리형 정책을 관리자로 간주하는 IAM 자격 증명에만 연결할 것을 권장합니다.

다음 AWS 관리형 정책은 리소스에 와일드카드(*)를 사용하는 iam:PassRole에 대한 권한을 포함하며 사용 중단 경로에 있습니다. 이러한 각 정책에 대해 권한 지침을 업데이트했습니다(예: 사용 사례를 지원하는 새 AWS 관리형 정책 추천). 이러한 정책의 대안을 확인하려면 각 서비스의 가이드를 참조하세요.

  • AWSElasticBeanstalkFullAccess

  • AWSElasticBeanstalkService

  • AWSLambdaFullAccess

  • AWSLambdaReadOnlyAccess

  • AWSOpsWorksFullAccess

  • AWSOps워크롤

  • AWSDataPipelineRole

  • AmazonDynamoDBFullAccesswithDataPipeline

  • AmazonElasticMapReduceFullAccess

  • AmazonDynamoDBFullAccesswithDataPipeline

  • AmazonEC2ContainerServiceFullAccess

다음 AWS 관리형 정책은 AWS 서비스에서 사용자 대신 작업을 수행하도록 허용하는 서비스 연결 역할에만 권한을 제공합니다. 이러한 정책은 IAM 자격 증명에 연결할 수 없습니다.

보안 경고 - Action 및 Resource에 별표를 사용하여 역할 전달

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Pass role with star in action and resource: Using wildcards (*) in the action and the resource can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using wildcards (*) in the action and the resource can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement."

보안 경고 해결

다수의 AWS 서비스를 구성하려면 IAM 역할을 서비스에 전달해야 합니다. 이를 허용하려면 자격 증명(사용자, 사용자 그룹 또는 역할)에 iam:PassRole 권한을 부여해야 합니다. 정책에서 Action에 와일드카드(*)를 사용하고 Resource 요소를 포함하면 보안 주체가 의도한 것보다 많은 서비스 또는 기능에 액세스할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다. 또한 iam:PassedToService 조건 키를 사용하여 권한을 단일 서비스로 줄일 수 있습니다.

이 보안 경고가 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

이러한 사용 사례 중 일부는 계정 내의 관리자를 위한 것입니다. 다음 AWS 관리형 정책은 관리자 액세스 권한을 제공하고 모든 AWS 서비스에 IAM 역할을 전달할 수 있는 권한을 부여합니다. AWS에서는 다음 AWS 관리형 정책을 관리자로 간주하는 IAM 자격 증명에만 연결할 것을 권장합니다.

보안 경고 - Resource에 별표 및 NotAction을 사용하여 역할 전달

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Pass role with star in resource and NotAction: Using a resource with wildcards (*) and NotAction can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using a resource with wildcards (*) and NotAction can be overly permissive because it allows iam:PassRole permissions on all resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement."

보안 경고 해결

다수의 AWS 서비스를 구성하려면 IAM 역할을 서비스에 전달해야 합니다. 이를 허용하려면 자격 증명(사용자, 사용자 그룹 또는 역할)에 iam:PassRole 권한을 부여해야 합니다. Resource 요소에 와일드카드(*)를 포함하는 정책에서 NotAction 요소를 사용하면 보안 주체가 의도한 것보다 많은 서비스 또는 기능에 액세스할 수 있습니다. AWS에서는 대신 Resource 요소에 허용되는 ARN을 지정할 것을 권장합니다. 또한 iam:PassedToService 조건 키를 사용하여 권한을 단일 서비스로 줄일 수 있습니다.

보안 경고 - 페어링된 조건 키 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing paired condition keys: Using the condition key {{conditionKeyName}} can be overly permissive without also using the following condition keys: {{recommendedKeys}}. Condition keys like this one are more secure when paired with a related key. We recommend that you add the related condition keys to the same condition block.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the condition key {{conditionKeyName}} can be overly permissive without also using the following condition keys: {{recommendedKeys}}. Condition keys like this one are more secure when paired with a related key. We recommend that you add the related condition keys to the same condition block."

보안 경고 해결

일부 조건 키는 다른 관련 조건 키와 페어링하면 더 안전합니다. AWS에서는 기존 조건 키와 동일한 조건 블록에 관련 조건 키를 포함할 것을 권장합니다. 이렇게 하면 정책을 통해 권한이 보다 안전하게 부여됩니다.

aws:VpcSourceIp 조건 키를 사용하여 요청이 이루어진 IP 주소와 정책에서 지정한 IP 주소를 비교하는 경우를 예로 들 수 있습니다. AWS에서는 관련 aws:SourceVPC 조건 키를 추가할 것을 권장합니다. 이 조건 키는 요청이 사용자가 정책에서 지정한 VPC를 통해 이루어졌는지 여부 사용자가 지정한 IP 주소를 확인입니다.

관련 용어

보안 경고 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 거부

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Deny with unsupported tag condition key for service: Using the effect Deny with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes can be overly permissive: {{serviceNames}}. Actions for the listed services are not denied by this statement. We recommend that you move these actions to a different statement without this condition key.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the effect Deny with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes can be overly permissive: {{serviceNames}}. Actions for the listed services are not denied by this statement. We recommend that you move these actions to a different statement without this condition key."

보안 경고 해결

"Effect": "Deny"가 포함된 정책의 Condition 요소에 지원되지 않는 태그 조건 키를 사용하면 해당 서비스에 대해 조건이 무시되므로 지나치게 허용적일 수 있습니다. AWS에서는 조건 키를 지원하지 않는 서비스 작업을 제거하고 해당 작업을 위한 특정 리소스에 대한 액세스를 거부하도록 다른 문을 작성할 것을 권장합니다.

aws:ResourceTag 조건 키를 사용할 때 서비스 작업에서 해당 키를 지원하지 않는 경우 요청 컨텍스트에 키가 포함되지 않습니다. 이 경우 Deny 문의 조건은 항상 false를 반환하고 작업이 거부되지 않습니다. 리소스가 올바로 태깅된 경우에도 이 문제가 발생합니다.

서비스에서 aws:ResourceTag 조건 키를 지원하는 경우 태그를 사용하여 해당 서비스 리소스에 대한 액세스를 제어할 수 있습니다. 이를 속성 기반 액세스 제어(ABAC)라고 합니다. 이러한 키를 지원하지 않는 서비스에서는 리소스 기반 액세스 제어(RBAC)를 사용하여 리소스에 대한 액세스를 제어해야 합니다.

참고

일부 서비스에서는 해당 리소스 및 작업의 하위 집합에 대해 aws:ResourceTag 조건 키 지원을 허용합니다. IAM Access Analyzer에서는 지원되지 않는 서비스 작업에 대한 결과를 반환합니다. 예를 들어 Amazon S3는 해당 리소스의 하위 집합에 대해 aws:ResourceTag를 지원합니다. Amazon S3에서 사용할 수 있는 리소스 유형 중 aws:ResourceTag 조건 키를 지원하는 유형을 모두 보려면 서비스 승인 참조의 Amazon S3에서 정의한 리소스 유형을 참조하세요.

예를 들어 키 값 페어 status=Confidential로 태깅된 특정 리소스를 태그 해제, 삭제하는 액세스를 거부하려는 경우를 가정합니다. 또한 AWS Lambda에서 리소스를 태깅하거나 태그 해제할 수 있지만 aws:ResourceTag 조건 키를 지원하지 않는다고 가정합니다. 이 태그가 있는 경우 AWS App Mesh 및 AWS Backup에 대한 삭제 작업을 거부하려면 aws:ResourceTag 조건 키를 사용합니다. Lambda의 경우 "Confidential" 접두사를 포함하는 리소스 명명 규칙을 사용합니다. 그런 다음 해당 명명 규칙을 사용하는 리소스를 삭제하지 못하게 하는 별도의 문을 포함합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDeleteSupported", "Effect": "Deny", "Action": [ "appmesh:DeleteMesh", "backup:DeleteBackupPlan" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/status": "Confidential" } } }, { "Sid": "DenyDeleteUnsupported", "Effect": "Deny", "Action": "lambda:DeleteFunction", "Resource": "arn:aws:lambda:*:123456789012:function:status-Confidential*" } ] }
주의

이 결과의 해결 방법으로 조건 연산자의 …IfExists 버전을 사용하지 마세요. 이는 “요청 컨텍스트에 키가 있고 값이 일치하면 작업을 거부합니다. 그렇지 않으면 작업을 거부합니다.”를 의미합니다. 앞의 예제에서 StringEqualsIfExists 연산자가 있는 DenyDeleteSupported 문에 lambda:DeleteFunction 작업을 포함하면 작업이 항상 거부됩니다. 해당 작업의 경우 컨텍스트에 키가 없으며 리소스가 태깅되어 있는지 여부에 관계없이 해당 리소스 유형을 삭제하려는 모든 시도는 거부됩니다.

관련 용어

보안 경고 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 NotAction 거부

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Deny NotAction with unsupported tag condition key for service: Using the effect Deny with NotAction and the tag condition key {{conditionKeyName}} can be overly permissive because some service actions are not denied by this statement. This is because the condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the effect Deny with NotAction and the tag condition key {{conditionKeyName}} can be overly permissive because some service actions are not denied by this statement. This is because the condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction."

보안 경고 해결

NotAction 요소 및 "Effect": "Deny"가 포함된 정책의 Condition 요소에 태그 조건 키를 사용하면 지나치게 허용적일 수 있습니다. 조건 키를 지원하지 않는 서비스 작업의 경우 조건이 무시됩니다. AWS에서는 작업 목록을 거부하도록 로직을 다시 작성할 것을 권장합니다.

aws:ResourceTag 조건 키를 NotAction과 함께 사용하는 경우 키를 지원하지 않는 모든 신규 또는 기존 서비스 작업이 거부되지 않습니다. AWS에서는 거부할 작업을 명시적으로 나열할 것을 권장합니다. IAM Access Analyzer에서는 aws:ResourceTag 조건 키를 지원하지 않는 나열된 작업에 대해 별도의 결과를 반환합니다. 자세한 내용은 보안 경고 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 거부 섹션을 참조하세요.

서비스에서 aws:ResourceTag 조건 키를 지원하는 경우 태그를 사용하여 해당 서비스 리소스에 대한 액세스를 제어할 수 있습니다. 이를 속성 기반 액세스 제어(ABAC)라고 합니다. 이러한 키를 지원하지 않는 서비스에서는 리소스 기반 액세스 제어(RBAC)를 사용하여 리소스에 대한 액세스를 제어해야 합니다.

관련 용어

보안 경고 - 서비스 보안 주체에 대한 액세스 제한

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Restrict access to service principal: Granting access to a service principal without specifying a source is overly permissive. Use aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths condition key to grant fine-grained access.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Granting access to a service principal without specifying a source is overly permissive. Use aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths condition key to grant fine-grained access."

보안 경고 해결

서비스 보안 주체를 사용하는 리소스 기반 정책의 Principal 요소에서 AWS 서비스, 즉 서비스에 대한 식별자를 지정할 수 있습니다. 사용자를 대신하여 작동하도록 서비스 보안 주체에 액세스 권한을 부여한 경우, 액세스를 제한합니다. aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, 또는 aws:SourceOrgPaths 조건 키를 사용하여 지나치게 허용 정책을 방지하여 특정 소스(예: 특정 리소스 ARN, AWS 계정, 조직 ID 또는 조직 경로)에 대한 액세스를 제한할 수 있습니다. 액세스를 제한하면 혼동된 대리자 문제라 불리는 보안 문제를 예방할 수 있습니다.

관련 용어

보안 경고 – OIDC 보안 주체에 대한 조건 키 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing condition key for oidc principal: Using an Open ID Connect principal without a condition can be overly permissive. Add condition keys with a prefix that matches your federated OIDC principals to ensure that only the intended identity provider assumes the role.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using an Open ID Connect principal without a condition can be overly permissive. Add condition keys with a prefix that matches your federated OIDC principals to ensure that only the intended identity provider assumes the role."

보안 경고 해결

조건 없이 Open ID Connect 보안 주체를 사용하면 과하게 권한이 커질 수 있습니다. 연동된 OIDC 부안 주체와 일치하는 접두사로 조건 키를 추가하고, 의도한 ID 공급자만 역할을 수임하도록 합니다.

관련 용어

보안 경고 – github 리포지토리 조건 키 누락

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Missing github repo condition key: Granting a federated GitHub principal permissions without a condition key can allow more sources to assume the role than you intended. Add the token.actions.githubusercontent.com:sub condition key and specify the branch and repository name in the value.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Granting a federated GitHub principal permissions without a condition key can allow more sources to assume the role than you intended. Add the token.actions.githubusercontent.com:sub condition key and specify the branch and repository name in the value."

보안 경고 해결

GitHub를 OIDC IdP로 사용하는 경우 IAM IdP와 연결된 역할을 수임할 수 있는 엔터티를 제한하는 것이 좋습니다. 역할 신뢰 정책에 Condition 문을 포함하면 특정 GitHub 조직, 리포지토리 또는 분기로 역할을 제한할 수 있습니다. 조건 키 token.actions.githubusercontent.com:sub를 사용하여 액세스를 제한할 수 있습니다. 특정 리포지토리 또는 분기 세트로 조건을 제한하는 것이 좋습니다. 이 조건을 포함하지 않으면 제어할 수 없는 조직 또는 리포지토리의 GitHub 작업이 AWS 계정의 GitHub IAM IdP와 연결된 역할을 수임할 수 있습니다.

관련 용어

제안 - 빈 배열 작업

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty array action: This statement includes no actions and does not affect the policy. Specify actions.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "This statement includes no actions and does not affect the policy. Specify actions."

제안 해결

문에는 작업 집합을 포함하는 Action 또는 NotAction 요소 중 하나를 포함해야 합니다. 요소가 비어 있으면 정책 문에서 권한을 제공하지 않습니다. Action 요소에 작업을 지정합니다.

제안 - 빈 배열 조건

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty array condition: There are no values for the condition key {{key}} and it does not affect the policy. Specify conditions.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "There are no values for the condition key {{key}} and it does not affect the policy. Specify conditions."

제안 해결

선택적 Condition 요소 구조에서는 조건 연산자와 키 값 페어를 사용해야 합니다. 조건 값이 비어 있으면 조건은 true를 반환하고 정책 문에서 권한을 제공하지 않습니다. 조건 값을 지정합니다.

제안 - 빈 배열 조건 ForAllValues

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty array condition ForAllValues: The ForAllValues prefix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The ForAllValues prefix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead."

제안 해결

Condition 요소 구조에서는 조건 연산자와 키 값 페어를 사용해야 합니다. ForAllValues 집합 연산자는 요청 집합의 모든 멤버 값이 조건 키 집합의 하위 집합인지를 테스트합니다.

빈 조건 키로 ForAllValues를 사용하면 요청에 키가 없는 경우에만 조건이 일치합니다. AWS에서는 요청 컨텍스트가 비어 있는지 테스트하려면 대신 Null 조건 연산자를 사용할 것을 권장합니다.

제안 - 빈 배열 조건 ForAnyValue

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty array condition ForAnyValue: The ForAnyValue prefix with an empty condition key {{key}} never matches the request context and it does not affect the policy. Specify conditions.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The ForAnyValue prefix with an empty condition key {{key}} never matches the request context and it does not affect the policy. Specify conditions."

제안 해결

Condition 요소 구조에서는 조건 연산자와 키 값 페어를 사용해야 합니다. ForAnyValues 집합 연산자는 요청 값 집합에서 하나 이상의 멤버가 조건 키 값 집합에서 멤버 1개 이상과 일치하는지 테스트합니다.

빈 조건 키로 ForAnyValues를 사용하면 조건이 일치하지 않습니다. 즉, 문이 정책에 영향을 미치지 않습니다. AWS에서는 조건을 다시 작성할 것을 권장합니다.

제안 - 빈 배열 조건 IfExists

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty array condition IfExists: The IfExists suffix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The IfExists suffix with an empty condition key matches only if the key {{key}} is missing from the request context. To determine if the request context is empty, we recommend that you use the Null condition operator with the value of true instead."

제안 해결

...IfExists 접미사는 조건 연산자를 편집합니다. 이는 요청 컨텍스트에 정책 키가 있으면 정책에 지정된 대로 키를 처리하고, 키가 없으면 조건 요소를 true로 평가한다는 의미입니다.

빈 조건 키로 ...IfExists를 사용하면 요청에 키가 없는 경우에만 조건이 일치합니다. AWS에서는 요청 컨텍스트가 비어 있는지 테스트하려면 대신 Null 조건 연산자를 사용할 것을 권장합니다.

제안 - 빈 배열 보안 주체

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty array principal: This statement includes no principals and does not affect the policy. Specify principals.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "This statement includes no principals and does not affect the policy. Specify principals."

제안 해결

IAM 역할을 위한 신뢰 정책 및 리소스 기반 정책에서는 Principal 또는 NotPrincipal 요소를 사용해야 합니다. 리소스 기반 정책은 리소스에 직접 삽입할 수 있는 정책입니다.

문의 Principal 요소에 빈 배열을 지정하면 문이 정책에 영향을 미치지 않습니다. AWS에서는 리소스에 액세스할 수 있는 보안 주체를 지정할 것을 권장합니다.

제안 - 빈 배열 리소스

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty array resource: This statement includes no resources and does not affect the policy. Specify resources.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "This statement includes no resources and does not affect the policy. Specify resources."

제안 해결

문에는 Resource 또는 NotResource 요소가 반드시 추가되어야 합니다.

문의 리소스 요소에 빈 배열을 지정하면 문이 정책에 영향을 미치지 않습니다. AWS에서는 리소스의 Amazon 리소스 이름(ARN)을 지정할 것을 권장합니다.

제안 - 빈 객체 조건

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty object condition: This condition block is empty and it does not affect the policy. Specify conditions.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "This condition block is empty and it does not affect the policy. Specify conditions."

제안 해결

Condition 요소 구조에서는 조건 연산자와 키 값 페어를 사용해야 합니다.

문의 조건 요소에 빈 객체를 제공하면 해당 문이 정책에 영향을 미치지 않습니다. 선택적 요소를 제거하거나 조건을 지정합니다.

제안 - 빈 객체 보안 주체

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty object principal: This statement includes no principals and does not affect the policy. Specify principals.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "This statement includes no principals and does not affect the policy. Specify principals."

제안 해결

IAM 역할을 위한 신뢰 정책 및 리소스 기반 정책에서는 Principal 또는 NotPrincipal 요소를 사용해야 합니다. 리소스 기반 정책은 리소스에 직접 삽입할 수 있는 정책입니다.

문의 Principal 요소에 빈 객체를 지정하면 문이 정책에 영향을 미치지 않습니다. AWS에서는 리소스에 액세스할 수 있어야 하는 보안 주체를 지정할 것을 권장합니다.

제안 - 빈 Sid 값

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Empty Sid value: Add a value to the empty string in the Sid element.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Add a value to the empty string in the Sid element."

제안 해결

선택적 Sid(문 ID) 요소를 사용하면 정책 문에 제공하는 식별자를 입력할 수 있습니다. Sid 값은 문 배열에서 각 문에 할당할 수 있습니다. Sid 요소를 사용할 경우 문자열 값을 제공해야 합니다.

관련 용어

제안 - IP 범위 개선

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Improve IP range: The non-zero bits in the IP address after the masked bits are ignored. Replace address with {{addr}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The non-zero bits in the IP address after the masked bits are ignored. Replace address with {{addr}}."

제안 해결

IP 주소 조건은 203.0.113.0/24 또는 2001:DB8:1234:5678::/64와 같은 표준 CIDR 형식이어야 합니다. 마스킹 처리된 비트 다음에 0이 아닌 비트를 포함하면 조건으로 간주되지 않습니다. AWS에서는 메시지에 포함된 새 주소를 사용할 것을 권장합니다.

제안 - 한정자의 Null

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Null with qualifier: Avoid using the Null condition operator with the ForAllValues or ForAnyValue qualifiers because they always return a true or false respectively.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Avoid using the Null condition operator with the ForAllValues or ForAnyValue qualifiers because they always return a true or false respectively."

제안 해결

Condition 요소에서 같음, 보다 작음 등의 조건 연산자를 사용하여 정책의 조건을 요청 컨텍스트의 키 및 값과 비교하는 표현식을 작성합니다. 단일 조건 키의 여러 값을 포함하는 요청의 경우 ForAllValues 또는 ForAnyValue 집합 연산자를 사용해야 합니다.

ForAllValuesNull 조건 연산자를 사용하는 경우 문은 항상 true를 반환합니다. ForAnyValueNull 조건 연산자를 사용하는 경우 문은 항상 false를 반환합니다. AWS에서는 이러한 집합 연산자에 StringLike 조건 연산자를 사용할 것을 권장합니다.

관련 용어

제안 - 프라이빗 IP 주소 하위 집합

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Private IP address subset: The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses will not have the desired effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses will not have the desired effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp."

제안 해결

전역 조건 키 aws:SourceIp는 퍼블릭 IP 주소 범위에만 적용됩니다.

Condition 요소에 프라이빗 및 퍼블릭 IP 주소를 함께 포함하면 문에서 원하는 효과를 얻을 수 없습니다. aws:VpcSourceIP를 사용하여 프라이빗 IP 주소를 지정할 수 있습니다.

참고

전역 조건 키 aws:VpcSourceIP는 요청이 지정된 IP 주소에서 시작되고 VPC 엔드포인트를 통과하는 경우에만 일치합니다.

제안 - 프라이빗 NotIpAddress 하위 집합

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Private NotIpAddress subset: The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses have no effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The values for condition key aws:SourceIp include a mix of private and public IP addresses. The private addresses have no effect. aws:SourceIp works only for public IP address ranges. To define permissions for private IP ranges, use aws:VpcSourceIp."

제안 해결

전역 조건 키 aws:SourceIp는 퍼블릭 IP 주소 범위에만 적용됩니다.

Condition 요소에 NotIpAddress 조건 연산자와 프라이빗 및 퍼블릭 IP 주소를 함께 포함하면 문에서 원하는 효과를 얻을 수 없습니다. 정책에 지정되지 않은 모든 퍼블릭 IP 주소는 일치합니다. 프라이빗 IP 주소는 일치하지 않습니다. 이 효과를 얻으려면 aws:VpcSourceIPNotIpAddress를 사용하고 일치하지 않아야 하는 프라이빗 IP 주소를 지정할 수 있습니다.

제안 - 중복 작업

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Redundant action: The {{redundantActionCount}} action(s) are redundant because they provide similar permissions. Update the policy to remove the redundant action such as: {{redundantAction}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The {{redundantActionCount}} action(s) are redundant because they provide similar permissions. Update the policy to remove the redundant action such as: {{redundantAction}}."

제안 해결

Action 요소에 와일드카드(*)를 사용하는 경우 중복 권한을 포함할 수 있습니다. AWS에서는 정책을 검토하고 필요한 권한만 포함할 것을 권장합니다. 그러면 중복 작업을 제거하는 데 도움이 됩니다.

예를 들어 다음 작업에는 iam:GetCredentialReport 작업이 두 번 포함됩니다.

"Action": [ "iam:Get*", "iam:List*", "iam:GetCredentialReport" ],

이 예제에서는 Get 또는 List로 시작하는 모든 IAM 작업에 대해 권한이 정의되어 있습니다. IAM이 가져오기 또는 나열 작업을 추가하면 이 정책에서 해당 작업을 허용합니다. 이러한 읽기 전용 작업을 모두 허용할 수 있습니다. iam:GetCredentialReport 작업은 iam:Get*의 일부로 이미 포함되어 있습니다. 중복 권한을 제거하려면 iam:GetCredentialReport를 제거할 수 있습니다.

작업의 모든 내용이 중복되는 경우 이 정책 검사의 결과가 표시됩니다. 이 예에서 요소에 iam:*CredentialReport가 포함된 경우 중복된 것으로 간주되지 않습니다. 여기에는 중복된 iam:GetCredentialReport 및 중복되지 않은 iam:GenerateCredentialReport가 포함됩니다. iam:Get* 또는 iam:*CredentialReport를 제거하면 정책의 권한이 변경됩니다.

이 제안이 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

중복 작업은 정책에 따라 부여되는 권한에 영향을 미치지 않습니다. AWS 관리형 정책을 참조하여 고객 관리형 정책을 생성하는 경우 AWS는 정책에서 중복 작업을 제거할 것을 권장합니다.

제안 - 중복 조건 값 숫자

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Redundant condition value num: Multiple values in {{operator}} are redundant. Replace with the {{greatest/least}} single value for {{key}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Multiple values in {{operator}} are redundant. Replace with the {{greatest/least}} single value for {{key}}."

제안 해결

조건 키의 비슷한 값에 숫자 조건 연산자를 사용하는 경우 중첩이 발생하여 권한이 중복될 수 있습니다.

예를 들어 다음 Condition 요소는 1,200초의 기간 중첩이 있는 여러 aws:MultiFactorAuthAge 조건을 포함합니다.

"Condition": { "NumericLessThan": { "aws:MultiFactorAuthAge": [ "2700", "3600" ] } }

이 예에서는 멀티 팩터 인증(MFA)이 3,600초(1시간) 내에 완료된 경우의 권한이 정의됩니다. 중복된 2700 값을 제거할 수 있습니다.

제안 - 중복 리소스

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Redundant resource: The {{redundantResourceCount}} resource ARN(s) are redundant because they reference the same resource. Review the use of wildcards (*)

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The {{redundantResourceCount}} resource ARN(s) are redundant because they reference the same resource. Review the use of wildcards (*)"

제안 해결

Amazon 리소스 이름(ARN)에 와일드카드(*)를 사용할 경우 중복 리소스 권한을 생성할 수 있습니다.

예를 들어 다음 Resource 요소는 중복 권한이 있는 여러 ARN을 포함합니다.

"Resource": [ "arn:aws:iam::111122223333:role/jane-admin", "arn:aws:iam::111122223333:role/jane-s3only", "arn:aws:iam::111122223333:role/jane*" ],

이 예제에서는 이름이 jane으로 시작하는 모든 역할에 대해 권한을 정의합니다. 결과로 부여되는 권한을 변경하지 않고 중복되는 jane-adminjane-s3only ARN을 제거할 수 있습니다. 이렇게 하면 동적 정책이 됩니다. 즉, jane으로 시작하는 모든 향후 역할의 권한을 정의합니다. 정책의 의도가 고정된 수의 역할에 액세스를 허용하려는 것인 경우 마지막 ARN을 제거하고 정의해야 하는 ARN만 나열합니다.

이 제안이 포함된 AWS 관리형 정책

AWS 관리형 정책을 사용하면 일반 AWS 사용 사례에 따라 권한을 할당하여 AWS를 시작할 수 있습니다.

중복 리소스는 정책에서 부여된 권한에 영향을 미치지 않습니다. AWS 관리형 정책을 참조하여 고객 관리형 정책을 생성하는 경우 AWS는 정책에서 중복 리소스를 제거할 것을 권장합니다.

제안 - 중복 문

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Redundant statement: The statements are redundant because they provide identical permissions. Update the policy to remove the redundant statement.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The statements are redundant because they provide identical permissions. Update the policy to remove the redundant statement."

제안 해결

Statement 요소는 정책의 주요 요소로서 필수입니다. Statement 요소는 단일 문 또는 개별 문의 배열을 포함할 수 있습니다.

긴 정책에 동일한 문을 두 번 이상 포함하면 문이 중복됩니다. 정책에서 부여하는 권한에 영향을 주지 않고 문 중 하나를 제거할 수 있습니다. 누군가 정책을 편집하면 복제본을 업데이트하지 않고 문 중 하나를 변경할 수 있습니다. 이로 인해 의도한 권한보다 늘어날 수 있습니다.

제안 - 서비스 이름의 와일드카드

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Wildcard in service name: Avoid using wildcards (*, ?) in the service name because it might grant unintended access to other AWS services with similar names.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Avoid using wildcards (*, ?) in the service name because it might grant unintended access to other AWS services with similar names."

제안 해결

정책에 AWS 서비스의 이름을 포함하는 경우 AWS에서는 와일드카드(*, ?)를 포함하지 말 것을 권장합니다. 와일드카드를 포함할 경우 향후 서비스에 의도하지 않은 권한이 추가될 수 있습니다. 예를 들어 이름에 단어 *code*가 포함된 AWS 서비스가 12개가 넘습니다.

"Resource": "arn:aws:*code*::111122223333:*"

제안 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 허용

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Allow with unsupported tag condition key for service: Using the effect Allow with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes does not affect the policy: {{serviceNames}}. Actions for the listed service are not allowed by this statement. We recommend that you move these actions to a different statement without this condition key.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the effect Allow with the tag condition key {{conditionKeyName}} and actions for services with the following prefixes does not affect the policy: {{serviceNames}}. Actions for the listed service are not allowed by this statement. We recommend that you move these actions to a different statement without this condition key."

제안 해결

"Effect": "Allow"가 포함된 정책의 Condition 요소에 지원되지 않는 태그 조건 키를 사용하면 해당 서비스 작업에 대해 조건이 무시되므로 정책에서 부여되는 권한에 영향을 미치지 않습니다. AWS에서는 조건 키를 지원하지 않는 서비스 작업을 제거하고 해당 서비스의 특정 리소스에 대한 액세스를 허용하도록 다른 문을 작성할 것을 권장합니다.

aws:ResourceTag 조건 키를 사용할 때 서비스 작업에서 해당 키를 지원하지 않는 경우 요청 컨텍스트에 키가 포함되지 않습니다. 이 경우 Allow 문의 조건은 항상 false를 반환하고 작업이 허용되지 않습니다. 리소스가 올바로 태깅된 경우에도 이 문제가 발생합니다.

서비스에서 aws:ResourceTag 조건 키를 지원하는 경우 태그를 사용하여 해당 서비스 리소스에 대한 액세스를 제어할 수 있습니다. 이를 속성 기반 액세스 제어(ABAC)라고 합니다. 이러한 키를 지원하지 않는 서비스에서는 리소스 기반 액세스 제어(RBAC)를 사용하여 리소스에 대한 액세스를 제어해야 합니다.

참고

일부 서비스에서는 해당 리소스 및 작업의 하위 집합에 대해 aws:ResourceTag 조건 키 지원을 허용합니다. IAM Access Analyzer에서는 지원되지 않는 서비스 작업에 대한 결과를 반환합니다. 예를 들어 Amazon S3는 해당 리소스의 하위 집합에 대해 aws:ResourceTag를 지원합니다. Amazon S3에서 사용할 수 있는 리소스 유형 중 aws:ResourceTag 조건 키를 지원하는 유형을 모두 보려면 서비스 승인 참조의 Amazon S3에서 정의한 리소스 유형을 참조하세요.

예를 들어 팀원이 키 값 페어 team=BumbleBee로 태깅된 특정 리소스에 대한 세부 정보를 볼 수 있도록 하려고 한다고 가정합니다. 또한 AWS Lambda에서 리소스를 태깅할 수 있지만 aws:ResourceTag 조건 키를 지원하지 않는다고 가정합니다. 이 태그가 있는 경우 AWS App Mesh 및 AWS Backup에 대한 보기 작업을 허용하려면 aws:ResourceTag 조건 키를 사용합니다. Lambda의 경우 팀 이름을 접두사로 포함하는 리소스 명명 규칙을 사용합니다. 그런 다음에 해당 명명 규칙을 사용하는 리소스 보기를 허용하는 별도의 문을 포함합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowViewSupported", "Effect": "Allow", "Action": [ "appmesh:DescribeMesh", "backup:GetBackupPlan" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/team": "BumbleBee" } } }, { "Sid": "AllowViewUnsupported", "Effect": "Allow", "Action": "lambda:GetFunction", "Resource": "arn:aws:lambda:*:123456789012:function:team-BumbleBee*" } ] }
주의

이 결과의 해결 방법으로 "Effect": "Allow"조건 연산자의 Not 버전을 사용하지 마세요. 이러한 조건 연산자는 부정 일치를 제공합니다. 즉, 조건이 평가된 후 결과가 부정됩니다. 앞의 예제에서 StringNotEquals 연산자가 있는 AllowViewSupported 문에 lambda:GetFunction 작업을 포함하면 리소스가 태깅되어 있는지 여부와 관계없이 항상 작업이 허용됩니다.

이 결과의 해결 방법으로 조건 연산자의 …IfExists 버전을 사용하지 마세요. 이는 “요청 컨텍스트에 키가 있고 값이 일치하면 작업을 허용합니다. 그렇지 않으면 작업을 허용합니다.”를 의미합니다. 앞의 예제에서 StringEqualsIfExists 연산자가 있는 AllowViewSupported 문에 lambda:GetFunction 작업을 포함하면 작업이 항상 허용됩니다. 해당 작업의 경우 컨텍스트에 키가 없으며 리소스가 태깅되어 있는지 여부에 관계없이 해당 리소스 유형을 보려는 모든 시도는 허용됩니다.

관련 용어

제안 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 NotAction 허용

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Allow NotAction with unsupported tag condition key for service: Using the effect Allow with NotAction and the tag condition key {{conditionKeyName}} allows only service actions that support the condition key. The condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "Using the effect Allow with NotAction and the tag condition key {{conditionKeyName}} allows only service actions that support the condition key. The condition key doesn't apply to some service actions. We recommend that you use Action instead of NotAction."

제안 해결

NotAction 요소 및 "Effect": "Allow"가 포함된 조건의 Condition 요소에 지원되지 않는 태그 조건 키를 사용하면 정책에서 부여되는 권한에 영향을 미치지 않습니다. 조건 키를 지원하지 않는 서비스 작업의 경우 조건이 무시됩니다. AWS에서는 작업 목록을 허용하도록 로직을 다시 작성할 것을 권장합니다.

aws:ResourceTag 조건 키를 NotAction과 함께 사용하는 경우 키를 지원하지 않는 모든 신규 또는 기존 서비스 작업이 허용되지 않습니다. AWS에서는 허용할 작업을 명시적으로 나열할 것을 권장합니다. IAM Access Analyzer에서는 aws:ResourceTag 조건 키를 지원하지 않는 나열된 작업에 대해 별도의 결과를 반환합니다. 자세한 내용은 제안 - 서비스에 대해 지원되지 않는 태그 조건 키를 사용하여 허용 섹션을 참조하세요.

서비스에서 aws:ResourceTag 조건 키를 지원하는 경우 태그를 사용하여 해당 서비스 리소스에 대한 액세스를 제어할 수 있습니다. 이를 속성 기반 액세스 제어(ABAC)라고 합니다. 이러한 키를 지원하지 않는 서비스에서는 리소스 기반 액세스 제어(RBAC)를 사용하여 리소스에 대한 액세스를 제어해야 합니다.

관련 용어

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Recommended condition key for service principal: To restrict access to the service principal {{servicePrincipalPrefix}} operating on your behalf, we recommend aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths instead of {{key}}.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "To restrict access to the service principal {{servicePrincipalPrefix}} operating on your behalf, we recommend aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, or aws:SourceOrgPaths instead of {{key}}."

제안 해결

서비스 보안 주체를 사용하는 리소스 기반 정책의 Principal 요소에서 AWS 서비스, 즉 서비스에 대한 식별자를 지정할 수 있습니다. aws:Referer와(과) 같은 다른 조건 키 대신 서비스 보안 주체에 액세스 권한을 부여할 때는 aws:SourceArn, aws:SourceAccount, aws:SourceOrgID, 또는 aws:SourceOrgPaths을(를) 사용해야 합니다. 이렇게 하면 혼동된 대리자 문제라 불리는 보안 문제를 예방할 수 있습니다.

관련 용어

제안 - 정책의 관련 없는 조건 키

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Irrelevant condition key in policy: The condition key {{condition-key}} is not relevant for the {{resource-type}} policy. Use this key in an identity-based policy to govern access to this resource.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The condition key {{condition-key}} is not relevant for the {{resource-type}} policy. Use this key in an identity-based policy to govern access to this resource."

제안 해결

일부 조건 키는 리소스 기반 정책과 관련이 없습니다. 예를 들어, s3:ResourceAccount 조건 키는 Amazon S3 버킷 또는 Amazon S3 액세스 포인트 리소스 유형에 연결된 리소스 기반 정책과 관련이 없습니다.

리소스에 대한 액세스를 제어하려면 자격 증명 기반 정책의 조건을 사용해야 합니다.

관련 용어

제안 – 역할 신뢰 정책에 중복된 보안 주체

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Redundant principal in role trust policy: The assumed-role principal {{redundant_principal}} is redundant with its parent role {{parent_role}}. Remove the assumed-role principal.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The assumed-role principal {{redundant_principal}} is redundant with its parent role {{parent_role}}. Remove the assumed-role principal."

제안 해결

수임된 역할 보안 주체와 정책 Principal 요소의 상위 역할을 지정할 경우 다른 권한을 허용하거나 거부하지 않습니다. 예를 들어 다음의 형식을 사용하여 Principal 요소를 지정하면 중복입니다.

"Principal": { "AWS": [ "arn:aws:iam::AWS-account-ID:role/rolename", "arn:aws:iam::AWS-account-ID:assumed-role/rolename/rolesessionname" ]

위임된 역할 보안 주체를 제거하는 것이 좋습니다.

관련 용어

제안 – 대상 클레임 유형 확인

AWS Management Console에서 이 검사의 결과에는 다음 메시지가 포함됩니다.

Confirm audience claim type: The 'aud' (audience) claim key identifies the recipients that the JSON web token is intended for. Audience claims can be multivalued or single-valued. If the claim is multivalued, use a ForAllValues or ForAnyValue qualifier. If the claim is single-valued, do not use a qualifier.

AWS CLI 또는 AWS API를 프로그래밍 방식으로 호출할 경우 이 검사의 결과에는 다음 메시지가 포함됩니다.

"findingDetails": "The 'aud' (audience) claim key identifies the recipients that the JSON web token is intended for. Audience claims can be multivalued or single-valued. If the claim is multivalued, use a ForAllValues or ForAnyValue qualifier. If the claim is single-valued, do not use a qualifier."

제안 해결

aud(대상) 클레임 키는 IdP로 앱을 등록할 때 발급된 앱의 고유 식별자이고 JSON 웹 토큰을 제공할 수령자를 식별합니다. 대상 클레임은 다중 값이거나 단일 값일 수 있습니다. 클레임이 다중 값인 경우 ForAllValues 또는 ForAnyValue 조건 세트 연산자를 사용하세요. 클레임이 단일 값인 경우 조건 세트 연산자를 사용하지 마세요.

관련 용어