Koneksi dan identitas

Ekstensi PostgreSQL untuk Visual Studio Code menyediakan dialog koneksi yang mendukung beberapa metode autentikasi, enkripsi SSL/TLS, dan alat organisasi seperti grup server dan koneksi tersimpan. Artikel ini membahas tugas koneksi inti: membuka dialog, memilih metode autentikasi, menyimpan dan menggunakan kembali koneksi, dan mengatur server.

Tip

Untuk terowongan SSH, penguraian string koneksi, atau konfigurasi file sertifikat, lihat Opsi koneksi tingkat lanjut.

Buka dialog koneksi

Anda dapat membuka dialog koneksi dengan beberapa cara:

  • Koneksi: Arahkan mouse ke header bagian Koneksi dan pilih Tambahkan Koneksi Baru ( + ikon).
  • Palet Perintah: Jalankan PGSQL: Tambahkan Koneksi Baru.
  • Koneksi tersimpan atau terbaru: Pilih kartu koneksi dari daftar Koneksi Tersimpan atau Koneksi Terbaru di panel samping untuk memuat pengaturannya ke dalam dialog.

Saat Anda membuka dialog baru, header membaca Koneksi Baru dan judul berbunyi Sambungkan ke Server PostgreSQL. Saat Anda mengedit koneksi yang sudah ada, header berubah menjadi Edit Koneksi.

Pilih mode input

Tab Sambungkan melalui: di bagian atas dialog memungkinkan Anda memilih cara menyediakan detail koneksi:

Tab Deskripsi
Parameters Isi bidang individual seperti Nama server, Jenis Autentikasi, Nama pengguna, Kata Sandi, Nama database, dan Nama Koneksi. Ini adalah mode default.
String Koneksi Tempelkan string koneksi dalam format apa pun yang didukung. Ekstensi mengurai string dan memperlihatkan nama Server, Nama pengguna, dan Nama database yang diekstrak di panel Detail Koneksi baca-saja.
Telusuri Azure Telusuri langganan, grup sumber daya, dan server Azure Anda untuk memilih server fleksibel Azure Database for PostgreSQL atau kluster Azure HorizonDB (Pratinjau) secara langsung. Memerlukan akun Azure yang masuk ke Visual Studio Code.

Ketiga mode berbagi tombol Simpan & Sambungkan dan Uji Koneksi yang sama di bagian bawah dialog. Tombol Tingkat Lanjut membuka laci Pengaturan Koneksi Tingkat Lanjut dalam mode apa pun.

Isi parameter koneksi

Saat Anda menggunakan tab Parameter , dialog menyajikan bidang utama berikut:

Ladang Deskripsi
Nama Server Nama host atau alamat IP server PostgreSQL.
Jenis Autentikasi Metode yang digunakan untuk mengautentikasi. Lihat Jenis autentikasi.
Nama pengguna Pengguna atau peran database PostgreSQL. Terlihat saat Jenis Autentikasi adalah Kata Sandi atau AWS IAM (RDS/Aurora).
Password Kata sandi untuk akun pengguna. Terlihat ketika Jenis Autentikasi adalah Kata Sandi.
Simpan Kata Sandi Centang kotak ini untuk menyimpan kata sandi dengan aman. Lihat Penyimpanan kata sandi.
Nama database Nama database yang akan disambungkan. Biarkan kosong untuk menyambungkan ke database default.
Nama Koneksi Nama ramah opsional untuk koneksi ini. Ekstensi menampilkan nama ini di pohon Koneksi dan daftar Koneksi Tersimpan .

Bidang tambahan muncul tergantung pada jenis autentikasi. Untuk Entra Auth, dialog menunjukkan Akun Entra, Nama Pengguna Entra, dan Penyewa. Untuk AWS IAM (RDS/Aurora), dialog menunjukkan Profil AWS dan Wilayah AWS.

Note

Bidang Port terletak di laci Pengaturan Koneksi Tingkat Lanjut di bawah opsi tingkat atas. Port default adalah 5432.

Jenis autentikasi

Daftar dropdown Jenis Autentikasi menawarkan empat opsi.

Password

