Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat dan konfigurasikan SSL sertifikat untuk otentikasi backend di Gateway API
Anda dapat menggunakan API Gateway untuk menghasilkan SSL sertifikat dan kemudian menggunakan kunci publiknya di backend untuk memverifikasi bahwa HTTP permintaan ke sistem backend Anda berasal dari Gateway. API Ini memungkinkan HTTP backend Anda untuk mengontrol dan hanya menerima permintaan yang berasal dari Amazon API Gateway, bahkan jika backend dapat diakses publik.
catatan
Beberapa server backend mungkin tidak mendukung otentikasi SSL klien seperti yang dilakukan API Gateway dan dapat mengembalikan kesalahan SSL sertifikat. Untuk daftar server backend yang tidak kompatibel, lihat. Catatan penting Amazon API Gateway
SSLSertifikat yang dihasilkan oleh API Gateway ditandatangani sendiri, dan hanya kunci publik sertifikat yang terlihat di konsol API Gateway atau melalui. APIs
Topik
- Menghasilkan sertifikat klien menggunakan konsol API Gateway
- APIKonfigurasikan SSL sertifikat untuk menggunakan
- Uji pemanggilan untuk memverifikasi konfigurasi sertifikat klien
- Konfigurasikan HTTPS server backend untuk memverifikasi sertifikat klien
- Putar sertifikat klien yang kedaluwarsa
- APIOtoritas sertifikat yang didukung Gateway untuk HTTP dan HTTP integrasi proxy di Gateway API
Menghasilkan sertifikat klien menggunakan konsol API Gateway
Buka konsol API Gateway di https://console.aws.amazon.com/apigateway/
. Pilih a RESTAPI.
Di panel navigasi utama, pilih Sertifikat klien.
Dari halaman Sertifikat klien, pilih Hasilkan sertifikat.
-
(Opsional) Untuk Deskripsi, masukkan deskripsi.
-
Pilih Hasilkan sertifikat untuk menghasilkan sertifikat. APIGateway menghasilkan sertifikat baru dan mengembalikan sertifikat baruGUID, bersama dengan kunci publik PEM -encoded.
Anda sekarang siap untuk mengkonfigurasi API untuk menggunakan sertifikat.
APIKonfigurasikan SSL sertifikat untuk menggunakan
Instruksi ini mengasumsikan bahwa Anda sudah selesaiMenghasilkan sertifikat klien menggunakan konsol API Gateway.
-
Di konsol API Gateway, buat atau buka yang API ingin Anda gunakan sertifikat klien. Pastikan bahwa API telah dikerahkan ke panggung.
Di panel navigasi utama, pilih Tahapan.
Di bagian Detail tahap, pilih Edit.
Untuk sertifikat Klien, pilih sertifikat.
-
Pilih Simpan perubahan.
Jika API telah digunakan sebelumnya di konsol API Gateway, Anda harus menerapkannya kembali agar perubahan diterapkan. Untuk informasi selengkapnya, lihat Buat penerapan untuk REST API in Gateway API.
Setelah sertifikat dipilih untuk API dan disimpan, API Gateway menggunakan sertifikat untuk semua panggilan ke HTTP integrasi di AndaAPI.
Uji pemanggilan untuk memverifikasi konfigurasi sertifikat klien
-
Pilih API metode. Pilih tab Uji. Anda mungkin perlu memilih tombol panah kanan untuk menampilkan tab Uji.
-
Untuk sertifikat Klien, pilih sertifikat.
Pilih Uji.
APIGateway menyajikan SSL sertifikat yang dipilih untuk HTTP backend untuk mengautentikasi. API
Konfigurasikan HTTPS server backend untuk memverifikasi sertifikat klien
Instruksi ini mengasumsikan bahwa Anda sudah menyelesaikan Menghasilkan sertifikat klien menggunakan konsol API Gateway dan mengunduh salinan sertifikat klien. Anda dapat mengunduh sertifikat klien dengan menelepon clientcertificate:by-id
APIGateway REST API atau get-client-certificate
dari AWS CLI.
Sebelum mengonfigurasi HTTPS server backend untuk memverifikasi SSL sertifikat klien API Gateway, Anda harus telah memperoleh kunci pribadi PEM -encoded dan sertifikat sisi server yang disediakan oleh otoritas sertifikat tepercaya.
Jika nama domain servermyserver.mydomain.com
, CNAME nilai sertifikat server harus myserver.mydomain.com
atau*.mydomain.com
.
Otoritas sertifikat yang didukung termasuk Let's Encrypt
Sebagai contoh, misalkan file sertifikat klien adalah apig-cert.pem
dan kunci pribadi server dan file sertifikat adalah server-key.pem
danserver-cert.pem
, masing-masing. Untuk server Node.js di backend, Anda dapat mengonfigurasi server yang mirip dengan yang berikut ini:
var fs = require('fs'); var https = require('https'); var options = { key: fs.readFileSync('server-key.pem'), cert: fs.readFileSync('server-cert.pem'), ca: fs.readFileSync('apig-cert.pem'), requestCert: true, rejectUnauthorized: true }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(443);
Untuk aplikasi node- express
Untuk HTTPS server lain, lihat dokumentasi untuk server.
Putar sertifikat klien yang kedaluwarsa
Sertifikat klien yang dihasilkan oleh API Gateway berlaku selama 365 hari. Anda harus memutar sertifikat sebelum sertifikat klien pada API tahap kedaluwarsa untuk menghindari downtime. API Anda dapat memeriksa tanggal kedaluwarsa sertifikat dengan memanggil:by-id clientCertificatedari Gateway API atau perintah dan memeriksa properti REST API yang dikembalikan AWS CLI . get-client-certificateexpirationDate
Untuk memutar sertifikat klien, lakukan hal berikut:
-
Hasilkan sertifikat klien baru dengan memanggil clientcertificate:generate dari API Gateway REST API atau perintah dari. AWS CLI generate-client-certificate Dalam tutorial ini, kita berasumsi bahwa ID sertifikat klien baru adalah
ndiqef
. -
Perbarui server backend untuk menyertakan sertifikat klien baru. Jangan menghapus sertifikat klien yang ada.
Beberapa server mungkin memerlukan restart untuk menyelesaikan pembaruan. Konsultasikan dokumentasi server untuk melihat apakah Anda harus me-restart server selama pembaruan.
-
Perbarui API tahapan untuk menggunakan sertifikat klien baru dengan memanggil stage:update API Gateway RESTAPI, dengan ID sertifikat klien baru ():
ndiqef
PATCH /restapis/{restapi-id}/stages/stage1 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170603T200400Z Authorization: AWS4-HMAC-SHA256 Credential=... { "patchOperations" : [ { "op" : "replace", "path" : "/clientCertificateId", "value" : "ndiqef" } ] }
atau dengan memanggil CLI perintah update-stage.
-
Perbarui server backend untuk menghapus sertifikat lama.
-
Hapus sertifikat lama dari API Gateway dengan memanggil clientcertificate:delete dari API Gateway RESTAPI, dengan menentukan clientCertificateId ()
a1b2c3
sertifikat lama:DELETE /clientcertificates/a1b2c3
atau dengan memanggil CLI perintah delete-client-certificate:
aws apigateway delete-client-certificate --client-certificate-id a1b2c3
Untuk memutar sertifikat klien di konsol untuk digunakan sebelumnyaAPI, lakukan hal berikut:
Di panel navigasi utama, pilih Sertifikat klien.
Dari panel Sertifikat klien, pilih Menghasilkan sertifikat.
-
Buka API yang ingin Anda gunakan sertifikat klien.
Pilih Tahapan di bawah yang dipilih API dan kemudian pilih panggung.
Di bagian Detail tahap, pilih Edit.
Untuk sertifikat Klien, pilih sertifikat baru.
-
Untuk menyimpan pengaturan, pilih Simpan perubahan.
Anda perlu menerapkan ulang API agar perubahan diterapkan. Untuk informasi selengkapnya, lihat Buat penerapan untuk REST API in Gateway API.