Pilih sumber API kunci di API Gateway - APIGerbang Amazon

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
  1. Masuk ke konsol API Gateway.

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

  3. Di panel navigasi utama, pilih APIpengaturan.

  4. Di bagian APIdetail, pilih Edit.

  5. Di bawah sumber API kunci, pilih Header atau Authorizer dari daftar dropdown.

  6. Pilih Simpan perubahan.

Untuk memilih sumber API kunci untuk API dengan menggunakan AWS CLI, panggil update-rest-apiperintah 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:updatesebagai 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:
  1. Buat API dengan API metode yang diinginkan, dan kemudian menyebarkan API ke panggung.

  2. 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.

  3. Siapkan API metode untuk membutuhkan API kunci.

  4. 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:
  1. Buat API dengan API metode yang diinginkan, dan kemudian menyebarkan API ke panggung.

  2. 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.

  3. Buat otorisasi Lambda berbasis token. Sertakan, usageIdentifierKey:{api-key} sebagai properti tingkat root dari respons otorisasi. Untuk petunjuk cara membuat otorisasi berbasis token, lihat. Contoh fungsi Lambda TOKEN authorizer

  4. Siapkan API metode untuk memerlukan API kunci dan aktifkan otorisasi Lambda pada metode juga.

  5. 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.