Kontrol akses ke WebSocket API dengan otorisasi IAM - APIGerbang Amazon

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-apiTindakan mendukung ManageConnections selain tindakan yang ada (Invoke,InvalidateCache). ManageConnectionsmengontrol akses ke @connections API.

  • WebSocket rute menggunakan format ARN yang berbeda:

    arn:aws:execute-api:region:account-id:api-id/stage-name/route-key
  • @connectionsAPI 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/*" ] } ] }