Controlar o acesso a APIs de WebSocket com autorização do IAM
A autorização do IAM em APIs WebSocket é semelhante à utilizada para APIs REST, com as seguintes exceções:
-
A ação
execute-apioferece suporte aManageConnections, além de ações existentes (Invoke,InvalidateCache).ManageConnectionscontrola o acesso à API @connections. -
As rotas do WebSocket utilizam um formato diferente de ARN:
arn:aws:execute-api:region:account-id:api-id/stage-name/route-key -
A API
@connectionsutiliza o mesmo formato de ARN presente nas APIs REST:arn:aws:execute-api:region:account-id:api-id/stage-name/POST/@connections
Importante
Ao usar a Autorização do IAM, é necessário assinar solicitações com o Signature Version 4 (SigV4).
Por exemplo, você pode configurar a política a seguir ao cliente: Este exemplo permite que todas as pessoas enviem uma mensagem (Invoke) a todas as rotas, exceto para uma rota secreta no estágio prod, além de impedir que qualquer pessoa envie uma mensagem aos clientes conectados (ManageConnections) para todos os estágios.