Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Setelah Anda membuat fungsi Lambda, Anda mengonfigurasi fungsi Lambda sebagai otorisasi untuk fungsi Lambda. API Anda kemudian mengonfigurasi metode Anda untuk memanggil otorisasi Lambda Anda untuk menentukan apakah pemanggil dapat memanggil metode Anda. Anda dapat membuat fungsi Lambda di akun yang sama, atau akun yang berbeda, dari tempat Anda membuat. API
Anda dapat menguji otorisasi Lambda Anda menggunakan alat bawaan di konsol API Gateway atau dengan menggunakan Postman. Untuk petunjuk tentang cara menggunakan Postman untuk menguji fungsi otorisasi Lambda Anda, lihat. Panggil API dengan otorisasi API Gateway Lambda
Prosedur berikut menunjukkan cara membuat otorisasi Lambda di konsol Gateway. API REST API Untuk mempelajari lebih lanjut tentang berbagai jenis otorisasi Lambda, lihat. Memilih jenis otorisasi Lambda
- REQUEST authorizer
-
Untuk mengkonfigurasi otorisasi REQUEST
Lambda
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.
-
PilihAPI, dan kemudian pilih Authorizers.
-
Pilih Buat Authorizer.
-
Untuk nama Authorizer, masukkan nama untuk otorisasi.
-
Untuk jenis Authorizer, pilih Lambda.
-
Untuk fungsi Lambda, pilih Wilayah AWS tempat Anda membuat fungsi otorisasi Lambda Anda, lalu masukkan nama fungsi.
-
Biarkan peran panggilan Lambda kosong untuk membiarkan REST API konsol API Gateway menyetel kebijakan berbasis sumber daya. Kebijakan ini memberikan izin API Gateway untuk menjalankan fungsi otorisasi Lambda. Anda juga dapat memilih untuk memasukkan nama IAM peran untuk memungkinkan API Gateway menjalankan fungsi otorisasi Lambda. Untuk peran contoh, lihatBuat peran yang dapat diasumsikan IAM.
-
Untuk payload acara Lambda, pilih Minta.
-
Untuk tipe sumber Identity, pilih tipe parameter. Jenis parameter yang didukung adalahHeader
,Query string
,Stage
variable
, danContext
. Untuk menambahkan lebih banyak sumber identitas, pilih Tambah parameter.
-
Untuk men-cache kebijakan otorisasi yang dihasilkan oleh otorisasi, biarkan caching Otorisasi tetap aktif. Saat caching kebijakan diaktifkan, Anda dapat mengubah TTLnilainya. Menyetel TTLke nol menonaktifkan caching kebijakan.
Jika Anda mengaktifkan caching, otorisasi Anda harus mengembalikan kebijakan yang berlaku untuk semua metode di seluruh file. API Untuk menegakkan kebijakan khusus metode, gunakan variabel konteks dan. $context.path
$context.httpMethod
-
Pilih Buat Authorizer.
- TOKEN authorizer
Untuk mengkonfigurasi otorisasi TOKEN
Lambda
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.
-
PilihAPI, dan kemudian pilih Authorizers.
-
Pilih Buat Authorizer.
-
Untuk nama Authorizer, masukkan nama untuk otorisasi.
-
Untuk jenis Authorizer, pilih Lambda.
-
Untuk fungsi Lambda, pilih Wilayah AWS tempat Anda membuat fungsi otorisasi Lambda Anda, lalu masukkan nama fungsi.
-
Biarkan peran panggilan Lambda kosong untuk membiarkan REST API konsol API Gateway menyetel kebijakan berbasis sumber daya. Kebijakan ini memberikan izin API Gateway untuk menjalankan fungsi otorisasi Lambda. Anda juga dapat memilih untuk memasukkan nama IAM peran untuk memungkinkan API Gateway menjalankan fungsi otorisasi Lambda. Untuk peran contoh, lihatBuat peran yang dapat diasumsikan IAM.
-
Untuk payload acara Lambda, pilih Token.
-
Untuk sumber Token, masukkan nama header yang berisi token otorisasi. Penelepon harus menyertakan header nama ini untuk mengirim token otorisasi ke otorisasi Lambda.
-
(Opsional) Untuk validasi Token, masukkan RegEx pernyataan. APIGateway melakukan validasi awal token input terhadap ekspresi ini dan memanggil authorizer setelah validasi berhasil.
-
Untuk men-cache kebijakan otorisasi yang dihasilkan oleh otorisasi, biarkan caching Otorisasi tetap aktif. Saat caching kebijakan diaktifkan, nama header yang ditentukan dalam sumber Token menjadi kunci cache. Saat caching kebijakan diaktifkan, Anda dapat mengubah TTLnilainya. Menyetel TTLke nol menonaktifkan caching kebijakan.
Jika Anda mengaktifkan caching, otorisasi Anda harus mengembalikan kebijakan yang berlaku untuk semua metode di seluruh file. API Untuk menerapkan kebijakan khusus metode, Anda dapat menonaktifkan caching Otorisasi.
-
Pilih Buat Authorizer.
Setelah Anda membuat otorisasi Lambda Anda, Anda dapat mengujinya. Prosedur berikut menunjukkan cara menguji otorisasi Lambda Anda.
- REQUEST authorizer
-
Untuk menguji otorisasi REQUEST
Lambda
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.
-
Pilih nama otorisasi Anda.
-
Di bawah Pengotorisasi uji, masukkan nilai untuk sumber identitas Anda.
Jika Anda menggunakanContoh fungsi Lambda REQUEST authorizer, lakukan hal berikut:
-
Pilih Header dan enterheaderValue1
, lalu pilih Tambah parameter.
-
Di bawah Jenis sumber identitas, pilih String kueri dan masukkanqueryValue1
, lalu pilih Tambah parameter.
-
Di bawah Identity source type, pilih Stage variable dan enterstageValue1
.
Anda tidak dapat mengubah variabel konteks untuk pemanggilan pengujian, tetapi Anda dapat memodifikasi template peristiwa pengujian APIGateway Authorizer untuk fungsi Lambda Anda. Kemudian, Anda dapat menguji fungsi otorisasi Lambda Anda dengan variabel konteks yang dimodifikasi. Untuk informasi selengkapnya, lihat Menguji fungsi Lambda di konsol di Panduan AWS Lambda Pengembang.
-
Pilih Test Authorizer.
- TOKEN authorizer
Untuk menguji otorisasi TOKEN
Lambda
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.
-
Pilih nama otorisasi Anda.
-
Di bawah Pengotorisasi uji, masukkan nilai untuk token Anda.
Jika Anda menggunakanContoh fungsi Lambda TOKEN authorizer, lakukan hal berikut:
Untuk authorizationToken, masukkanallow
.
-
Pilih Test Authorizer.
Jika otorisasi Lambda Anda berhasil menolak permintaan di lingkungan pengujian, pengujian akan merespons dengan respons. 200 OK
HTTP Namun, di luar lingkungan pengujian, API Gateway mengembalikan 403 Forbidden
HTTP respons dan permintaan metode gagal.
Perintah create-authorizer berikut menunjukkan untuk membuat authorizer Lambda menggunakan. AWS CLI
- REQUEST authorizer
-
Contoh berikut membuat REQUEST
authorizer dan menggunakan variabel Authorizer
header dan accountId
konteks sebagai sumber identitas:
aws apigateway create-authorizer \
--rest-api-id 1234123412 \
--name 'First_Request_Custom_Authorizer' \
--type REQUEST \
--authorizer-uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations' \
--identity-source 'method.request.header.Authorization,context.accountId' \
--authorizer-result-ttl-in-seconds 300
- TOKEN authorizer
-
Contoh berikut membuat TOKEN
authorizer dan menggunakan Authorization
header sebagai sumber identitas:
aws apigateway create-authorizer \
--rest-api-id 1234123412 \
--name 'First_Token_Custom_Authorizer' \
--type TOKEN \
--authorizer-uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations' \
--identity-source 'method.request.header.Authorization' \
--authorizer-result-ttl-in-seconds 300
Setelah Anda membuat otorisasi Lambda Anda, Anda dapat mengujinya. test-invoke-authorizerPerintah berikut menunjukkan cara menguji otorisasi Lambda Anda:
aws apigateway test-invoke-authorizer --rest-api-id 1234123412 \
--authorizer-id efg1234 \
--headers Authorization='Value'
Setelah Anda mengkonfigurasi otorisasi Lambda Anda, Anda harus melampirkannya ke metode untuk Anda. API
Untuk mengonfigurasi API metode untuk menggunakan otorisasi Lambda
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.
-
Pilih sebuahAPI.
-
Pilih Sumber Daya, lalu pilih metode baru atau pilih metode yang ada.
-
Pada tab Permintaan metode, di bawah Pengaturan permintaan metode, pilih Edit.
-
Untuk Authorizer, dari menu dropdown, pilih Lambda Authorizer yang baru saja Anda buat.
-
(Opsional) Jika Anda ingin meneruskan token otorisasi ke backend, pilih HTTP header permintaan. Pilih Tambahkan header, lalu tambahkan nama header otorisasi. Untuk Nama, masukkan nama header yang cocok dengan nama sumber Token yang Anda tentukan saat Anda membuat otorisasi Lambda untuk. API Langkah ini tidak berlaku untuk REQUEST
otorisasi.
-
Pilih Simpan.
-
Pilih Deploy API untuk menyebarkan API ke panggung. Untuk REQUEST
otorisasi yang menggunakan variabel tahap, Anda juga harus menentukan variabel tahap yang diperlukan dan menentukan nilainya saat berada di halaman Tahapan.
Setelah Anda mengkonfigurasi otorisasi Lambda Anda, Anda harus melampirkannya ke metode untuk Anda. API Anda dapat membuat metode baru atau menggunakan operasi tambalan untuk melampirkan otorisasi ke metode yang ada.
Perintah put-method berikut menunjukkan cara membuat metode baru yang menggunakan authorizer Lambda:
aws apigateway put-method --rest-api-id 1234123412 \
--resource-id a1b2c3 \
--http-method PUT \
--authorization-type CUSTOM \
--authorizer-id efg1234
Perintah update-method berikut menunjukkan cara memperbarui metode yang ada untuk menggunakan Lambda authorizer:
aws apigateway update-method \
--rest-api-id 1234123412 \
--resource-id a1b2c3 \
--http-method PUT \
--patch-operations op="replace",path="/authorizationType",value="CUSTOM" op="replace",path="/authorizerId",value="efg1234"