Control del acceso a las API de WebSocket con autorización de IAM
La autorización de IAM en las API de WebSocket es similar a la de las API REST, con las siguientes excepciones:
-
La acción
execute-apiadmiteManageConnectionsademás de las acciones existentes (Invoke,InvalidateCache).ManageConnectionscontrola el acceso a la API @connections. -
Las rutas de WebSocket utilizan un formato de ARN distinto:
arn:aws:execute-api:region:account-id:api-id/stage-name/route-key -
La API
@connectionsutiliza el mismo formato de ARN que las API de REST:arn:aws:execute-api:region:account-id:api-id/stage-name/POST/@connections
importante
Cuando utilice la Autorización de IAM, deberá firmar las solicitudes con Signature Version 4 (SigV4).
Por ejemplo, podría configurar la siguiente política en el cliente. Este ejemplo permite a cualquier usuario enviar un mensaje (Invoke) a todas las rutas excepto a una ruta secreta en la etapa prod e impide que se manden mensajes a los clientes conectados (ManageConnections) en todas las etapas.