IAM Access Analyzer 오류 결과
IAM Access Analyzer 오류 결과
IAM Access Analyzer가 특정 리소스나 주체-리소스 쌍에 대한 분석을 완료하지 못하면 오류 결과를 생성합니다. 이 문서에서는 외부·내부 접근 오류 결과의 유형과 해결 방법을 예시 JSON과 함께 설명합니다.
출처: 문서
본문
IAM Access Analyzer가 리소스를 분석할 때는 일반적으로 누가 리소스에 접근할 수 있는지 보여 주는 결과를 생성합니다. 하지만 어떤 경우에는 분석기가 분석을 완료하지 못하게 하는 문제가 발생할 수 있어요. 이런 상황에서 IAM Access Analyzer는 대신 오류 결과(error findings) 를 생성합니다.
오류 결과는 IAM Access Analyzer가 특정 리소스나 특정 주체-리소스 쌍에 대한 분석을 완료하지 못했음을 나타냅니다. 이 결과는 적절한 분석을 위해 주의가 필요할 수 있는 리소스를 식별하는 데 도움을 줍니다.
외부 접근 오류 결과
계정·조직 밖으로 공유되는 리소스를 식별하는 외부 접근 분석기는 두 가지 유형의 오류 결과를 생성할 수 있습니다.
INTERNAL_ERROR— IAM Access Analyzer가 리소스를 분석하는 동안 내부 문제가 발생했음을 나타냅니다. 서비스 제한이나 일시적 문제 때문일 수 있어요.
{
"findingDetails": [
{
"externalAccessDetails": {}
}
],
"resource": "arn:aws:iam::941407043048:role/TestAccessAnalyzer",
"status": "ACTIVE",
"error": "INTERNAL_ERROR",
"createdAt": "2022-07-14T01:31:43.085000+00:00",
"resourceType": "AWS::IAM::Role",
"findingType": "ExternalAccess",
"resourceOwnerAccount": "941407043048",
"analyzedAt": "2025-03-19T06:51:46.109000+00:00",
"id": "4b035c7d-b7d2-40e4-a6c3-9887d1a995df",
"updatedAt": "2022-07-14T01:31:43.085000+00:00"
}
ACCESS_DENIED— IAM Access Analyzer에 리소스를 분석하는 데 필요한 권한이 없음을 나타냅니다. 일반적으로 IAM Access Analyzer의 서비스 연결 역할(SLR)이 리소스에 대한 접근을 거부당할 때 발생합니다.
{
"findingDetails": [
{
"externalAccessDetails": {}
}
],
"resource": "arn:aws:kms:us-west-2:941407043048:key/01cae123-b7f2-4488-9a05-0070a072ea2c",
"status": "ACTIVE",
"error": "ACCESS_DENIED",
"createdAt": "2022-07-14T01:31:43.104000+00:00",
"resourceType": "AWS::KMS::Key",
"findingType": "ExternalAccess",
"resourceOwnerAccount": "941407043048",
"analyzedAt": "2025-03-19T06:51:46.090000+00:00",
"id": "7ef6f04a-9d2c-4038-9cc0-2a5f00a4d8f8",
"updatedAt": "2022-07-14T01:31:43.104000+00:00"
}
내부 접근 오류 결과
계정·조직 내 접근을 식별하는 내부 접근 분석기는 네 가지 유형의 오류 결과를 생성할 수 있습니다.
PRINCIPAL_LIMIT_EXCEEDED— 중요 리소스에 3,000개가 넘는 주체가 접근할 때 생성됩니다. 이 오류는 지나치게 광범위한 접근이 있어 제한이 필요할 수 있는 리소스를 식별하는 데 도움을 줍니다. 환경의 리소스·주체를 변경해 주체 수를 한도 아래로 줄이면, 분석기는 다음 스캔에서 정상 결과를 생성하고 오류 결과는 해결됨으로 표시됩니다.
{
"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
"status": "ACTIVE",
"error": "PRINCIPAL_LIMIT_EXCEEDED",
"resource": "arn:aws:s3:::critical-data",
"resourceType": "AWS::S3::Bucket",
"resourceOwnerAccount": "111122223333",
"createdAt": "2023-11-30T00:56:56.437000+00:00",
"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
"updatedAt": "2023-11-30T00:56:56.437000+00:00",
"findingType": "InternalAccess",
"findingDetails": [
{
"internalAccessDetails": {}
}
]
}
- 리소스 수준 오류(
INTERNAL_ERROR또는ACCESS_DENIED) — 외부 접근 오류와 유사하게, 내부 문제나 권한 문제로 분석기가 특정 리소스를 분석하지 못했음을 나타냅니다. 리소스 수준 오류가 발생하면 분석기는 정상 결과 대신 리소스에 대한 단일 오류 결과를 생성합니다.
{
"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
"status": "ACTIVE",
"error": "INTERNAL_ERROR", // can be INTERNAL_ERROR or ACCESS_DENIED
"resource": "arn:aws:s3:::critical-data",
"resourceType": "AWS::S3::Bucket",
"resourceOwnerAccount": "111122223333",
"createdAt": "2023-11-30T00:56:56.437000+00:00",
"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
"updatedAt": "2023-11-30T00:56:56.437000+00:00",
"findingType": "InternalAccess",
"findingDetails": [
{
"internalAccessDetails": {}
}
]
}
- 주체 수준 오류(
INTERNAL_ERROR또는ACCESS_DENIED) — 분석기가 특정 리소스에 대한 특정 주체의 접근을 분석하지 못했음을 나타냅니다. 리소스 수준 오류와 달리, 리소스는 일부 주체에 대한 정상 결과와 다른 주체에 대한 오류 결과를 동시에 가질 수 있습니다.
{
"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
"status": "ACTIVE",
"error": "INTERNAL_ERROR", // can be INTERNAL_ERROR or ACCESS_DENIED
"resource": "arn:aws:s3:::critical-data",
"resourceType": "AWS::S3::Bucket",
"resourceOwnerAccount": "111122223333",
"createdAt": "2023-11-30T00:56:56.437000+00:00",
"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
"updatedAt": "2023-11-30T00:56:56.437000+00:00",
"findingType": "InternalAccess",
"findingDetails": [
{
"internalAccessDetails": {
"principal": {
"AWS": "arn:aws:iam::111122223333:role/MyRole_1"
},
"principalOwnerAccount": "111122223333",
"principalType": "IAM_ROLE",
"accessType": "INTRA_ACCOUNT"
}
}
]
}
PRINCIPAL_ERRORS_LIMIT_EXCEEDED— 단일 리소스에 대한 주체 수준 오류 결과가 너무 많을 때 생성됩니다. 같은 리소스의 정상 결과와 함께 나타날 수 있는 리소스 수준 오류 결과입니다.
{
"id": "efec28fe-b304-412f-af0f-704d0d70c79c",
"status": "ACTIVE",
"error": "PRINCIPAL_ERRORS_LIMIT_EXCEEDED",
"resource": "arn:aws:s3:::critical-data",
"resourceType": "AWS::S3::Bucket",
"resourceOwnerAccount": "111122223333",
"createdAt": "2023-11-30T00:56:56.437000+00:00",
"analyzedAt": "2024-03-06T04:11:54.406000+00:00",
"updatedAt": "2023-11-30T00:56:56.437000+00:00",
"findingType": "InternalAccess",
"resourceControlPolicyRestriction": "NOT_APPLICABLE",
"serviceControlPolicyRestriction": "NOT_APPLICABLE",
"findingDetails": [
{
"internalAccessDetails": {}
}
]
}
오류 결과 해결
IAM Access Analyzer가 리소스를 분석하지 못하게 한 문제를 해결하면, 오류 결과는 해결된 결과로 바뀌는 대신 완전히 제거됩니다.
오류 결과를 해결하려면 오류 유형에 따라 다음 접근 방식을 고려하세요.
ACCESS_DENIED오류의 경우 IAM Access Analyzer 서비스 연결 역할이 리소스에 접근하는 데 필요한 권한을 갖고 있는지 확인하세요.PRINCIPAL_LIMIT_EXCEEDED오류의 경우 리소스의 접근 정책을 검토하고 더 적은 주체로 접근을 제한하는 것을 고려하세요.INTERNAL_ERROR결과의 경우 후속 분석 주기를 기다리거나, 문제가 지속되면 AWS 지원에 문의해야 할 수 있어요.PRINCIPAL_ERRORS_LIMIT_EXCEEDED의 경우 영향을 받는 리소스의 접근 패턴을 검토하고 단순화할 수 있습니다.
근본 문제를 해결하도록 변경한 후 IAM Access Analyzer는 다음 스캔 주기에서 리소스를 다시 분석하려고 시도합니다.