Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
L'autorisation IAM dans WebSocket APIs est similaire à celle pour REST APIs, avec les exceptions suivantes :
-
L’action
execute-api
prend en chargeManageConnections
en plus des actions existantes (Invoke
,InvalidateCache
).ManageConnections
contrôle l’accès à l’API @connections. -
WebSocket les routes utilisent un format d'ARN différent :
arn:aws:execute-api:
region
:account-id
:api-id
/stage-name
/route-key
-
L'
@connections
API utilise le même format ARN que REST APIs :arn:aws:execute-api:
region
:account-id
:api-id
/stage-name
/POST/@connections
Important
Lorsque vous utilisez Autorisation IAM, vous devez signer les requêtes avec Signature Version 4 (SigV4).
Par exemple, vous pouvez configurer la politique suivante pour le client. Cet exemple autorise tout le monde à envoyer un message (Invoke
) pour toutes les routes, sauf pour une route secrète de l’étape prod
, et empêche tout le monde de renvoyer un message aux clients connectés (ManageConnections
) pour toutes les étapes.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:
us-east-1
:account-id
:api-id
/prod/*" ] }, { "Effect": "Deny", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-east-1
:account-id
:api-id
/prod/secret" ] }, { "Effect": "Deny", "Action": [ "execute-api:ManageConnections" ], "Resource": [ "arn:aws:execute-api:us-east-1
:account-id
:api-id
/*" ] } ] }