Autentikasi kata sandi adalah metode PostgreSQL standar. Anda memberikan nama pengguna dan kata sandi yang divalidasi server terhadap konfigurasi autentikasinya (biasanya pg_hba.conf).

  1. Atur Jenis Autentikasi ke Kata Sandi.
  2. Masukkan Nama pengguna dan Kata Sandi.
  3. Secara opsional pilih Simpan Kata Sandi untuk menyimpan kata sandi dengan aman.
  4. Pilih Simpan & Sambungkan.

Penyimpanan kata sandi

Saat Anda memilih Simpan Kata Sandi, ekstensi menyimpan kata sandi melalui API Visual Studio CodeSecretStorage, yang mendelegasikan ke manajer kredensial sistem operasi:

  • macOS: Keychain
  • Windows: Pengelola Kredensial
  • Linux: libsecret (GNOME Keyring atau KWallet)

Kata sandi tersimpan dikaitkan dengan koneksi tertentu dan tidak pernah disimpan dalam file pengaturan teks biasa.

Microsoft Entra otentikasi

autentikasi Microsoft Entra (sebelumnya Azure Active Directory) menyediakan autentikasi berbasis token tanpa kata sandi untuk server fleksibel Azure Database for PostgreSQL. Dialog melabeli opsi ini Entra Auth.

Note

Autentikasi Entra memerlukan server fleksibel Azure Database for PostgreSQL dengan autentikasi Entra diaktifkan. Lihat autentikasi Microsoft Entra dengan Azure Database for PostgreSQL untuk detail konfigurasi.

Untuk menyambungkan dengan autentikasi Entra:

  1. Tambahkan akun Entra Anda. Buka Palet Perintah dan jalankan PGSQL: Tambahkan Akun Microsoft Entra. Masuk dengan kredensial Entra Anda di jendela browser yang terbuka.
  2. Buka dialog koneksi. Atur Jenis Autentikasi ke Entra Auth.
  3. Pilih akun Anda. Pilih akun yang Anda tambahkan dari daftar dropdown Akun Entra .
  4. Pilih penyewa. Jika akun Anda milik beberapa penyewa, pilih penyewa yang sesuai dari daftar dropdown Penyewa .
  5. Masukkan nama pengguna Entra. Ketik nama pengguna Entra untuk peran PostgreSQL yang dipetakan ke identitas Anda.
  6. Sambungkan. Pilih Simpan & Sambungkan. Ekstensi ini memperoleh token akses dan mengautentikasi ke server PostgreSQL atas nama Anda.

Profil koneksi Entra tersimpan terus menggunakan nilai warisan AzureMFA . Nilai kanonikal bearer-token:entra-id dikhususkan untuk distribusi yang dikendalikan server dan migrasi profil di masa mendatang.

Untuk menghapus akun Entra, jalankan PGSQL: Hapus Akun Microsoft Entra dari Palet Perintah dan pilih akun yang akan dihapus. Untuk menghapus token yang di-cache tanpa menghapus akun, jalankan PGSQL: Hapus cache token akun Microsoft Entra.

Model dua akun

Ekstensi ini mendukung model akun ganda untuk skenario Azure. Anda dapat menggunakan satu akun Entra untuk autentikasi database dan akun yang berbeda untuk menelusuri sumber daya Azure (langganan, grup sumber daya, dan server).

  • Bidang Akun Entra dalam dialog koneksi mengontrol identitas mana yang diautentikasi ke database.
  • Tab Telusuri Azure menggunakan akun Azure yang masuk ke Visual Studio Code (melalui ekstensi Sumber Daya Azure) untuk enumerasi langganan dan sumber daya.

Tip

Pemisahan ini berguna saat akun administrator database Anda berbeda dari akun yang mengelola langganan Azure. Konfigurasikan masing-masing secara independen untuk menggunakan izin yang benar untuk setiap tugas.

AWS IAM (RDS/Aurora)

Autentikasi AWS IAM menggunakan token autentikasi database yang ditandatangani AWS alih-alih kata sandi yang disimpan. Gunakan opsi ini hanya untuk titik akhir database Amazon RDS for PostgreSQL atau Amazon Aurora PostgreSQL yang mengaktifkan autentikasi database IAM. Wilayah AWS yang dimasukkan secara manual dapat melengkapi inferensi wilayah, tetapi tidak membuat host PostgreSQL kustom, host non-RDS, atau alias CNAME didukung. Dialog melabeli opsi ini AWS IAM (RDS/Aurora).

