Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway · Pelajaran

Pemberi Kuasa API Gateway

Laksanakan pelbagai pemberi kuasa API Gateway, termasuk pemberi kuasa tersuai Lambda dan pemberi kuasa JWT, untuk pengesahan yang kukuh.

Pelajaran 2 daripada 411 langkah

Pemberi Kuasa API Gateway ialah pelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway merangkumi sejumlah 4 pelajaran.

Pengenalan kepada Pengesah API Gateway

Selamat datang! Dalam pelajaran ini, kita akan mempelajari cara melindungi API tanpa pelayan Anda menggunakan Pengesah API Gateway. Komponen ini penting untuk mengawal pihak yang boleh mengakses perkhidmatan belakang Anda.

Anggaplah pengesah sebagai pengawal keselamatan di pintu masuk API Anda. Sebelum sebarang permintaan sampai kepada fungsi Lambda atau perkhidmatan belakang yang lain, pengesah akan menyemak kelayakan permintaan tersebut.

Mengapa Menggunakan Pengesah API Gateway?

Pengesah menyediakan pengesahan identiti dan keizinan yang kukuh untuk API Anda. Inilah sebabnya pengesah penting:

  • Lindungi Sumber Belakang: Cegah akses tanpa keizinan kepada fungsi Lambda dan perkhidmatan lain.
  • Asingkan Logik Pengesahan: Asingkan logik pengesahan daripada logik perniagaan utama supaya fungsi Anda lebih kemas.
  • Akses Terperinci: Kawal akses kepada kaedah atau sumber API tertentu berdasarkan identiti atau peranan pengguna.

Jenis-Jenis Pengesah

API Gateway menawarkan beberapa jenis pengesah. Hari ini, kita akan menumpukan pada dua jenis yang paling fleksibel dan biasa digunakan:

  • Pengesah Tersuai Lambda: Fungsi Lambda yang Anda tulis untuk melaksanakan pengesahan tersuai.
  • Pengesah JWT: Sokongan asli API Gateway untuk mengesahkan JSON Web Token (JWT).

Terdapat juga Pengesah IAM yang menggunakan peranan dan dasar AWS IAM, tetapi di sini kita akan menumpukan pada jenis tersuai dan JWT.

Penerangan tentang Pengesah Tersuai Lambda

Pengesah Tersuai Lambda ialah fungsi Lambda yang Anda sediakan. API Gateway memanggil fungsi ini bersama token keizinan daripada permintaan masuk (contohnya, daripada pengepala Authorization).

Fungsi Lambda Anda kemudian memproses token ini, melaksanakan logik pengesahan tersuainya (contohnya, menyemak pangkalan data atau memanggil pembekal identiti), lalu mengembalikan dasar IAM.

Dasar Keizinan

Output utama pengesah Lambda Anda ialah dokumen dasar IAM. Dasar ini memberitahu API Gateway sama ada untuk Allow atau Deny permintaan kepada titik akhir API sasaran.

Dokumen ini mengandungi principalId (pengenal pengguna yang telah disahkan) dan policyDocument yang menentukan keizinan. Jika Allow, permintaan diteruskan; jika Deny, permintaan ditolak dengan ralat 401 Tidak Dibenarkan.

Contoh Kod Pengesah Lambda

Berikut ialah fungsi Lambda Python ringkas yang bertindak sebagai pengesah. Fungsi ini menyemak token tertentu dan mengembalikan dasar 'Allow' atau 'Deny' berdasarkan token tersebut.

Cuba ubah token dalam peristiwa ujian untuk melihat output yang berbeza!

def lambda_handler(event, context):
    token = event.get('authorizationToken')
    method_arn = event.get('methodArn')

    if token == "my-secret-token-123":
        # Allow access
        return {
            "principalId": "user123",
            "policyDocument": {
                "Version": "2012-10-17",
                "Statement": [
                    {
                        "Action": "execute-api:Invoke",
                        "Effect": "Allow",
                        "Resource": method_arn
                    }
                ]
            }
        }
    else:
        # Deny access
        return {
            "principalId": "anonymous",
            "policyDocument": {
                "Version": "2012-10-17",
                "Statement": [
                    {
                        "Action": "execute-api:Invoke",
                        "Effect": "Deny",
                        "Resource": method_arn
                    }
                ]
            }
        }

