View a markdown version of this page

권한 부여 ID가 포함된 액세스 거부 오류 메시지 문제 해결(미리 보기) - AWS Identity and Access Management

권한 부여 ID가 포함된 액세스 거부 오류 메시지 문제 해결(미리 보기)

중요

액세스 문제 해결 프로그램이 현재 공개 미리 보기로 제공됩니다.

개요

AWS가 지원되는 API에 대한 요청을 거부하는 경우 액세스 거부 오류 응답에는 일반적으로 권한 부여 ID가 포함됩니다. 이 ID는 거부된 요청에 대한 권한 부여 평가를 참조합니다. 평가 세부 정보를 검색하고 거부의 원인을 식별하려면 GetRequestAuthorizationDetails API에 요청하고 권한 부여 ID를 제공하거나 오류 메시지에 있는 링크를 엽니다. 이 기능을 사용하면 거부된 요청을 하나씩 해결할 필요 없이, 단 한 번의 호출로 요청이 거부된 원인을 식별할 수 있습니다.

참고

AWS는 거부된 각 요청에 대해 권한 부여 ID를 보장하지 않습니다. 이 문서의 권한 부여 ID를 받지 못한 경우 섹션을 참조하세요.

다음 예제에서는 정책 ARN, AWS 관리 콘솔에 대한 링크 및 권한 부여 ID가 포함된 액세스 거부 오류 메시지를 보여 줍니다.

User: arn:aws:iam::123456789012:user/janedoe is not authorized to perform: iam:CreateInstanceProfile on resource: arn:aws:iam::123456789012:instance-profile/my-instance-profile with an explicit deny in an identity-based policy: arn:aws:iam::123456789012:policy/ExampleDenyPolicy. Go to https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/authorization-details/EXAMPLE1a2b3c4d5e6f7g8h9i0j for complete details, or call the GetRequestAuthorizationDetails API with the following authorization id: EXAMPLE1a2b3c4d5e6f7g8h9i0j

개념 및 정의

  • 판매 권한 부여 세부 정보 권한 부여 세부 정보에는 요청 컨텍스트, 수행된 평가 및 평가된 정책이 포함됩니다.

  • 권한 부여 ID 지원되는 액세스 거부 오류 응답에 포함된 고유 식별자입니다. 거부된 요청에 대한 권한 부여 평가를 참조하며, AWS 관리 콘솔 링크 또는 GetRequestAuthorizationDetails API에 전달하는 값입니다.

  • 요청 컨텍스트 요청에 대해 평가된 조건 컨텍스트 키의 값입니다. 여기에는 전역 조건 컨텍스트 키와 서비스별 조건 컨텍스트 키가 포함됩니다.

  • 평가 요청의 각 작업/리소스 쌍에 대해 적용된 조건 컨텍스트 키와 평가 결과를 보여 줍니다. 평가 결과는 ALLOW, EXPLICIT_DENY(정책에서 작업을 명시적으로 거부함) 또는 IMPLICIT_DENY(작업을 허용한 정책이 없음)일 수 있으며, 해당 작업/리소스 쌍과 일치한 각 정책 및 명령문에 대한 참조도 포함됩니다. 각 참조는 응답 전체에서 재사용되는 정책 ARN(관리형 정책의 경우) 또는 URI(인라인 및 기타 비관리형 정책의 경우)입니다.

  • 권한 부여 중에 평가된 정책 AWS가 요청에 대해 고려한 정책으로, 작업/리소스 쌍과 일치하지 않은 정책도 포함됩니다. 각 항목은 정책 유형(예: 자격 증명 기반, 리소스 기반, SCP, RCP, 권한 경계 또는 세션 정책)과 평가에 사용된 것과 동일한 ARN(관리형 정책의 경우) 또는 URI(인라인 및 기타 비관리형 정책의 경우)를 제공합니다. ARN 또는 URI를 사용하여 정책을 참조한 평가와 다시 일치시킵니다. "연결 대상" 필드에는 평가된 정책이 연결된 보안 주체의 보안 주체 ARN이 표시됩니다.

이러한 결과를 함께 사용하여 액세스를 거부한 정책과 그 이유를 식별합니다. 평가에는 거부 당시의 정책이 반영됩니다. 그 이후 정책이 변경되었을 수 있습니다.

AWS는 지원되는 API에 대한 액세스 거부 오류 응답에 권한 부여 ID를 자동으로 포함하지만 권한 부여 ID는 보장되지 않습니다. 경우에 따라 AWS는 거부에 대한 권한 부여 세부 정보를 기록하지 않으며 오류 응답에는 권한 부여 ID가 포함되지 않습니다. 세부 정보가 기록되면 AWS가 비동기적으로 세부 정보를 기록하므로 즉시 사용하지 못할 수 있습니다. GetRequestAuthorizationDetails에 대한 호출이 찾을 수 없는 응답을 반환하는 경우 잠시 기다렸다가 다시 시도하십시오. AWS는 거부 후 24시간 동안 권한 부여 세부 정보를 유지합니다.

AWS Management Console을 사용한 문제 해결

