Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Otorisasi koneksi di AWS Client VPN
Anda dapat mengonfigurasi handler koneksi klien untuk titik VPN akhir Klien Anda. Handler memungkinkan Anda untuk menjalankan logika kustom yang mengotorisasi koneksi baru, berdasarkan atribut perangkat, pengguna, dan koneksi. Client connect handler berjalan setelah VPN layanan Klien mengautentikasi perangkat dan pengguna.
Untuk mengonfigurasi pengendali koneksi klien untuk VPN titik akhir Klien Anda, buat AWS Lambda fungsi yang menggunakan atribut perangkat, pengguna, dan koneksi sebagai input, dan kembalikan keputusan ke VPN layanan Klien untuk mengizinkan atau menolak koneksi baru. Anda menentukan fungsi Lambda di titik akhir Klien VPN Anda. Saat perangkat terhubung ke VPN titik akhir Klien Anda, VPN layanan Klien akan memanggil fungsi Lambda atas nama Anda. Hanya koneksi yang diizinkan oleh fungsi Lambda yang diizinkan untuk terhubung ke titik akhir KlienVPN.
catatan
Saat ini, satu-satunya tipe handler koneksi klien yang didukung adalah fungsi Lambda.
Persyaratan dan pertimbangan
Berikut ini adalah persyaratan dan pertimbangan untuk handler koneksi klien:
-
Nama fungsi Lambda harus diawali dengan prefiks
AWSClientVPN-
. -
Mendukung fungsi Lambda yang berkualitas.
-
Fungsi Lambda harus berada di AWS Wilayah yang sama dan AWS akun yang sama dengan titik akhir KlienVPN.
-
Waktu fungsi Lambda habis setelah 30 detik. Nilai ini tidak dapat diubah.
-
Fungsi Lambda diaktifkan secara serentak. Fungsi ini diaktifkan setelah autentikasi perangkat dan pengguna, dan sebelum aturan otorisasi dievaluasi.
-
Jika fungsi Lambda dipanggil untuk koneksi baru dan VPN layanan Klien tidak mendapatkan respons yang diharapkan dari fungsi tersebut, VPN layanan Klien menolak permintaan koneksi. Misalnya, hal ini dapat terjadi jika fungsi Lambda ter-throttling, waktu habis, atau menemukan kesalahan tak terduga lainnya, atau jika respons fungsi tidak dalam format yang valid.
-
Kami merekomendasikan agar Anda mengonfigurasikan konkurensi yang disediakan untuk fungsi Lambda untuk mengaktifkannya agar dapat menskalakan tanpa fluktuasi dalam latensi.
-
Jika Anda memperbarui fungsi Lambda, koneksi yang ada ke VPN titik akhir Klien tidak terpengaruh. Anda dapat mengakhiri koneksi yang ada, dan kemudian menginstruksikan klien Anda untuk membuat koneksi baru. Untuk informasi selengkapnya, lihat Mengakhiri koneksi AWS Client VPN klien.
-
Jika klien menggunakan klien yang AWS disediakan untuk terhubung ke VPN titik akhir Klien, mereka harus menggunakan versi 1.2.6 atau yang lebih baru untuk Windows, dan versi 1.2.4 atau yang lebih baru untuk macOS. Untuk informasi selengkapnya, lihat Hubungkan menggunakan klien AWS yang disediakan.
Antarmuka Lambda
Fungsi Lambda mengambil atribut perangkat, atribut pengguna, dan atribut koneksi sebagai input dari layanan Klien. VPN Kemudian harus mengembalikan keputusan ke VPN layanan Klien apakah akan mengizinkan atau menolak koneksi.
Meminta skema
Fungsi Lambda mengambil JSON gumpalan yang berisi bidang berikut sebagai input.
{ "connection-id":
<connection ID>
, "endpoint-id":<client VPN endpoint ID>
, "common-name":<cert-common-name>
, "username":<user identifier>
, "platform":<OS platform>
, "platform-version":<OS version>
, "public-ip":<public IP address>
, "client-openvpn-version":<client OpenVPN version>
, "aws-client-version":<AWS client version>
, "groups":<group identifier>
, "schema-version": "v3
" }
-
connection-id
— ID koneksi klien ke VPN titik akhir Klien. -
endpoint-id
— ID dari VPN titik akhir Klien. -
common-name
— Pengidentifikasi perangkat. Pada sertifikat klien yang Anda buat untuk perangkat, nama umum secara unik mengidentifikasi perangkat. -
username
— Pengidentifikasi pengguna, jika ada. Untuk autentikasi Direktori Aktif, ini adalah nama pengguna. Untuk otentikasi federasi SAML berbasis, ini adalah.NameID
Untuk autentikasi bersama, bidang ini kosong. -
platform
— Platform sistem operasi klien. -
platform-version
— Versi sistem operasi. VPNLayanan Klien memberikan nilai ketika--push-peer-info
direktif hadir dalam konfigurasi VPN klien Terbuka ketika klien terhubung ke VPN titik akhir Klien, dan ketika klien menjalankan platform Windows. -
public-ip
— Alamat IP publik dari perangkat yang terhubung. -
client-openvpn-version
— VPN Versi Terbuka yang digunakan klien. -
aws-client-version
— Versi AWS klien. -
groups
— Pengidentifikasi grup, jika ada. Untuk autentikasi Direktori Aktif, ini akan menjadi daftar grup Direktori Aktif. Untuk otentikasi federasi SAML berbasis, ini akan menjadi daftar grup penyedia identitas (iDP). Untuk autentikasi bersama, bidang ini kosong. -
schema-version
— Versi skema. Default-nya adalahv3
.
Skema respons
Fungsi Lambda harus mengembalikan bidang berikut.
{ "allow":
boolean
, "error-msg-on-denied-connection": "", "posture-compliance-statuses": [], "schema-version": "v3
" }
-
allow
— Diperlukan. Boolean (true
|false
) yang menunjukkan apakah koneksi baru diizinkan atau ditolak. -
error-msg-on-denied-connection
— Diperlukan. String dengan karakter maksimal 255 yang dapat digunakan untuk memberikan langkah-langkah dan panduan untuk klien jika koneksi ditolak oleh fungsi Lambda. Ketika terjadi kegagalan selama menjalankan fungsi Lambda (misalnya, karena throttling) pesan default berikut dikembalikan ke klien.Error establishing connection. Please contact your administrator.
-
posture-compliance-statuses
— Diperlukan. Jika Anda menggunakan fungsi Lambda untuk penilaian postur, ini adalah daftar status untuk perangkat yang terhubung. Anda menentukan nama status sesuai dengan kategori penilaian postur Anda untuk perangkat, misalnya,compliant
,quarantined
,unknown
, dan sebagainya. Panjang setiap nama maksimal 255 karakter. Anda dapat menentukan hingga maksimal 10 status. -
schema-version
— Diperlukan. Versi skema. Default-nya adalahv3
.
Anda dapat menggunakan fungsi Lambda yang sama untuk beberapa VPN titik akhir Klien di Wilayah yang sama.
Untuk informasi selengkapnya tentang cara membuat fungsi Lambda, lihat Mulai dengan AWS Lambda dalam AWS Lambda Panduan Developer.
Gunakan penangan koneksi klien untuk penilaian postur
Anda dapat menggunakan pengendali sambungan klien untuk mengintegrasikan VPN titik akhir Klien Anda dengan solusi manajemen perangkat yang ada untuk mengevaluasi kepatuhan postur perangkat yang menghubungkan. Agar fungsi Lambda berfungsi sebagai penangan otorisasi perangkat, gunakan otentikasi timbal balik untuk titik akhir Klien Anda. VPN Buat sertifikat dan kunci klien unik untuk setiap klien (perangkat) yang akan terhubung ke VPN titik akhir Klien. Fungsi Lambda dapat menggunakan nama umum yang unik untuk sertifikat klien (yang diteruskan dari VPN layanan Klien) untuk mengidentifikasi perangkat dan mengambil status kepatuhan posturnya dari solusi manajemen perangkat Anda. Anda dapat menggunakan autentikasi bersama yang dikombinasikan dengan autentikasi berbasis pengguna.
Selain itu, Anda dapat melakukan penilaian postur dasar di dalam fungsi Lambda itu sendiri. Misalnya, Anda dapat menilai platform
dan platform-version
bidang yang diteruskan ke fungsi Lambda oleh layanan KlienVPN.
catatan
Sementara handler koneksi dapat digunakan untuk menerapkan versi AWS Client VPN aplikasi minimum, bidang aws-client-version
dalam handler koneksi, hanya berlaku untuk AWS Client VPN aplikasi dan sedang diisi dari variabel lingkungan pada perangkat pengguna.
Aktifkan handler koneksi klien
Untuk mengaktifkan pengendali sambungan klien, buat atau ubah VPN titik akhir Klien dan tentukan Nama Sumber Daya Amazon (ARN) dari fungsi Lambda. Untuk informasi selengkapnya, silakan lihat Buat titik AWS Client VPN akhir dan Memodifikasi AWS Client VPN titik akhir.
Peran yang terhubung dengan layanan
AWS Client VPN secara otomatis membuat peran terkait layanan di akun Anda yang dipanggil. AWSServiceRoleForClientVPNConnections Peran memiliki izin untuk menjalankan fungsi Lambda saat koneksi dibuat ke titik akhir Klien. VPN Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk AWS Client VPN.
Pantau kegagalan otorisasi koneksi
Anda dapat melihat status otorisasi koneksi koneksi ke titik VPN akhir Klien. Untuk informasi selengkapnya, lihat Lihat koneksi AWS Client VPN klien.
Ketika pengendali koneksi klien digunakan untuk penilaian postur, Anda juga dapat melihat status kepatuhan postur perangkat yang terhubung ke VPN titik akhir Klien Anda di log koneksi. Untuk informasi selengkapnya, lihat Pencatatan koneksi untuk titik AWS Client VPN akhir.
Jika perangkat gagal otorisasi koneksi, bidang connection-attempt-failure-reason
pada log koneksi mengembalikan salah satu alasan kegagalan berikut:
-
client-connect-failed
— Fungsi Lambda mencegah koneksi dibuat. client-connect-handler-timed-out
— Waktu fungsi Lambda habis.client-connect-handler-other-execution-error
— Fungsi Lambda mengalami kesalahan tak terduga.client-connect-handler-throttled
— Fungsi Lambda ter-throttling.client-connect-handler-invalid-response
— Fungsi Lambda mengembalikan respons yang tidak valid.client-connect-handler-service-error
— Terjadi kesalahan sisi layanan selama upaya koneksi.