Langkah 3: Konfigurasi akses
Bagian ini memberikan panduan tentang berbagai cara untuk memberikan akses ke deployment MDE Anda, bergantung pada kebutuhan Anda.
Tunneling SSH melalui IAP
Untuk terhubung ke IP pribadi layanan MDE, Anda dapat menggunakan tunnel SSH ke VM proxy. Dengan pendekatan ini, Anda dapat menggunakan alat lokal seperti Postman untuk berinteraksi dengan MDE API.
Deployment MDE standar membuat VM proxy yang disebut mde-proxy. Mesin ini dapat mem-proxy
permintaan masuk ke gateway API MDE atau
antarmuka web MDE. VM ini hanya memiliki IP pribadi, tetapi IAP memungkinkan Anda membuat tunnel SSH yang aman ke mesin ini menggunakan Identity-Aware Proxy (IAP) untuk penerusan TCP.
Bagian selanjutnya menjelaskan cara mengonfigurasi IAP untuk
membuat tunnel traffic ke mde-proxy, dan cara membuat tunnel ke mde-proxy dari
workstation Anda:
Di konsol Google Cloud , buka IAP dan klik Enable API. Operasi ini mungkin memerlukan waktu beberapa menit untuk selesai.
Di konsol Google Cloud , buka IAP, lalu klik SSH AND TCP RESOURCES.
Memberikan izin kepada pengguna yang berwenang untuk menggunakan IAP agar dapat terhubung ke
mde-proxymelalui IAP:Sebelum pengguna dapat menggunakan IAP untuk terhubung ke
mde-proxy, beri merekaroles/iap.tunnelResourceAccessorperan dengan mengikuti petunjuk berikut:Pilih mde-proxy dari daftar.
Klik Tambahkan Principal di panel samping.
Ketik email kepala sekolah yang ingin Anda beri akses.
Pilih peran
IAP-secured Tunnel User.
Buat tunnel ke MDE API menggunakan perintah berikut:
export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy" \ --format="value(zone)") gcloud compute ssh mde-proxy \ --zone "$MDE_PROXY_ZONE" --tunnel-through-iap \ -- -N -L 8080:api.mde.cloud.google.com:80Setelah menjalankan perintah, MDE API dapat diakses di bagian
http://localhost:8080.Buat tunnel ke antarmuka web MDE.
Jika Anda membuat tunnel ke MDE API di Langkah 3, Anda dapat membuka terminal baru untuk menjalankan perintah nanti. Tunnel SSH ke MDE API dan antarmuka web MDE dapat berjalan secara paralel.
export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy" \ --format="value(zone)") gcloud compute ssh mde-proxy \ --zone "$MDE_PROXY_ZONE" --tunnel-through-iap \ -- -N -L 8081:ui.mde.cloud.google.com:80Setelah menjalankan perintah, antarmuka web MDE dapat diakses di
http://localhost:8081.
Mengonfigurasi Identity-Aware Proxy
Identity-Aware Proxy (IAP) memungkinkan Anda terhubung dengan aman ke IP internal API dan antarmuka web MDE, serta membatasi akses eksternal ke antarmuka web MDE hanya untuk pengguna yang diberi otorisasi jika Anda men-deploy-nya dengan opsi Load Balancer Eksternal.
Untuk menggunakan IAP, Anda harus mengaktifkan API layanan IAP terlebih dahulu (jika belum melakukannya) dan mengonfigurasi layar OAuth:
Di konsol Google Cloud , buka IAP, lalu klik Enable API. Operasi ini mungkin memerlukan waktu beberapa menit untuk selesai.
Mengonfigurasi layar izin OAuth untuk IAP:
- Di konsol Google Cloud , buka halaman Google Auth Platform dan pilih project deployment MDE jika diminta.
- Di halaman Overview, klik Get started.
- Masukkan Nama aplikasi yang ingin Anda tampilkan, misalnya
MDE. - Tambahkan email Anda sebagai Email dukungan pengguna, lalu klik Berikutnya.
- Untuk audiens, pilih External, lalu klik Next.
- Tambahkan email Anda sebagai Informasi kontak, lalu klik Berikutnya.
- Baca dan setujui Kebijakan Data Pengguna Layanan Google API, lalu klik Lanjutkan.
- Klik Create.
Mengonfigurasi akses ke antarmuka web Load Balancer HTTP Eksternal
Di bagian ini, Anda akan mengonfigurasi akses ke Load Balancer HTTP Eksternal antarmuka web MDE menggunakan IAP.
Jika Anda mengaktifkan Load balancer HTTP Eksternal untuk antarmuka web MDE, Anda harus menggunakan IAP untuk membatasi akses ke aplikasi hanya bagi pengguna yang diberi otorisasi.
Sebelum memulai
Pastikan Anda menyelesaikan prasyarat berikut:
- Anda men-deploy MDE dengan antarmuka web MDE.
- Anda men-deploy antarmuka web MDE dengan Load Balancer HTTP Eksternal.
- Anda telah menyelesaikan langkah-langkah konfigurasi IAP umum.
Langkah
Di konsol Google Cloud , buka halaman IAP.
Temukan resource yang sesuai dengan layanan UI eksternal (cari
mde-ui-ext-service).Di kolom IAP untuk resource tersebut, alihkan tombol ke Enabled.
Pada dialog konfirmasi, baca dan setujui persyaratan konfigurasi, lalu klik Aktifkan.
Setelah diaktifkan, centang kotak di samping nama resource (
mde-ui-ext-service).Di panel samping kanan, klik Tambahkan Principal.
Ketik alamat email pengguna atau grup yang ingin Anda beri akses.
Di drop-down Role, pilih Cloud IAP > IAP-secured Web App User.
Klik Simpan.
Akses Lintas Organisasi (Opsional)
Secara default, IAP menggunakan klien OAuth yang dikelola Google, yang secara ketat membatasi akses ke pengguna dalam Google Cloud Organisasi yang sama dengan project. Jika deployment Anda memerlukan akses dari pengguna eksternal (partner yang menggunakan domain lain), Anda harus menggunakan klien OAuth Kustom yang dikonfigurasi dengan jenis pengguna Eksternal.
Untuk mengetahui detail selengkapnya, lihat Google Cloud dokumentasi resmi tentang Menggunakan klien OAuth kustom dengan IAP dan Mengaktifkan IAP untuk GKE.
Anda dapat mengonfigurasi ini menggunakan salah satu metode berikut:
Metode A: Konfigurasi Konsol Langsung (Tanpa Rahasia GKE)
Jika BackendConfig GKE Anda tidak mengelola setelan IAP (artinya tidak memiliki blok iap, sehingga GKE Ingress dapat mewarisi setelan yang ada), Anda dapat mengonfigurasi klien kustom langsung di konsol:
- Buka halaman IAP.
- Untuk aset
mde-ui-ext-service, klik Opsi lainnya (tiga titik) di kolom Tindakan, lalu pilih Setelan. - Pilih OAuth Kustom.
- Klik Buat Kredensial Otomatis (atau berikan kredensial yang ada jika Anda membuatnya secara manual di API & Layanan).
- Klik Simpan.
Metode B: Konfigurasi yang Dikelola GKE (Menggunakan Secret Kubernetes)
Jika Anda lebih suka mengelola konfigurasi IAP menggunakan manifes Kubernetes (GitOps), Anda harus menyimpan kredensial dalam secret dan mereferensikannya di BackendConfig:
- Konfigurasi layar izin OAuth sebagai Eksternal dan buat kredensial klien OAuth secara manual di bagian APIs & Services > Credentials (Jenis aplikasi web).
- Buat Secret Kubernetes di cluster:
sh kubectl create secret generic iap-oauth-secret \ --namespace=mde \ --from-literal=client_id=YOUR_CLIENT_ID \ --from-literal=client_secret=YOUR_CLIENT_SECRET - Perbarui
BackendConfiguntuk layanan Anda agar merujuk ke rahasia:yaml spec: iap: enabled: true oauthclientCredentials: secretName: iap-oauth-secret
Mengonfigurasi DNS untuk antarmuka web MDE
Jika Anda mengaktifkan Load balancer HTTP Eksternal untuk antarmuka web MDE, Anda harus menyetel data A nama domain yang Anda tetapkan ke variabel MDE_UI_DOMAIN_NAME di input.tfvars ke alamat IP load balancer HTTP eksternal yang di-deploy untuk menyelesaikan penyediaan sertifikat SSL yang dikelola Google.
Anda dapat mencari alamat IP load balancer HTTP eksternal dengan perintah berikut:
gcloud compute addresses list --filter="name~'.*mde-ui.*'" --format="value(address)" --global
Lihat host DNS Anda untuk mengetahui detail tentang cara membuat data A.