Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda sekarang juga dapat menggunakan AWS Lambda fungsi dari AWS akun yang berbeda sebagai fungsi otorisasi API Anda. Setiap akun dapat berada di wilayah mana pun di mana Amazon API Gateway tersedia. Fungsi otorisasi Lambda dapat menggunakan strategi otentikasi token pembawa seperti atau SALL. OAuth Ini memudahkan untuk mengelola dan berbagi fungsi otorisasi Lambda pusat secara terpusat di beberapa API Gateway. APIs
Di bagian ini, kami menunjukkan cara mengonfigurasi fungsi otorisasi Lambda lintas akun menggunakan konsol Amazon API Gateway.
Petunjuk ini mengasumsikan bahwa Anda sudah memiliki API Gateway API di satu AWS akun dan fungsi otorisasi Lambda di akun lain.
Konfigurasikan otorisasi Lambda lintas akun menggunakan konsol API Gateway
Masuk ke konsol Amazon API Gateway di akun yang memiliki API Anda di dalamnya, lalu lakukan hal berikut:
-
Pilih API Anda, lalu di panel navigasi utama, pilih Authorizers.
-
Pilih Buat Authorizer.
-
Untuk nama Authorizer, masukkan nama untuk otorisasi.
-
Untuk jenis Authorizer, pilih Lambda.
-
Untuk Fungsi Lambda, masukkan ARN lengkap untuk fungsi otorisasi Lambda yang Anda miliki di akun kedua Anda.
catatan
Di konsol Lambda, Anda dapat menemukan ARN untuk fungsi Anda di sudut kanan atas jendela konsol.
-
Peringatan dengan string
aws lambda add-permission
perintah akan muncul. Kebijakan ini memberikan izin API Gateway untuk menjalankan fungsi Lambda otorisasi. Salin perintah dan simpan untuk nanti. Anda menjalankan perintah setelah Anda membuat authorizer. -
Untuk muatan acara Lambda, pilih Token untuk otorisasi atau Permintaan
TOKEN
otorisasi.REQUEST
-
Bergantung pada pilihan langkah sebelumnya, lakukan salah satu hal berikut:
-
Untuk opsi Token, lakukan hal berikut:
-
Untuk sumber Token, masukkan nama header yang berisi token otorisasi. Klien API harus menyertakan header dari nama ini untuk mengirim token otorisasi ke otorisasi Lambda.
-
Secara opsional, untuk validasi Token, masukkan pernyataan RegEx . API Gateway melakukan validasi awal token input terhadap ekspresi ini dan memanggil authorizer setelah validasi berhasil. Ini membantu mengurangi panggilan ke API Anda.
-
Untuk men-cache kebijakan otorisasi yang dihasilkan oleh otorisasi, biarkan caching Otorisasi tetap aktif. Saat caching kebijakan diaktifkan, Anda dapat memilih untuk mengubah nilai TTL. Menyetel TTL ke nol menonaktifkan caching kebijakan. Saat caching kebijakan diaktifkan, nama header yang ditentukan dalam sumber Token menjadi kunci cache. Jika beberapa nilai diteruskan ke header ini dalam permintaan, semua nilai akan menjadi kunci cache, dengan urutan dipertahankan.
catatan
Nilai TTL default adalah 300 detik. Nilai maksimum adalah 3600 detik, batas ini tidak dapat ditingkatkan.
-
-
Untuk opsi Permintaan, lakukan hal berikut:
-
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 memilih untuk mengubah nilai TTL. Menyetel TTL ke nol menonaktifkan caching kebijakan.
API Gateway menggunakan sumber identitas yang ditentukan sebagai kunci caching otorisasi permintaan. Saat caching diaktifkan, API Gateway memanggil fungsi Lambda otorisasi hanya setelah berhasil memverifikasi bahwa semua sumber identitas yang ditentukan ada saat runtime. Jika sumber identifikasi tertentu hilang, null, atau kosong, API Gateway mengembalikan
401 Unauthorized
respons tanpa memanggil fungsi Lambda otorisasi.Ketika beberapa sumber identitas didefinisikan, mereka semua digunakan untuk mendapatkan kunci cache otorisasi. Mengubah salah satu bagian kunci cache menyebabkan otorisasi membuang dokumen kebijakan yang di-cache dan menghasilkan yang baru. Jika header dengan beberapa nilai diteruskan dalam permintaan, maka semua nilai akan menjadi bagian dari kunci cache, dengan urutan dipertahankan.
-
Ketika caching dimatikan, tidak perlu menentukan sumber identitas.
-
catatan
Untuk mengaktifkan caching, otorisasi Anda harus mengembalikan kebijakan yang berlaku untuk semua metode di seluruh API. Untuk menerapkan kebijakan khusus metode, Anda dapat menonaktifkan caching Otorisasi.
-
-
Pilih Buat Authorizer.
-
Tempel string
aws lambda add-permission
perintah yang Anda salin pada langkah sebelumnya ke AWS CLI jendela yang dikonfigurasi untuk akun kedua Anda. GantiAUTHORIZER_ID
dengan ID otorisasi Anda. Ini akan memberikan akses akun pertama Anda ke fungsi otorisasi Lambda akun kedua Anda.