액세스 거부 오류 메시지의 링크를 선택하여 액세스 문제 해결 도구 콘솔에서 권한 부여 세부 정보를 엽니다.

  • 확인할 항목 액세스 문제 해결 도구 콘솔에는 요청의 각 작업/리소스 페어에 대한 평가, 각 작업/리소스 페어의 결과(Allow, Explicit deny 또는 Implicit deny), 고려된 정책이 표시됩니다. 거부된 페어와 거부를 유발한 정책을 찾습니다. 예를 들어, 다음 스크린샷을 참조하십시오.

    명시적 거부 및 암시적 거부가 있는 액세스 문제 해결 도구 콘솔의 스크린샷입니다.
  • 거부가 의도되었는지 확인합니다. 정책을 변경하기 전에 평가를 검토합니다. 거부가 올바른 결과일 수 있으며, 그 원인은 정책이 아닌 요청 컨텍스트일 수 있습니다. 예를 들어 요청에서 예상 세션 태그가 누락되었거나 해당 요청이 예기치 않은 네트워크 경로에서 들어왔을 수 있습니다.

  • 거부를 해결하는 방법 해당 정책을 찾아 업데이트하여 액세스 문제를 해결합니다. 명시적 거부의 경우 작업의 Deny 문을 제거하거나 범위를 좁힙니다. 암시적 거부의 경우 작업에 대한 Allow 문을 추가합니다. 자세한 내용은 IAM 정책 편집 섹션을 참조하세요.

권한 부여 세부 정보에 액세스할 수 있는 사용자 단일 계정 또는 단일 조직 내의 요청은 iam:GetRequestAuthorizationDetails에 대한 액세스 권한이 부여된 모든 사용자가 요청의 세부 정보에 액세스할 수 있습니다. 둘 이상의 조직에 걸쳐 있는 요청은 특정 조직의 사용자가 자신의 조직과 관련된 세부 정보만 볼 수 있습니다.

AWS API 또는 AWS CLI를 사용한 문제 해결

AWS API 또는 AWS CLI를 사용하여 거부 문제를 해결하려면:

  1. 액세스 거부 오류 응답에서 권한 부여 ID를 찾습니다.

  2. 거부가 발생한 동일한 AWS 리전에서 권한 부여 ID가 포함된 GetRequestAuthorizationDetails를 호출합니다. 다음은 AWS CLI 명령을 설명하는 예입니다.

    aws iam-toolbox get-request-authorization-details \ --region us-east-1 \ --authorization-id EXAMPLE1a2b3c4d5e6f7g8h9i0j
  3. 평가 결과를 검토하여 액세스를 거부한 정책과 거부 이유를 식별합니다.

  4. 식별된 정책을 업데이트하여 액세스 문제를 해결합니다. 자세한 내용은 IAM 정책 편집 섹션을 참조하세요.

권한 부여 ID를 받지 못한 경우

AWS는 다음과 같은 경우에는 권한 부여 ID를 반환하지 않습니다.

  • 권한이 너무 커서 기록할 수 없습니다. 요청에 많은 수의 정책이 포함된 경우 AWS는 요청을 기록하지 않기로 결정할 수 있습니다.

  • 해당 서비스는 아직 지원되지 않습니다. 지원되는 서비스을(를) 참조하세요.

  • API는 지원되지 않습니다. 지원되는 서비스 내의 일부 API는 권한 부여 ID를 반환하지 않습니다.

  • 요청 유형은 지원되지 않습니다. 여기에는 사용자를 대신하여 서비스가 수행한 요청과 익명 요청이 포함됩니다.

권한 부여 ID를 받지 못한 경우 거부를 진단하는 다른 방법은 액세스 거부 오류 메시지 문제 해결 섹션을 참조하십시오.

추가 고려 사항

필요한 권한: GetRequestAuthorizationDetails를 호출하려면 iam:GetRequestAuthorizationDetails 작업에 대한 권한이 있어야 합니다.

리전 API GetRequestAuthorizationDetails는 리전 API입니다. 액세스 거부 오류 및 권한 부여 ID가 생성된 동일한 AWS 리전에서 호출합니다.

조직 간 요청 거부된 요청에 둘 이상의 조직이 포함된 경우 GetRequestAuthorizationDetails는 자신의 조직에 속한 세부 정보만 반환합니다. 이는 양방향으로 적용됩니다. 거부된 호출자의 조직에 있는 경우 해당 조직과 관련된 세부 정보만 표시됩니다. 거부된 리소스의 조직에 있는 경우 해당 조직과 관련된 세부 정보만 표시됩니다. 조직의 정책 또는 컨텍스트 키 값과 같이 다른 조직이 소유한 세부 정보는 반환되지 않습니다.

아직 권한 부여 ID가 포함되지 않은 API, 서비스 또는 리전에서 액세스 거부 오류가 발생하는 경우 액세스 거부 오류 메시지 문제 해결 섹션을 참조하십시오.

지원되는 서비스

GetRequestAuthorizationDetails에 대한 지원은 AWS API 및 AWS 리전 간에 점진적으로 배포됩니다. 다음 서비스는 GetRequestAuthorizationDetails를 지원합니다.

  • 대부분의 IAM API