Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pilih sumber API kunci di API Gateway
Saat Anda mengaitkan paket penggunaan dengan API dan mengaktifkan API kunci pada API metode, setiap permintaan yang masuk ke API harus berisi APIkunci. APIGateway 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.
APIGateway Anda API dapat menerima API kunci dari salah satu dari dua sumber:
HEADER
-
Anda mendistribusikan API kunci kepada pelanggan Anda dan meminta mereka untuk meneruskan API kunci sebagai
X-API-Key
header dari setiap permintaan yang masuk. AUTHORIZER
-
Anda memiliki otorisasi Lambda mengembalikan API kunci sebagai bagian dari respons otorisasi. Untuk informasi selengkapnya tentang respons otorisasi, lihatKeluaran dari otorisasi API Gateway Lambda.
catatan
Untuk praktik terbaik untuk dipertimbangkan, lihatPraktik terbaik untuk API kunci dan paket penggunaan.
Untuk memilih sumber API kunci untuk API menggunakan konsol API Gateway
-
Masuk ke konsol API Gateway.
-
Pilih yang sudah ada API atau buat yang baru.
-
Di panel navigasi utama, pilih APIpengaturan.
-
Di bagian APIdetail, pilih Edit.
-
Di bawah sumber API kunci, pilih
Header
atauAuthorizer
dari daftar dropdown. -
Pilih Simpan perubahan.
Untuk memilih sumber API kunci untuk API dengan menggunakan AWS CLI, panggil update-rest-api
perintah sebagai berikut:
aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/apiKeySource,value=AUTHORIZER
Untuk meminta klien mengirimkan API kunci, atur value
ke HEADER
dalam perintah sebelumnya. CLI
Untuk memilih sumber API kunci untuk API menggunakan API Gateway RESTAPI, panggil restapi:update
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" } ] }
Untuk meminta otorisasi mengembalikan API kunci, atur value
ke AUTHORIZER
dalam patchOperations
input sebelumnya.
Bergantung pada jenis sumber API kunci yang Anda pilih, gunakan salah satu prosedur berikut untuk menggunakan API kunci bersumber header atau kunci yang dikembalikan otorisasi dalam pemanggilan metodeAPI:
Untuk menggunakan kunci bersumber headerAPI:
-
Buat API dengan API metode yang diinginkan, dan kemudian menyebarkan API ke panggung.
-
Buat paket penggunaan baru atau pilih yang sudah ada. Tambahkan API tahap yang diterapkan ke paket penggunaan. Lampirkan API kunci ke paket penggunaan atau pilih API kunci yang ada dalam paket. Perhatikan nilai API kunci yang dipilih.
-
Siapkan API metode untuk membutuhkan API kunci.
-
Tempatkan kembali API ke tahap yang sama. Jika Anda menerapkan API ke tahap baru, pastikan untuk memperbarui rencana penggunaan untuk melampirkan API tahap baru.
Klien sekarang dapat memanggil API metode sambil memasok x-api-key
header dengan API kunci yang dipilih sebagai nilai header.
Untuk menggunakan kunci yang bersumber dari otorisasiAPI:
-
Buat API dengan API metode yang diinginkan, dan kemudian menyebarkan API ke panggung.
-
Buat paket penggunaan baru atau pilih yang sudah ada. Tambahkan API tahap yang diterapkan ke paket penggunaan. Lampirkan API kunci ke paket penggunaan atau pilih API kunci yang ada dalam paket. Perhatikan nilai API kunci yang dipilih.
-
Buat otorisasi Lambda berbasis token. Sertakan,
usageIdentifierKey:
sebagai properti tingkat root dari respons otorisasi. Untuk petunjuk cara membuat otorisasi berbasis token, lihat. Contoh fungsi Lambda TOKEN authorizer{api-key}
-
Siapkan API metode untuk memerlukan API kunci dan aktifkan otorisasi Lambda pada metode juga.
-
Tempatkan kembali API ke tahap yang sama. Jika Anda menerapkan API ke tahap baru, pastikan untuk memperbarui rencana penggunaan untuk melampirkan API tahap baru.
Klien sekarang dapat memanggil metode yang API diperlukan kunci tanpa secara eksplisit memasok kunci apa pun. API APIKunci yang dikembalikan otorisasi digunakan secara otomatis.