Konfigurasikan otorisasi API Gateway Lambda lintas akun - APIGerbang Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan otorisasi API Gateway Lambda lintas akun

Anda sekarang juga dapat menggunakan AWS Lambda fungsi dari AWS akun yang berbeda sebagai fungsi API otorisasi 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. OAuth SAML Ini membuatnya mudah untuk mengelola dan berbagi fungsi otorisasi Lambda pusat di beberapa Gateway. API APIs

Di bagian ini, kami menunjukkan cara mengonfigurasi fungsi otorisasi Lambda lintas akun menggunakan konsol Amazon API Gateway.

Instruksi 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 Gateway API

Masuk ke konsol Amazon API Gateway di akun yang ada API di dalamnya, lalu lakukan hal berikut:

  1. Pilih AndaAPI, dan kemudian di panel navigasi utama, pilih Authorizers.

  2. Pilih Buat Authorizer.

  3. Untuk nama Authorizer, masukkan nama untuk otorisasi.

  4. Untuk jenis Authorizer, pilih Lambda.

  5. Untuk Fungsi Lambda, masukkan lengkap ARN untuk fungsi otorisasi Lambda yang Anda miliki di akun kedua Anda.

    catatan

    Di konsol Lambda, Anda dapat menemukan fungsi ARN untuk Anda di sudut kanan atas jendela konsol.

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

  7. Biarkan peran panggilan Lambda kosong untuk membiarkan konsol API Gateway menyetel kebijakan berbasis sumber daya. Kebijakan tersebut memberikan izin API Gateway untuk menjalankan fungsi Lambda otorisasi. Anda juga dapat memilih untuk memasukkan IAM peran untuk memungkinkan API Gateway menjalankan fungsi Lambda otorisasi. Untuk contoh peran seperti itu, lihatBuat peran yang dapat diasumsikan IAM.

  8. Untuk muatan acara Lambda, pilih Token untuk otorisasi atau Permintaan TOKEN otorisasi. REQUEST

  9. Bergantung pada pilihan langkah sebelumnya, lakukan salah satu hal berikut:

    1. Untuk opsi Token, lakukan hal berikut:

      • Untuk sumber Token, masukkan nama header yang berisi token otorisasi. APIKlien harus menyertakan header nama ini untuk mengirim token otorisasi ke otorisasi Lambda.

      • Secara opsional, untuk validasi Token, masukkan pernyataan RegEx . APIGateway melakukan validasi awal token input terhadap ekspresi ini dan memanggil authorizer setelah validasi berhasil. Ini membantu mengurangi panggilan ke AndaAPI.

      • Untuk men-cache kebijakan otorisasi yang dihasilkan oleh otorisasi, biarkan caching Otorisasi tetap aktif. Saat caching kebijakan diaktifkan, Anda dapat memilih untuk mengubah TTLnilainya. Menyetel TTLke 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

        TTLNilai defaultnya adalah 300 detik. Nilai maksimum adalah 3600 detik, batas ini tidak dapat ditingkatkan.

    2. Untuk opsi Permintaan, lakukan hal berikut:

      • 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 memilih untuk mengubah TTLnilainya. Menyetel TTLke nol menonaktifkan caching kebijakan.

        APIGateway 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, nol, 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 file. API Untuk menerapkan kebijakan khusus metode, Anda dapat menonaktifkan caching Otorisasi.

  10. Pilih Buat Authorizer.

  11. Tempel string aws lambda add-permission perintah yang Anda salin pada langkah sebelumnya ke AWS CLI jendela yang dikonfigurasi untuk akun kedua Anda. Ganti AUTHORIZER_ID dengan ID otorisasi Anda. Ini akan memberikan akses akun pertama Anda ke fungsi otorisasi Lambda akun kedua Anda.