Depois de muitas abordagens diferentes, descobri que limitar minha política a uma única fila estava causando todos os problemas. Eu assumi que quando a política se aplica à fila única e você faz ListTopics, então você terá apenas o tópico que você tem acesso. No entanto, o meu SNS tinha vários outros tópicos e provavelmente a sua existência no resultado do ListTopics foi considerada uma violação da política. Quando eu substituí o nome do tópico específico por '*' e salvei a política, então immidiatelly (sem necessidade de expiração de credenciais ou reinicialização da instância do EC2) ela começou a funcionar.