# --- Local Test (for demonstration) ---
if __name__ == "__main__":
    print("Testing with 'my-secret-token-123':")
    event_allow = {
        "authorizationToken": "my-secret-token-123",
        "methodArn": "arn:aws:execute-api:us-east-1:123456789012:/test/GET/items"
    }
    print(lambda_handler(event_allow, None))

    print("\nTesting with 'invalid-token':")
    event_deny = {
        "authorizationToken": "invalid-token",
        "methodArn": "arn:aws:execute-api:us-east-1:123456789012:/test/GET/items"
    }
    print(lambda_handler(event_deny, None))

Penerangan tentang Pengesah JWT

Pengesah JWT (JSON Web Token) membolehkan API Gateway mengesahkan JWT secara asli. Daripada menulis fungsi Lambda, Anda mengkonfigurasi API Gateway dengan butiran tentang penerbit JWT.

Apabila permintaan yang mengandungi JWT diterima, API Gateway secara automatik melaksanakan langkah pengesahan seperti:

  • Pengesahan tandatangan
  • Semakan tamat tempoh
  • Pengesahan khalayak dan penerbit

Mengkonfigurasi Pengesah JWT

Untuk menyediakan pengesah JWT, biasanya Anda memberikan API Gateway perkara berikut:

  • URL Penerbit: URL pembekal identiti (contohnya, https://cognito-idp.us-east-1.amazonaws.com/us-east-1_XXXXXXX untuk Cognito).
  • Khalayak: Senarai khalayak yang sah untuk token bagi memastikan token tersebut ditujukan kepada API Anda.
  • Sumber Identiti: Pengepala tempat JWT dijangka berada (contohnya, $request.header.Authorization).

API Gateway kemudiannya menggunakan butiran ini untuk mendapatkan kunci awam dan mengesahkan JWT yang masuk.

Bila Hendak Menggunakan Pengesah yang Mana?

Pemilihan antara pengesah Lambda dan JWT bergantung pada keperluan Anda:

  • Pengesah Lambda: Gunakan untuk logik pengesahan yang sangat tersuai, integrasi dengan sistem lama atau pembekal identiti yang tidak menyokong OIDC/OAuth2 standard. Pilihan ini menawarkan fleksibiliti maksimum.
  • Pengesah JWT: Sesuai apabila menggunakan pembekal identiti standard seperti AWS Cognito User Pools, Auth0, Okta dan lain-lain. Persediaannya lebih mudah dan beban operasi lebih rendah.

Bagi kebanyakan aplikasi moden yang menggunakan pembekal identiti standard, pengesah JWT sering menjadi pilihan utama.

Semakan Pantas Pengesah

Inilah masanya untuk menyemak secara ringkas perkara yang telah Anda pelajari tentang Pengesah API Gateway!

Imbas Kembali: Melindungi dengan Pengesah

Anda kini telah mempelajari tentang Pengesah API Gateway, iaitu komponen penting untuk melindungi API tanpa pelayan Anda!

  • Pengesah bertindak sebagai pemeriksaan keselamatan di pintu hadapan untuk titik akhir API Anda.
  • Pengesah Tersuai Lambda menawarkan fleksibiliti maksimum untuk logik pengesahan tersuai.
  • Pengesah JWT menyediakan pengesahan asli yang mudah dikonfigurasi untuk JSON Web Token standard.

Dengan melaksanakan pengesah, Anda memastikan hanya permintaan yang sah boleh mengakses perkhidmatan belakang, sekali gus meningkatkan keselamatan aplikasi Anda.

Percuma untuk bermula

Pelajari Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Pemberi Kuasa API Gateway” percuma?

Ya — teks penuh “Pemberi Kuasa API Gateway” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway, tingkat taraf kepada CoddyKit PRO. Kursus Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemberi Kuasa API Gateway”?

Laksanakan pelbagai pemberi kuasa API Gateway, termasuk pemberi kuasa tersuai Lambda dan pemberi kuasa JWT, untuk pengesahan yang kukuh. Anda berlatih Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Pemberi Kuasa API Gateway” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway ini?

Ya. Setiap pelajaran Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Peranan dan Keizinan IAM
  2. Pemberi Kuasa API Gateway
  3. Melindungi Lambda dengan VPC
  4. Melindungi Rahsia dengan AWS Secrets Manager
← Kembali ke Bahagian Belakang Tanpa Pelayan dengan AWS Lambda dan API Gateway