Memberi pengguna izin untuk membuat atau mendeskripsikan endpoint AWS Client VPN tidak membuat pengguna itu dapat terhubung ke endpoint tersebut. Keduanya adalah jenis identitas yang berbeda: IAM mengatur panggilan AWS API, dan endpoint hanya menerima metode autentikasi klien yang dikonfigurasi padanya. Jadi seorang pengguna bisa memiliki hak konsol yang luas namun tetap tidak memiliki apa pun yang dapat ditunjukkan klien VPN. Tentukan metode mana yang dipercaya endpoint, lalu tentukan apakah tunnel penuh adalah bentuk yang tepat untuk akses yang Anda berikan.

Identitas API bukan identitas tunnel

Ketika seseorang berkata «peran IAM sudah terlampir, mengapa VPN masih gagal», jawabannya biasanya adalah tidak ada langkah dalam alur koneksi yang pernah membaca peran itu. Klien menyajikan sertifikat, nama pengguna dan kata sandi AD, atau pernyataan SAML. Endpoint memvalidasi salah satunya lalu menetapkan alamat.

IAM tetap penting, hanya saja kemudian dan di tempat lain: membuat endpoint, mengaitkan subnet, menerbitkan rute, dan menulis aturan otorisasi adalah tindakan API. Batasi izin tersebut pada operator yang membutuhkannya alih-alih memberi setiap pengguna kemampuan menulis ulang aturan akses endpoint.

Pilih dari metode yang didukung endpoint

AWS Client VPN menerima autentikasi timbal balik berbasis sertifikat, autentikasi Active Directory, dan autentikasi terfederasi berbasis SAML. Sertifikat server tetap diperlukan apa pun metode klien yang Anda pilih, dan konfigurasi yang menggabungkan metode mengharuskan keduanya berhasil, bukan salah satu.

Client methodWhat the user presentsWhere the work sits
Mutual certificateA client certificate the endpoint trustsCertificate authority, issuing and revoking per user
Active DirectoryDomain credentialsDirectory reachable from the endpoint's VPC
SAML federationAn assertion from an identity providerIdP application, attribute mapping, client support

Sertifikat paling murah untuk disiapkan dan paling mudah salah pada skala besar, karena setiap pengguna membutuhkan kredensial dan setiap kepergian membutuhkan pencabutan. Autentikasi direktori memindahkan siklus hidup itu ke sistem yang sudah ada. Federasi memindahkannya ke penyedia identitas dan menambahkan langkah browser pada klien.

Baca konfigurasi endpoint itu sendiri sebelum men-debug klien. Jika autentikasi timbal balik diaktifkan bersama metode berbasis pengguna, klien dengan sertifikat valid tetapi tanpa akun direktori tetap akan gagal, dan kesalahannya biasanya tampak seperti masalah handshake umum.

Federasi bukan meneruskan kunci akses

Penyiapan SAML tidak memasukkan kunci akses IAM atau token peran yang diasumsikan ke dalam tunnel. Penyedia identitas mengautentikasi orang tersebut, mengembalikan pernyataan, dan endpoint menerimanya di bawah kepercayaan yang Anda konfigurasi. Sesi yang dihasilkan adalah sesi VPN, bukan sesi AWS API.

Perbedaan itu menentukan siapa dapat mendiagnosis apa. Masalah IdP muncul sebagai kesalahan browser atau klien sebelum ada tunnel, sedangkan masalah tunnel muncul setelah pernyataan yang berhasil. Tanyakan mana dari keduanya yang sedang Anda lihat sebelum membuka salah satu konsol.

Setelah login, rute dan otorisasi tetap menentukan

Autentikasi memberi sesi sebuah alamat; ia tidak memberi sesi sebuah tujuan. Rute endpoint memberi tahu klien ke subnet mana harus mengirim, aturan otorisasi menentukan pengguna mana yang boleh mencapai subnet mana, dan grup keamanan serta izin milik target sendiri menentukan sisanya.

Itulah sebabnya pengguna yang berhasil terautentikasi masih bisa gagal mencapai database. Periksa kaitan tabel rute untuk subnet, aturan otorisasi untuk grup pengguna, dan grup keamanan pada target dalam urutan itu, karena masing-masing menghasilkan jenis timeout yang berbeda.

Untuk satu database privat, bandingkan dengan penerusan port

Jika tugas sebenarnya adalah satu koneksi yang disetujui ke satu database privat, tunnel jaringan penuh adalah pilihan, bukan keharusan. AWS Systems Manager Session Manager dapat membuka sesi penerusan port ke node terkelola melalui IAM, dan node itu mencapai database di jaringan privat. Pengguna tidak pernah menerima alamat VPC. Node terkelola menjadi satu-satunya host yang dapat mencapai port database, yang biasanya memang yang diminta tinjauan keamanan. Pengguna kemudian membutuhkan klien lokal dan perintah sesi alih-alih profil VPN.

Pertukarannya adalah cakupan versus prasyarat. Penerusan port membutuhkan agen SSM pada node terkelola, keterjangkauan jaringan dari node itu ke database, plugin Session Manager di mesin pengguna, dan izin untuk memulai sesi tertentu itu. Ini bukan rute ke setiap subnet, dan tidak akan membawa protokol sembarangan seperti yang dilakukan tunnel.

Bagaimanapun, pertahankan identitas database itu sendiri. Verifikasi TLS dan autentikasi database tidak hilang karena jalur tersebut diotorisasi oleh IAM, dan sesi yang disetujui tidak mengatakan apa pun tentang tabel mana yang boleh dibaca pengguna.

Pilih berdasarkan cakupan dan siklus hidup: tunnel ketika banyak pengguna membutuhkan banyak tujuan dan Anda dapat menjalankan siklus hidup sertifikat atau direktori; sesi penerusan ketika beberapa orang membutuhkan satu layanan dan Anda lebih suka tidak membagikan alamat jaringan. Bagaimanapun, catat metode autentikasi, aturan otorisasi, dan login database sebagai tiga fakta terpisah, karena ketiganya gagal secara terpisah.

Artikel terkait