Note

Peran database PostgreSQL Anda harus ada di server dan harus diizinkan untuk menggunakan autentikasi database IAM. Untuk RDS dan Aurora PostgreSQL, berikan peran rds_iam. Untuk informasi selengkapnya, lihat Autentikasi database IAM untuk MariaDB, MySQL, dan PostgreSQL.

Untuk terhubung dengan autentikasi AWS IAM:

  1. Siapkan kredensial AWS. Konfigurasikan alur AWS CLI yang diperlukan oleh organisasi Anda. Contohnya termasuk aws configure, aws sso login --profile <profile>, atau penyiapan credential_process khusus organisasi.
  2. Buka dialog koneksi. Atur Jenis Autentikasi ke AWS IAM (RDS/Aurora).
  3. Masukkan titik akhir server. Gunakan titik akhir Amazon RDS atau Aurora PostgreSQL dalam Nama server.
  4. Masukkan peran basis data. Di Nama pengguna, masukkan pengguna atau peran database PostgreSQL. Ini bukan Profil AWS, pengguna IAM, peran IAM, atau ARN.
  5. Pilih sumber kredensial AWS. Pilih atau masukkan Profil AWS. Biarkan Profil AWS kosong untuk menggunakan rantai kredensial AWS default.
  6. Atur Wilayah AWS jika diperlukan. Ekstensi menyimpulkan wilayah dari nama host RDS dan Aurora standar jika memungkinkan. Jika nama host tidak menyertakan wilayah, masukkan di Wilayah AWS.
  7. Sambungkan. Pilih Simpan & Sambungkan. Ekstensi menandatangani token autentikasi berumur pendek dan menggunakannya sebagai kata sandi PostgreSQL untuk koneksi baru.

Rantai kredensial AWS mendukung variabel lingkungan, file konfigurasi dan kredensial AWS bersama, profil AWS SSO, dan profil credential_process. Ini tidak menggunakan kredensial metadata instans EC2 atau kredensial metadata kontainer ECS, dan tidak menggunakan rantai profil credential_source yang didukung metadata.

Token autentikasi database AWS IAM berlaku selama 15 menit. Ekstensi ini mendapatkan token baru sesuai kebutuhan sementara kredensial AWS yang mendasar tetap valid. Tidak perlu langkah-langkah penyegaran token secara manual.

Tidak

Tidak ada yang melewatkan autentikasi sepenuhnya. Ekstensi tersambung tanpa mengirim kredensial. Opsi ini berlaku untuk server PostgreSQL yang dikonfigurasi dengan trust autentikasi atau konfigurasi tanpa kredensial serupa.

Menyambungkan, menguji, dan memutuskan sambungan

Setelah Anda mengisi detail koneksi, gunakan tindakan dalam dialog koneksi dan pohon Koneksi untuk menyimpan profil, menyambungkan, mengedit, atau menghapus server.

Simpan & Sambungkan

Setelah Anda mengisi detail koneksi, pilih Simpan & Sambungkan untuk membuat koneksi. Tombol ini melakukan dua tindakan:

  1. Menyimpan koneksi sebagai profil di pengaturan Visual Studio Code Anda.
  2. Menyambungkan ke server.

Jika koneksi berhasil, server muncul di pohon Koneksi . Koneksi juga muncul di daftar Koneksi Tersimpan dan Koneksi Terbaru dalam dialog koneksi.

Menguji koneksi

Pilih Uji Koneksi untuk memverifikasi parameter koneksi tanpa menyimpan profil atau menambahkan server ke pohon Koneksi . Tombol menunjukkan spinner saat pengujian berjalan, lalu menampilkan tanda centang pada keberhasilan atau ikon peringatan pada kegagalan.

Putuskan sambungan

Untuk memutuskan sambungan dari server:

  • Koneksi: Klik kanan simpul server dan pilih Putuskan sambungan.
  • Palet Perintah: Jalankan PGSQL: Putuskan sambungan.

Mengedit koneksi yang sudah ada

Untuk mengedit koneksi tersimpan, klik kanan server di pohon Koneksi dan pilih Edit Koneksi. Dialog koneksi terbuka dalam mode edit dengan header Edit Koneksi dan nama profil saat ini sebagai judul. Buat perubahan Anda dan pilih Simpan & Sambungkan untuk menyambungkan kembali dengan pengaturan yang diperbarui.

