Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Setelah membuat fungsi Lambda, Anda mengonfigurasi fungsi Lambda sebagai otorisasi untuk API Anda. 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 lain, dari tempat Anda membuat API.
Anda dapat menguji otorisasi Lambda Anda menggunakan alat bawaan di konsol API Gateway atau dengan menggunakan Postman.
Konfigurasikan otorisasi Lambda (konsol)
Prosedur berikut menunjukkan cara membuat otorisasi Lambda di konsol API Gateway REST API. Untuk mempelajari selengkapnya tentang berbagai jenis otorisasi Lambda, lihat. Memilih jenis otorisasi Lambda
Untuk mengkonfigurasi otorisasi REQUEST
Lambda
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih API, lalu 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 agar konsol API Gateway REST API menetapkan kebijakan berbasis sumber daya. Kebijakan ini memberikan izin API Gateway untuk menjalankan fungsi otorisasi Lambda. Anda juga dapat memilih untuk memasukkan nama peran IAM untuk mengizinkan 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 adalah
Header
,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 nilai TTL. Menyetel TTL ke nol menonaktifkan caching kebijakan.
Jika Anda mengaktifkan caching, otorisasi Anda harus mengembalikan kebijakan yang berlaku untuk semua metode di seluruh API. Untuk menegakkan kebijakan khusus metode, gunakan variabel konteks dan.
$context.path
$context.httpMethod
-
Pilih Buat Authorizer.
Setelah Anda membuat otorisasi Lambda Anda, Anda dapat mengujinya. Prosedur berikut menunjukkan cara menguji otorisasi Lambda Anda.
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 enter
headerValue1
, lalu pilih Tambah parameter. -
Di bawah Jenis sumber identitas, pilih String kueri dan masukkan
queryValue1
, lalu pilih Tambah parameter. -
Di bawah Identity source type, pilih Stage variable dan enter
stageValue1
.
Anda tidak dapat mengubah variabel konteks untuk pemanggilan pengujian, tetapi Anda dapat memodifikasi template peristiwa pengujian API Gateway 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.
Konfigurasikan otorisasi Lambda ()AWS CLI
Perintah create-authorizer berikut menunjukkan untuk membuat authorizer Lambda menggunakan. AWS CLI
Perintah create-authorizer 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
Setelah Anda membuat otorisasi Lambda Anda, Anda dapat mengujinya. test-invoke-authorizerPerintah berikut menguji otorisasi Lambda:
aws apigateway test-invoke-authorizer --rest-api-id 1234123412 \ --authorizer-id efg1234 \ --headers Authorization='Value'
Konfigurasikan metode untuk menggunakan otorisasi Lambda (konsol)
Setelah mengonfigurasi otorisasi Lambda, Anda harus melampirkannya ke metode untuk API Anda.
Untuk mengonfigurasi metode API untuk menggunakan otorisasi Lambda
-
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. -
Pilih API.
-
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 header permintaan HTTP. Pilih Tambahkan header, lalu tambahkan nama header otorisasi. Untuk Nama, masukkan nama header yang cocok dengan nama sumber Token yang Anda tentukan saat membuat otorisasi Lambda untuk API. Langkah ini tidak berlaku untuk
REQUEST
otorisasi. -
Pilih Simpan.
-
Pilih Deploy API untuk menerapkan 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.
Konfigurasikan metode untuk menggunakan otorisasi Lambda ()AWS CLI
Setelah mengonfigurasi otorisasi Lambda, Anda harus melampirkannya ke metode untuk API Anda. Anda dapat membuat metode baru atau menggunakan operasi tambalan untuk melampirkan otorisasi ke metode yang ada.
Perintah put-method berikut 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 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"