

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kontrol akses WebSocket APIs dengan otorisasi IAM
<a name="apigateway-websocket-control-access-iam"></a>

Otorisasi IAM di WebSocket APIs mirip dengan yang untuk [REST APIs](api-gateway-control-access-using-iam-policies-to-invoke-api.md), dengan pengecualian berikut:
+ `execute-api`Tindakan mendukung `ManageConnections` 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: APIs

  ```
  arn:aws:execute-api:{{region}}:{{account-id}}:{{api-id}}/{{stage-name}}/POST/@connections
  ```

**penting**  
Ketika Anda menggunakan [otorisasi IAM](#apigateway-websocket-control-access-iam), Anda harus menandatangani permintaan dengan [Signature Version 4 (SigV4)](https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html).

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.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "execute-api:Invoke"
            ],
            "Resource": [
                "arn:aws:execute-api:{{us-east-1}}:{{111122223333}}:{{api-id}}/prod/*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": [
                "execute-api:Invoke"
            ],
            "Resource": [
                "arn:aws:execute-api:{{us-east-1}}:{{111122223333}}:{{api-id}}/prod/secret"
            ]
        },
        {
            "Effect": "Deny",
            "Action": [
                "execute-api:ManageConnections"
            ],
            "Resource": [
                "arn:aws:execute-api:{{us-east-1}}:{{111122223333}}:{{api-id}}/*"
            ]
        }
    ]
}
```

------