Pengaturan koneksi tingkat lanjut

Pilih tombol Tingkat Lanjut di bawah bidang utama untuk membuka laci Pengaturan Koneksi Tingkat Lanjut . Laci berisi:

  • Opsi tingkat atas: Cakupan (Pengguna atau Ruang Kerja), Port, Nama aplikasi, Batas waktu koneksi, dan Failover Multi Subnet.
  • Bagian yang dikelompokkan: Bagian akordeon yang dapat diciutkan untuk Sumber, Keamanan, Server, Klien, SSL, Copilot, dan Terowongan SSH.

Opsi Lingkup menentukan lokasi penyimpanan profil koneksi:

Ruang lingkup Tempat profil disimpan
User Pengaturan pengguna Visual Studio Code (global, tersedia di ruang kerja apa pun)
Workspace Pengaturan ruang kerja Visual Studio Code (dibagikan dengan kolaborator melalui .vscode/settings.json)

Untuk detail konfigurasi terowongan SSL dan SSH, lihat Opsi koneksi tingkat lanjut.

Mode akses Copilot per koneksi

Bagian Copilot di laci tingkat lanjut menyertakan daftar dropdown mode akses Copilot dengan tiga opsi:

Option Efek
Gunakan Pengaturan Global Mewarisi nilai global pgsql.copilot.accessMode .
Hanya Baca Membatasi Copilot ke operasi baca-saja pada koneksi ini.
Baca/Tulis Memungkinkan Copilot menjalankan operasi baca dan tulis pada koneksi ini.

SSL serta TLS

SSL/TLS mengenkripsi koneksi antara Visual Studio Code dan server PostgreSQL Anda. Konfigurasikan mode SSL di bagian SSL dari laci Pengaturan Koneksi Tingkat Lanjut atau di string koneksi Anda.

Mode SSL

Modus Deskripsi
Nonaktifkan Tidak ada enkripsi SSL. Koneksi tidak terenkripsi.
Izinkan Mencoba koneksi yang tidak terenkripsi terlebih dahulu; kembali ke SSL jika server memerlukannya.
Lebih Suka Mencoba SSL terlebih dahulu; kembali ke koneksi yang tidak terenkripsi jika negosiasi SSL gagal. Ini adalah default untuk banyak klien PostgreSQL.
Memerlukan Memerlukan enkripsi SSL tetapi tidak memverifikasi sertifikat server. Melindungi dari penyadapan pasif.
Verifikasi-CA Memerlukan SSL dan memverifikasi bahwa sertifikat server ditandatangani oleh otoritas sertifikat tepercaya (CA).
Verifikasi Penuh Memerlukan SSL, memverifikasi CA, dan memeriksa apakah nama host server cocok dengan Nama Umum sertifikat atau Nama Alternatif Subjek. Memberikan perlindungan terkuat.

Note

Azure Database for PostgreSQL memerlukan SSL secara default. Gunakan Require untuk sebagian besar skenario atau Verify-Full dengan sertifikat DigiCert Global Root G2 untuk keamanan maksimum.

Tip

Untuk konfigurasi file sertifikat dan skenario TLS bersama, lihat Opsi koneksi tingkat lanjut.

Mengelola koneksi tersimpan dan terbaru

Dialog koneksi mencakup panel samping dengan dua daftar:

  • Koneksi Tersimpan: Koneksi yang sebelumnya Anda simpan dengan Simpan & Sambungkan. Setiap kartu menunjukkan nama tampilan server. Arahkan mouse ke atas kartu untuk menampilkan tombol hapus. Pilih kartu untuk memuat pengaturannya ke dalam dialog.
  • Koneksi Terbaru: Koneksi yang baru-baru ini Anda gunakan, terlepas dari apakah Anda menyimpannya dengan Nama Koneksi. Arahkan kursor untuk menampilkan tombol hapus.

Daftar Koneksi Terbaru dibatasi oleh pgsql.maxRecentConnections pengaturan. Jumlah maksimum koneksi terbuka simultan per profil dan database dikendalikan oleh pengaturan pgsql.maxConnections (default: 10).

Grup server

Grup server membantu Anda mengatur koneksi di pohon Koneksi . Anda dapat menetapkan nama dan warna kustom untuk setiap grup, sehingga lebih mudah untuk mengidentifikasi lingkungan seperti Pengembangan, Penahapan, dan Produksi secara sekilas.

