

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

# Pilih sumber kunci API di API Gateway
<a name="api-gateway-api-key-source"></a>

Saat Anda mengaitkan rencana penggunaan dengan API dan mengaktifkan kunci API pada metode API, setiap permintaan masuk ke API harus berisi [kunci API](api-gateway-basic-concept.md#apigateway-definition-api-key). API Gateway membaca kunci dan membandingkannya dengan kunci dalam paket penggunaan. Jika ada kecocokan, API Gateway membatasi permintaan berdasarkan batas permintaan dan kuota paket. Kalau tidak, itu melempar `InvalidKeyParameter` pengecualian. Akibatnya, penelepon menerima `403 Forbidden` respons.

API Gateway API Anda dapat menerima kunci API dari salah satu dari dua sumber:

**`HEADER`**  
Anda mendistribusikan kunci API ke pelanggan Anda dan meminta mereka untuk meneruskan kunci API sebagai `X-API-Key` header dari setiap permintaan yang masuk. 

**`AUTHORIZER`**  
Anda memiliki otorisasi Lambda yang mengembalikan kunci API sebagai bagian dari respons otorisasi. Untuk informasi selengkapnya tentang respons otorisasi, lihat[Keluaran dari otorisasi API Gateway Lambda](api-gateway-lambda-authorizer-output.md).

**catatan**  
Untuk praktik terbaik untuk dipertimbangkan, lihat[Praktik terbaik untuk kunci API dan paket penggunaan](api-gateway-api-usage-plans.md#apigateway-usage-plans-best-practices).

Prosedur berikut menunjukkan cara memilih sumber kunci API untuk API.

------
#### [ Konsol Manajemen AWS ]

**Untuk memilih sumber kunci API untuk API**

1. Masuk ke konsol API Gateway.

1. Pilih API yang sudah ada atau buat yang baru.

1. Di panel navigasi utama, pilih **pengaturan API**. 

1. Di bagian **detail API**, pilih **Edit**. 

1.  Di bawah **sumber kunci API**, pilih `Header` atau `Authorizer` dari daftar tarik-turun.

1. Pilih **Simpan perubahan**.

------
#### [ AWS CLI ]

[update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html)Perintah berikut memperbarui API untuk menyetel sumber kunci API ke`AUTHORIZER`:

```
aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER
```

Agar klien mengirimkan kunci API, atur `value` ke `HEADER` dalam perintah sebelumnya.

------
#### [ REST API ]

Untuk memilih sumber kunci API untuk API dengan menggunakan API Gateway REST API, panggil [https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UpdateRestApi.html)sebagai berikut:

```
PATCH /restapis/fugvjdxtri/ HTTP/1.1
Content-Type: application/json
Host: apigateway.us-east-1.amazonaws.com
X-Amz-Date: 20160603T205348Z
Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature={sig4_hash}

{
  "patchOperations" : [
    {
        "op" : "replace",
        "path" : "/apiKeySource",
        "value" : "HEADER"
    }
  ]
}
```

Agar otorisasi mengembalikan kunci API, setel `value` ke `AUTHORIZER` dalam `patchOperations` input sebelumnya.

------