Como resolvo um “erro de autorização” ao tentar visualizar ou modificar os atributos de uma assinatura SQS entre contas no console do Amazon SNS?
Eu inscrevi minha fila do Amazon Simple Queue Service (Amazon SQS) em um tópico do Amazon Simple Notification Service (Amazon SNS) em uma conta diferente da AWS. Ao visualizar ou editar os atributos da minha assinatura entre contas no console do Amazon SNS, recebo um “erro de autorização” que preciso resolver.
Breve descrição
Se você criar uma assinatura de tópico do SNS para uma fila SQS a partir de uma conta que não é proprietária do tópico, a conta proprietária da fila SQS será proprietária da assinatura. Se você então visualizar ou editar atributos de assinatura do SNS na conta que criou o tópico do SNS, receberá um erro de autorização.
Observação: as permissões de visualização e edição relacionadas à assinatura não podem ser incluídas nas ações da Política de Tópicos do SNS. Em vez disso, use as soluções a seguir.
Resolução
Uso do console da AWS
- Abra o console do Amazon SNS na conta proprietária do tópico SNS.
- No painel de navegação, selecione Tópicos.
- Selecione o nome do tópico. Em seguida, na guia Assinaturas, copie o ID de assinatura da assinatura da fila SQS.
- Abra o console do Amazon SNS na conta que possui a fila SQS.
- Na opção do menu Assinaturas, selecione o ID de assinatura que você copiou na etapa 3.
- Visualize e edite os atributos da assinatura conforme necessário.
Uso do GetSubscriptionAttributes
Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.
Visualize os atributos da assinatura usando GetSubscriptionAttributes na conta que foi usada para criar a assinatura usando a AWS Command Line Interface (AWS CLI) ou o SDK. Para executar esse comando, o usuário ou função do IAM deve ter permissões para as ações do SNS SetSubscriptionAttributes e GetSubscriptionAttributes.
O exemplo a seguir usa o GetSubscriptionAttributes da AWS CLI, usando SubscriptionArn como um parâmetro de solicitação. Para recuperar SubscriptionArn, use ListSubscriptionsByTopic.
aws sns get-subscription-attributes --subscription-arn arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS:53XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX { "Attributes": { "Owner": "9876543210", "RawMessageDelivery": "false", "TopicArn": "arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS", "Endpoint": "example@amazon.com", "Protocol": "email", "PendingConfirmation": "false", "ConfirmationWasAuthenticated": "false", "SubscriptionArn": "arn:aws:sns:eu-central-1:1234567890:TestTopicSubOwnerSQS:53XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" } }
Exclua e recrie a assinatura
Se você quiser que a conta da AWS que possui o tópico do SNS controle os atributos da assinatura do tópico do SNS:
- Exclua a assinatura existente.
- Crie a mesma assinatura a partir da conta proprietária do tópico SNS.
A conta da AWS que possui o tópico SNS agora é proprietária do recurso de assinatura criado.
Informações relacionadas
Como resolvo erros de autorização ao tentar adicionar assinantes a um tópico do Amazon SNS?
Como resolvo erros de “AccessDeniedException” de HTTP 400 do Amazon SNS?
Vídeos relacionados
Conteúdo relevante
- AWS OFICIALAtualizada há 9 meses
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 8 meses
- AWS OFICIALAtualizada há 3 meses