Eu perdi o acesso à minha fila do Amazon Simple Queue Service (Amazon SQS) por causa de uma política de negação de fila.
Breve descrição
A política de negação de exemplo a seguir nega o acesso de todas as entidades do AWS Identity and Access Management (AWS IAM) a todas as ações de fila do Amazon SQS:
{ "Version": "2012-10-17",
"Statement": [
{
"Sid": "deny-sqs-actions",
"Effect": "Deny",
"Principal": "*",
"Action": "SQS:*",
"Resource": "queueNameArn"
}
]
}
Resolução
Solucionar problemas de acesso à fila do SQS
Se você perdeu o acesso à sua fila que usa uma política de negação de fila, conclua as seguintes etapas:
- Use o usuário-raiz da sua conta da AWS para acessar a fila. As credenciais do usuário-raiz permitem acesso total a todos os recursos da conta. É possível usar a conta de usuário-raiz para remover uma política de negação associada à fila.
- Se a política de negação restringir entidades específicas, tente obter acesso com as entidades que a política exclui.
Observação: verifique se as entidades excluídas têm as permissões necessárias para acessar a fila.
- Use a política gerenciada pela AWS SQSUnlockQueuePolicy a partir da conta gerencial do AWS Organizations.
Evitar a perda de acesso à fila do SQS
As práticas recomendadas a seguir ajudam a evitar a perda de acesso à fila:
Exemplo de política com instruções Permitir e Negar:
{ "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"
}]
}
O exemplo de política anterior permite que o usuário do IAM User1 acesse todas as ações do Amazon SQS na fila do SQS especificada. Essa política também nega acesso à fila a todas as entidades principais, exceto a User1.
Observação: o elemento NotPrincipal na política de negação exclui a entidade principal especificada. A instrução Permitir concede permissões de acesso à entidade principal excluída.
Entre em contato com o AWS Support se você não conseguir acessar a fila do SQS
Se você não puder usar credenciais de usuário-raiz ou não souber as entidades que a política de negação exclui, entre em contato com o AWS Support. Crie um caso de suporte e inclua as seguintes informações:
- Confirme se você usou as credenciais do usuário-raiz para tentar acessar a fila. Inclua o motivo pelo qual você não pode usar as credenciais do usuário-raiz ou por que as credenciais do usuário-raiz não resolveram o problema.
- Confirme que você não pode usar a política gerenciada pela AWS SQSUnlockQueuePolicy e inclua o motivo.
- Confirme que você é o proprietário da fila.
- Forneça um motivo detalhado do motivo pelo qual você precisa acessar a fila.
Informações relacionadas
Visão geral do gerenciamento de acesso no Amazon SQS