Membuat grup server

  1. Klik kanan di pohon Koneksi dan pilih Buat Grup Server.
  2. Dalam dialog, masukkan Nama, Deskripsi opsional, dan pilih Warna untuk grup.

Mengedit atau menghapus grup server

  • Edit: Klik kanan grup server di pohon Koneksi dan pilih Edit Grup Server untuk mengubah namanya, deskripsi, atau warnanya.
  • Hapus: Klik kanan grup server dan pilih Hapus. Koneksi dalam grup tidak dihapus; mereka pindah ke grup default.

Menetapkan koneksi ke grup

Saat Anda membuat atau mengedit koneksi, dialog koneksi menyertakan daftar dropdown Grup Server di area bidang utama. Pilih grup dari daftar untuk menetapkan koneksi ke grup tersebut.

Warna grup muncul sebagai bilah berwarna di samping nama grup di pohon Koneksi , menyediakan identifikasi visual cepat.

Metadata Azure

Saat Anda tersambung ke server fleksibel Azure Database for PostgreSQL, dialog koneksi dapat menampilkan panel Metadata Azure bersama formulir. Panel ini menampilkan Langganan dan Grup Sumber Daya milik server setelah Anda memilih Ambil Metadata Azure. Termasuk metadata Azure memungkinkan fitur manajemen seperti dasbor Server dan metrik Azure Monitor.

Memecahkan masalah koneksi umum

Ketika upaya koneksi gagal, penyebabnya biasanya adalah pengaturan jaringan, autentikasi, atau SSL. Bagian berikut mencakup kasus yang paling umum.

Koneksi ditolak atau waktu habis

Jika koneksi gagal sebelum autentikasi dimulai, verifikasi Nama server dan Port terlebih dahulu. Pastikan PostgreSQL berjalan, port dapat dijangkau dari komputer Anda, dan aturan firewall jaringan apa pun memungkinkan koneksi. Anda dapat menyesuaikan batas waktu Sambungkan di laci Pengaturan Koneksi Tingkat Lanjut untuk memungkinkan lebih banyak waktu untuk jaringan lambat.

Kesalahan validasi SSL atau sertifikat

Jika server memerlukan enkripsi, konfirmasikan bahwa mode SSL yang dipilih di bagian SSL laci tingkat lanjut cocok dengan konfigurasi server. Untuk Verify-CA dan Verify-Full, pastikan sertifikat CA yang benar dikonfigurasi. Untuk detail file sertifikat, lihat Opsi koneksi tingkat lanjut.

Masalah masuk atau token Microsoft Entra

Jika autentikasi Entra gagal, konfirmasikan bahwa target Azure Database for PostgreSQL server fleksibel mengaktifkan autentikasi Entra, lalu verifikasi bahwa Anda memilih akun dan penyewa yang benar dalam dialog koneksi. Jika diperlukan, jalankan PGSQL: Hapus Akun Microsoft Entra dan tambahkan kembali akun. Untuk mengatur ulang token yang di-cache, jalankan PGSQL: Hapus cache token akun Microsoft Entra.

Masalah profil atau token AWS IAM

Jika autentikasi AWS IAM gagal, verifikasi bahwa Nama server adalah titik akhir Amazon RDS atau Aurora PostgreSQL, bukan nama host kustom atau alias CNAME. Konfirmasikan bahwa Nama pengguna adalah peran database PostgreSQL dan bahwa peran tersebut mengaktifkan autentikasi database IAM di server. Verifikasi bahwa Profil AWS yang dipilih dapat memperoleh kredensial AWS yang didukung; misalnya, jalankan aws sts get-caller-identity --profile <profile> untuk profil bernama, atau hilangkan --profile saat Anda menggunakan rantai kredensial default. Jika inferensi wilayah gagal untuk titik akhir yang didukung, masukkan Wilayah AWS secara manual.

Penguraian string koneksi tidak mengisi field yang benar

Jika string koneksi yang ditempelkan tidak mengisi nilai yang diharapkan, tinjau pola input yang didukung di Opsi koneksi tingkat lanjut. Jika format sumber tidak biasa, beralihlah ke tab Parameter dan masukkan nilai secara manual.