거부 대기열 정책으로 인해 Amazon Simple Queue Service(Amazon SQS) 대기열에 액세스할 수 없습니다.
간략한 설명
다음 Deny 정책 예시는 모든 Amazon SQS 대기열 작업에 대한 AWS Identity and Access Management(IAM) 엔터티 액세스를 모두 거부합니다.
{ "Version": "2012-10-17",
"Statement": [
{
"Sid": "deny-sqs-actions",
"Effect": "Deny",
"Principal": "*",
"Action": "SQS:*",
"Resource": "queueNameArn"
}
]
}
해결 방법
SQS 대기열 액세스 문제 해결
Deny 대기열 정책을 사용하는 대기열에 액세스할 수 없는 경우 다음 단계를 완료하십시오.
- AWS 계정 루트 사용자를 사용하여 대기열에 액세스합니다. 루트 사용자 자격 증명은 계정의 모든 리소스에 대한 전체 액세스를 허용합니다. 루트 사용자 계정을 사용하여 대기열과 관련된 Deny 정책을 제거할 수 있습니다.
- Deny 정책이 특정 엔터티를 제한하는 경우 정책에서 제외하는 엔터티에 대한 액세스를 시도합니다.
참고: 제외된 엔터티가 대기열에 액세스하는 데 필요한 권한을 보유하는지 확인하십시오.
- AWS Organizations 관리 계정의 SQSUnlockQueuePolicy AWS 관리형 정책을 사용합니다.
SQS 대기열 액세스 손실 방지
다음 모범 사례는 대기열 액세스 손실을 방지하는 데 도움이 됩니다.
Allow 및 Deny 문이 포함된 정책 예시:
{ "Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_Allow_Access",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:user/User1"},
"Action": "sqs:*",
"Resource": "queueNameArn"
}, {
"Sid":"Queue1_Deny_Access",
"Effect": "Deny",
"NotPrincipal": {"AWS": "arn:aws:iam::111122223333:user/User1"},
"Action": "sqs:*",
"Resource": "queueNameArn"
}]
}
위의 정책 예시는 User1 IAM 사용자가 지정된 SQS 대기열의 모든 Amazon SQS 작업에 액세스할 수 있도록 허용합니다. 또한 이 정책은 User1을 제외한 모든 위탁자에 대한 대기열 액세스를 거부합니다.
참고: Deny 정책의 NotPrincipal 요소는 지정된 위탁자를 제외합니다. Allow 문은 제외된 위탁자에게 액세스 권한을 부여합니다.
SQS 대기열에 액세스할 수 없는 경우 AWS Support에 문의
루트 사용자 자격 증명을 사용할 수 없거나 Deny 정책에서 제외하는 엔터티를 모르는 경우, AWS Support에 문의하십시오. 지원 사례를 만들고 다음 정보를 포함하십시오.
- 루트 사용자 자격 증명을 사용하여 대기열에 액세스하려고 했는지 확인합니다. 루트 사용자 자격 증명을 사용할 수 없는 이유 또는 루트 사용자 자격 증명으로 문제가 해결되지 않은 이유를 포함합니다.
- SQSUnlockQueuePolicy AWS 관리형 정책을 사용할 수 없음을 확인하고 그 이유를 포함합니다.
- 본인이 대기열 소유자임을 확인합니다.
- 대기열에 액세스해야 하는 이유를 자세히 입력합니다.
관련 정보
Amazon SQS에서 액세스 관리의 개요