Rozšířené možnosti připojení

Tento článek popisuje pokročilé funkce připojení v rozšíření PostgreSQL pro Visual Studio Code. Tyto možnosti použijte v případě, že potřebujete znovu použít existující připojovací řetězec, zadat soubory certifikátů pro přísnější ověřování PROTOKOLU TLS nebo se připojit přes hostitele bastionu pomocí tunelu SSH.

Tip

Standardní ověřování, výběr režimu SSL, skupiny serverů a uložená připojení najdete v tématu Připojení a identita.

Použijte režim zadání připojovacího řetězce

V dialogovém okně připojení vyberte kartu Připojovací řetězec (v části Připojit přes:) a vložte existující definici připojení. Rozšíření analyzuje řetězec automaticky a naplní propojovací pole.

Stránka používá rozložení se dvěma sloupci:

  • Levý sloupec: textová oblast označená připojovacím řetězcem , kam řetězec vložíte. Nápověda pod textovou oblastí uvádí: Vynechte prosím heslo z připojovacího řetězce.
  • Pravý sloupec: panel Podrobnosti o připojení jen pro čtení, který zobrazuje analyzovaný název serveru, uživatelské jméno a hodnoty název databáze při extrahování.

Analýza probíhá živě při psaní nebo vkládání. Pokud analyzátor zjistí chybějící hodnotu serveru nebo uživatele, zobrazí se chyba ověření nad textovou oblastí.

Podporované formáty

Rozšíření rozpozná devět formátů připojovací řetězec:

Format Předpona nebo spouštěč Příklad
PostgreSQL URI postgres:// nebo postgresql:// postgresql://user:password@host:5432/dbname?sslmode=require
JDBC jdbc:postgresql:// jdbc:postgresql://host:5432/dbname
Oddělený středníkem (klíč=hodnota) Obsahuje ; host=localhost;port=5432;dbname=mydb;user=postgres;password=secret
psql příkazový řádek psql psql -h host -p 5432 -U user -d dbname
Exportování proměnných prostředí export export PGHOST=localhost následované PGPORT, PGUSER, PGDATABASE, PGPASSWORD
Node.js new Client new Client({ host: "localhost", port: 5432, user: "postgres", database: "mydb" })
Python (psycopg2) psycopg2.connect psycopg2.connect(user="postgres", password="<your-password>", host="localhost", port=5432, database="mydb")
PHP pg_connect pg_connect("host=localhost port=5432 dbname=mydb user=postgres")
Ruby PG::Connection.new PG::Connection.new(host: "localhost", port: "5432", user: "postgres", database: "mydb")

Analyzátor extrahuje hostitele, uživatele, port, databázi a heslo ze všech formátů. Pokud už je v dialogovém okně vyplněné pole hesla, analyzátor zachová stávající hodnotu.

Note

Po zpracování můžete stále otevřít panel Advanced a nakonfigurovat nastavení, která připojovací řetězce neobsahují, například tunely SSH nebo režim přístupu AI pro jednotlivá připojení (režim přístupu Copilot ve Visual Studio Code, režim přístupu AI v Cursoru).

Konfigurace souborů certifikátů

Pokud vaše prostředí vyžaduje vzájemné ověřování TLS nebo explicitní ověření certifikační autority, použijte nastavení souborů certifikátů v rozbalovací části SSL panelu Pokročilá nastavení připojení.

Režim kořenového certifikátu SSL

Rozevírací seznam režimu kořenového certifikátu SSL určuje, jak rozšíření poskytuje certifikát kořenové certifikační autority. Zvolte jednu z následujících hodnot:

Mode Behavior
Nic Nepoužívá se žádný kořenový certifikát. Rozšíření neověřuje řetěz certifikátů serveru.
System Rozšíření používá úložiště důvěryhodných certifikátů vašeho operačního systému. Tento režim vyžaduje režim Verify-Full SSL; rozšíření to vynucuje automaticky.
Vlastní soubor Zobrazí se textové pole s názvem název kořenového certifikátu SSL . Zadejte cestu k souboru certifikátu kořenové certifikační autority s kódováním PEM.

Important

Když vyberete System, režim SSL se automaticky nastaví na Verify-Full. Pokud změníte režim SSL na jinou hodnotu, když je systém aktivní, zobrazí se chyba ověření: "Verify-Full režim SSL je vyžadován při použití systémového úložiště certifikátů."

