If a topic already exists, the SnsEndpoint still requires privileges for the (idempotent) CreateTopic operation to resolve the name to an ARN.
In comparison, the SqsEndpoint uses the ListQueues operation to check for an existing queue before trying to create a queue.
Providing an ARN instead of a name bypasses the issue (added to 2.18 in
CAMEL-9844). Using an ARN instead of a name isn't always practical though.