Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Otorisasi IAM di WebSocket APIs mirip dengan yang untuk REST APIs, dengan pengecualian berikut:
-
execute-api
Tindakan mendukungManageConnections
selain tindakan yang ada (Invoke
,InvalidateCache
).ManageConnections
mengontrol akses ke @connections API. -
WebSocket rute menggunakan format ARN yang berbeda:
arn:aws:execute-api:
region
:account-id
:api-id
/stage-name
/route-key
-
@connections
API menggunakan format ARN yang sama dengan REST: APIsarn:aws:execute-api:
region
:account-id
:api-id
/stage-name
/POST/@connections
penting
Ketika Anda menggunakan otorisasi IAM, Anda harus menandatangani permintaan dengan Signature Version 4 (SigV4).
Misalnya, Anda dapat menyiapkan kebijakan berikut ke klien. Contoh ini memungkinkan setiap orang untuk mengirim pesan (Invoke
) untuk semua rute kecuali untuk rute rahasia di prod
panggung dan mencegah semua orang mengirim pesan kembali ke klien yang terhubung (ManageConnections
) untuk semua tahapan.
{ "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
/*" ] } ] }