Pole klientského certifikátu

Konfigurace vzájemného protokolu TLS poskytnutím cest v těchto polích v části SSL :

Popisek pole Property Popis
Název souboru certifikátu SSL sslcert Cesta k souboru klientského certifikátu.
Název souboru klíče SSL sslkey Cesta k souboru privátního klíče klienta
Název souboru kořenového certifikátu SSL sslrootcert Cesta ke kořenovému certifikátu certifikační autority (viditelná pouze tehdy, když je režim kořenového certifikátu SSL nastaven na Vlastní soubor).
Název souboru SSL CRL sslcrl Cesta k souboru seznamu odvolaných certifikátů
Použití komprese SSL sslcompression Povolí kompresi pro připojení SSL.

Tip

Pro režimy Verify-CA a Verify-Full vždy nakonfigurujte kořenový certifikát, aby rozšíření mohl ověřit certifikát serveru. Režim systému použijte k závislosti na důvěryhodném úložišti certifikační autority vašeho operačního systému bez zadání cesty k souboru.

Připojení přes tunel SSH

Tunelování SSH směruje připojení PostgreSQL přes šifrovaný kanál SSH. Tento přístup použijte v případě, že databáze není přímo dostupná z pracovní stanice. Například když se server nachází v soukromé síti za bastionovým hostitelem.

Povolení tunelu

  1. Otevřete dialogové okno připojení a kliknutím na Pokročilé otevřete panel Pokročilá nastavení připojení.
  2. Rozbalte sekci akordeonu SSH Tunnel.
  3. Zkontrolujte přepínač Povolit tunelování SSH . Zobrazí se pole připojení SSH.

Pole tunelového propojení SSH

Popisek pole Popis
hostitel Název hostitele nebo IP adresa serveru SSH (hostitel bastionu).
přístav Číslo portu serveru SSH (výchozí hodnota: 22).
uživatelské jméno Uživatelské jméno pro ověření pomocí serveru SSH.
Authentication Metoda ověřování SSH. Zvolte Heslo, Soubor identity, nebo Agent SSH.

Zbývající pole se mění v závislosti na vybrané metodě ověřování:

Metoda ověřování Další zobrazená pole
Heslo heslo/heslo: zadejte heslo SSH. Zaškrtávací políčko Uložit heslo / přístupovou frázi pro uložení přihlašovacích údajů.
Soubor identity Soubor identity: Zadejte úplnou cestu k privátnímu klíči SSH (například ~/.ssh/id_ed25519). heslo/heslo: Pokud je privátní klíč zašifrovaný, zadejte heslo klíče. Zaškrtávací políčko „Uložit heslo/heslovou frázi“
SSH Agent Žádná další pole. Rozšíření deleguje ověřování na agenta SSH vašeho systému (ssh-agentv systému macOS a Linux, ve službě agenta ověřování OpenSSH na Windows).

Jak funguje tunel

Když je tunel SSH povolený, rozšíření nejprve naváže spojení SSH, nastaví místní přesměrování portu a pak se připojí k PostgreSQL přes toto přesměrování. Z tohoto důvodu:

  • Název serveru v polích hlavního připojení by měl být adresa databáze, jak je vidět na hostiteli SSH, což je často localhost nebo privátní IP adresa.
  • Port by měl být portEm PostgreSQL na cílovém hostiteli (obvykle5432).
  • Vytvoření tunelu SSH přidává latenci připojení. Pokud dojde k vypršení časového limitu, zvažte zvýšení hodnoty časového limitu připojení v rozšířených možnostech.

Vyberte správnou pokročilou možnost

Scenario Doporučená funkce
Máte existující identifikátor URI PostgreSQL, fragment kódu aplikace nebo psql příkaz. Vyberte kartu Připojovací řetězec, aby se pole vyplnila automaticky.
Vaše organizace vyžaduje vlastní soubory CA nebo vzájemné tls. Nakonfigurujte pole certifikátu SSL v části SSL rozšířené zásuvky.
K ověření serveru je potřeba použít úložiště certifikátů operačního systému. Nastavte režim kořenového certifikátu SSL na systém a režim SSL tak, aby se ověřilo jako úplné.
Databáze je přístupná pouze přes jump box nebo bastion host. V rozšířeném panelu povolte tunel SSH v části Tunel SSH.