Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrol akses ke WebSocket API dengan otorisasi IAM
Otorisasi IAM di WebSocket API mirip dengan yang untuk REST API, 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 API:arn: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
/*" ] } ] }