Cloud SQL Auth Proxy

Twoja instancja Cloud SQL nie ma publicznego adresu IP.
Sięgnij po nią po nazwie, bez maszyny bastionowej.

AgentsRoom uruchamia Cloud SQL Auth Proxy, gdy otwierasz połączenie, i kieruje na niego swojego klienta bazy danych. Podajesz nazwę połączenia z instancją, project:region:instance, albo wybierasz ją z listy, którą widzi Twoje własne logowanie gcloud.

Proxy jest autoryzowane przez Twoje Application Default Credentials, więc AgentsRoom nie przechowuje klucza konta usługi. Z uwierzytelnianiem bazy danych przez IAM nie ma też hasła do bazy. A agent AI do kodowania może odpytać tę samą instancję, w trybie tylko do odczytu.

Cloud SQL Auth Proxy
Bez publicznego adresu IP
AgentsRoom
127.0.0.1 : port wybrany przez system
cloud-sql-proxy
--private-ip --auto-iam-authn
Twoje logowanie gcloudTLS 1.3, IAM
Instancja Cloud SQL
acme-prod:europe-west1:orders
Rezerwowanie wolnego portu loopback
Tylko loopback, nigdy sieć lokalnaBez przechowywanego klucza, bez maszyny bastionowej

Jak AgentsRoom sięga po instancję Cloud SQL przez jej prywatny adres IP za pomocą Cloud SQL Auth Proxy, bez niczego przechowywanego po stronie aplikacji.

Instancja Cloud SQL wyłącznie z prywatnym adresem IP to słuszna konfiguracja i niewygodna zarazem. Baza żyje w Twoim VPC, jej publiczny adres IP jest wyłączony, a dostać się do niej mogą tylko maszyny wewnątrz tej sieci. A tu trzeba zajrzeć do trzech wierszy, żeby zrozumieć błąd, i to z laptopa.

Google ma już na to odpowiedź: Cloud SQL Auth Proxy. Otwiera zaszyfrowane połączenie z instancją, autoryzowane Twoją tożsamością Google, a nie listą dozwolonych adresów IP, i udostępnia je jako lokalny port. Uciążliwe jest wszystko wokół: instalacja, pamiętanie nazwy połączenia z instancją, uruchamianie proxy w terminalu przed otwarciem klienta i zapominanie o nim potem.

AgentsRoom bierze to na siebie. W polu Połącz przez w połączeniu z bazą wybierasz Google Cloud SQL, podajesz instancję, zaznaczasz Prywatny adres IP albo Uwierzytelnianie bazy danych przez IAM, jeśli ich potrzebujesz, i od tej chwili otwarcie bazy to jedno kliknięcie. Proxy startuje razem z połączeniem i kończy razem z nim.

Zwykłe obejścia zawsze coś kosztują

Trzy odpowiedzi na ten sam problem i cena, jaką każda z nich każe zapłacić.

Maszyna bastionowa tylko do tego

Maszyna Compute Engine z portem SSH, trzymana w VPC wyłącznie po to, by ktoś mógł od czasu do czasu zrobić tunel do bazy. Trzeba ją łatać, kosztuje co godzinę, a jej klucze SSH i reguły zapory rozjeżdżają się wraz ze zmianami w zespole.

Publiczny adres IP i lista dozwolonych

Włączenie publicznego adresu IP i dodanie domowego adresu do autoryzowanych sieci działa do momentu, gdy adres się zmieni, a w międzyczasie baza nasłuchuje w internecie. To wyjątek, który nigdy nie zostaje usunięty.

Klucz konta usługi na laptopie

Pobranie klucza JSON, żeby uruchomić proxy, to skrót, którego żałuje każdy: długo żyjące dane logowania w folderze Pobrane, skopiowane do skryptów i promptów, których nikt nie rotuje i nikt nie potrafi wyśledzić.

Od prywatnej instancji Cloud SQL do zbioru wyników

Cztery kroki, raz wykonane, a potem to już jedno kliknięcie.

01

Zaloguj się przez gcloud, raz

Uruchom na swojej maszynie gcloud auth application-default login. Utworzone w ten sposób Application Default Credentials proxy wykorzystuje, by dotrzeć do instancji. AgentsRoom niczego z tego nie czyta i niczego nie przechowuje.

02

Wybierz instancję w polu Połącz przez

Utwórz połączenie MySQL lub PostgreSQL i wybierz Google Cloud SQL w polu Połącz przez. Wpisz nazwę połączenia z instancją, project:region:instance, albo kliknij Pokaż moje instancje, by wybrać ją spośród tych, które widzi Twoje logowanie gcloud. Host i port znikają: adresem jest instancja.

03

Wybierz prywatny adres IP i uwierzytelnianie IAM

Zaznacz Prywatny adres IP, gdy instancja nie ma publicznego adresu, a Twoja maszyna sięga do jej VPC przez VPN lub Interconnect. Zaznacz Uwierzytelnianie bazy danych przez IAM, by logować się swoją tożsamością Google: pole hasła znika, a użytkownikiem jest Twój użytkownik bazy IAM.

04

Odpytaj ją sam albo pozwól agentowi

Otwarcie połączenia rezerwuje wolny port loopback, uruchamia na nim cloud-sql-proxy i czeka, aż zacznie przyjmować połączenie TCP. Konsola łączy się z 127.0.0.1 jak z każdym innym połączeniem, a agent AI może odpytać bazę przez MCP, tylko do odczytu. Zamknięcie połączenia zatrzymuje proxy.

Co faktycznie się uruchamia

Polecenie, które uruchamia AgentsRoom

Nic nie jest reimplementowane. AgentsRoom uruchamia jako proces potomny oryginalny plik binarny cloud-sql-proxy od Google (wersja 2), przekazując argumenty bezpośrednio, a nie przez powłokę. Jeśli kiedykolwiek uruchamiałeś proxy ręcznie, to jest ta sama linijka, którą już znasz.

cloud-sql-proxy acme-prod:europe-west1:orders \
  --address 127.0.0.1 --port 54321 \
  --private-ip \
  --auto-iam-authn

Instancja i dwie opcje pochodzą z zapisanego przez Ciebie połączenia. Port lokalny wybiera system operacyjny w chwili otwarcia.

Proxy przyjmuje lokalne połączenie, zanim cokolwiek sprawdzi, a potem je zrywa i zapisuje w logu, co jest nie tak. AgentsRoom czyta ten log i podaje prawdziwą przyczynę: proxy nie jest zainstalowane, logowanie gcloud wygasło (razem z poleceniem do uruchomienia), konto nie ma roli Cloud SQL Client, instancja nie ma prywatnego adresu IP albo nazwa instancji jest błędna.

Wymagania

Co musi być spełnione, zanim to zadziała

AgentsRoom obsługuje Twoją konfigurację Google Cloud, a nie ją zastępuje. To te same rzeczy, których proxy potrzebuje samo z siebie.

  • cloud-sql-proxy na Twojej maszynie

    Wersja 2 Cloud SQL Auth Proxy, dostępna w PATH. Najszybciej zainstalujesz ją przez gcloud components install cloud-sql-proxy; Google udostępnia ją też jako samodzielne pobranie. Jeśli jej brakuje, AgentsRoom to mówi i podaje polecenie.

  • Application Default Credentials

    gcloud auth application-default login, uruchomione raz. Gdy to logowanie wygaśnie, błąd każe Ci uruchomić je ponownie, zamiast pokazywać zamknięte gniazdo.

  • Rola Cloud SQL Client

    Twoje konto Google potrzebuje roli Cloud SQL Client w projekcie instancji, a Cloud SQL Admin API musi być tam włączone. Uwierzytelnianie bazy danych przez IAM wymaga dodatkowo roli Cloud SQL Instance User i użytkownika IAM na instancji.

  • gcloud do listy wyboru

    Pokaż moje instancje uruchamia gcloud sql instances list w Twoim aktywnym projekcie albo w projekcie, który zacząłeś wpisywać. Bez gcloud nadal możesz wpisać nazwę połączenia ręcznie.

  • Trasa do VPC dla prywatnego adresu IP

    Prywatny adres IP oznacza, że sama Twoja maszyna musi dosięgnąć VPC instancji, przez VPN, Interconnect albo maszynę wewnątrz sieci. Bez takiej trasy zostaw Prywatny adres IP wyłączony i użyj publicznego adresu z szyfrowaniem proxy.

Co proxy robi, a czego odmawia

Właściwości, które decydują, czy można je bezpiecznie zostawić skonfigurowane na laptopie.

Tylko loopback

Proxy nasłuchuje na 127.0.0.1 i nigdzie więcej. Baza nigdy nie jest ponownie wystawiana w sieci lokalnej, więc Wi-Fi w kawiarni nie staje się drogą do produkcji.

Port wybrany przez system

AgentsRoom prosi system operacyjny o wolny port i przekazuje go proxy. Żadnego stałego portu do zapamiętania, żadnej kolizji z innym proxy uruchomionym ręcznie.

Gotowe znaczy gotowe

Połączenie otwiera się dopiero wtedy, gdy port lokalny przyjmuje TCP, a proxy, które od razu się zamyka, zgłasza powód, który wypisało. Bez arbitralnego sleepa, bez klienta łączącego się za wcześnie.

Bez przechowywanego klucza

Proxy jest autoryzowane przez Twoje Application Default Credentials. AgentsRoom przechowuje nazwę połączenia z instancją i dwie opcje, z których żadna nie jest daną logowania, a klucz konta usługi nigdy nie trafia do aplikacji.

Baza pozostaje tylko do odczytu

Połączenie z bazą jest tworzone jako tylko do odczytu. Zapis wymaga, by połączenie zostało uczynione zapisywalnym, oraz wyraźnego potwierdzenia, głośniejszego przy połączeniu oznaczonym jako produkcyjne.

Jedno polecenie na wywołanie

Każde wywołanie niesie dokładnie jedno polecenie, więc nic nie chowa się za średnikiem, a zbiory wyników są ograniczone, by szerokie zapytanie nie zalało okna ani kontekstu agenta.

Dlaczego to mniej dostępu, a nie więcej

Po stronie instancji nie zostaje otwarte nic. Publiczny adres IP może pozostać wyłączony, żadna sieć nie trafia na listę autoryzowanych, a maszyna z portem SSH nie musi żyć na wypadek okazjonalnego zapytania. Proxy szyfruje połączenie z instancją od końca do końca.

Autoryzacja zostaje tam, gdzie zarządza nią Twoja organizacja: w Twojej tożsamości Google i jej rolach IAM. Dostęp nadany tej tożsamości jest logowany jak każde inne połączenie z Cloud SQL i kończy się w dniu, w którym rola zostanie odebrana. AgentsRoom zachowuje nazwę instancji, wybór Prywatnego adresu IP i wybór IAM, i nic, co mógłby odtworzyć ktoś, kto te dane przeczyta.

Po stronie bazy obowiązują te same zabezpieczenia co w każdym połączeniu AgentsRoom: domyślnie tylko do odczytu, jedno polecenie na wywołanie, ograniczone zbiory wyników i flaga produkcji, która zaostrza potwierdzenie zapisu. Agent AI odpytujący bazę przez MCP dostaje zbiór wyników, nigdy danych logowania, i nie może zapisywać, dopóki nie uczynisz połączenia zapisywalnym i nie włączysz dla niego opcji Zezwól agentom na zapis.

Co nie jest obsługiwane

MySQL i PostgreSQL, na razie bez SQL Server

Cloud SQL obsługuje MySQL, PostgreSQL i SQL Server. AgentsRoom sięga przez proxy po pierwsze dwa i nie ma dziś klienta SQL Server. AlloyDB, który ma własne proxy, również nie jest objęty.

O tym, który silnik albo usługa będzie następna, decyduje to, o co proszą użytkownicy. Jeśli Twojego brakuje, napisz w publicznym backlogu którego, a zostanie policzony.

Poproś o swój silnik bazy danych
Agenci AI + Cloud SQL

Agent też może ją odpytać, tylko do odczytu

db_listdb_schemadb_querydb_connection_newdb_connection_save

Gdy połączenie już istnieje, agent AI do kodowania używa go przez AgentsRoom MCP, podając jego nazwę: db_list, db_schema do przejrzenia tabel i kolumn, db_query dla jednego polecenia z ograniczoną liczbą wierszy. Agent może też sam zarejestrować połączenie z Cloud SQL przez db_connection_new lub db_connection_save, podając nazwę połączenia z instancją.

AgentsRoom sam uruchamia proxy, gdy agent o to prosi, więc agent nigdy nie dotyka danych logowania Google, hasła do bazy ani numeru portu. Wraca tylko zbiór wyników. Zapis wymaga połączenia zapisywalnego i ustawienia Zezwól agentom na zapis, domyślnie wyłączonego.

Agent debugujący na produkcyjnej replice czyta wiersze, które wyjaśniają błąd, bez danych logowania, które mogłyby wyciec do jego kontekstu, i bez drogi do bazy po zamknięciu aplikacji.

FAQ

Jak połączyć się z instancją Cloud SQL, która ma tylko prywatny adres IP?

Utwórz połączenie MySQL lub PostgreSQL, wybierz Google Cloud SQL w polu Połącz przez, podaj nazwę połączenia z instancją i zaznacz Prywatny adres IP. AgentsRoom uruchamia Cloud SQL Auth Proxy z --private-ip na porcie loopback i podłącza do niego swojego klienta. Twoja maszyna musi sięgać do VPC instancji, na przykład przez VPN lub Interconnect.

Czy AgentsRoom przechowuje klucz konta usługi?

Nie. Proxy jest autoryzowane przez Application Default Credentials, które utworzyło gcloud auth application-default login na Twojej maszynie. AgentsRoom przechowuje nazwę połączenia z instancją i dwie opcje, z których żadna nie jest daną logowania.

Czy mogę połączyć się bez hasła do bazy?

Tak, dzięki uwierzytelnianiu bazy danych przez IAM. Zaznacz je w połączeniu, a proxy uruchomi się z --auto-iam-authn: zaloguje się Twoją tożsamością Google, pole hasła zniknie, a użytkownikiem będzie Twój użytkownik bazy IAM. Instancja musi mieć włączone uwierzytelnianie IAM, a ten użytkownik musi być utworzony.

Co muszę mieć zainstalowane?

Cloud SQL Auth Proxy w wersji 2 (gcloud components install cloud-sql-proxy albo samodzielne pobranie od Google) oraz logowanie gcloud dla Application Default Credentials. Samo gcloud jest potrzebne tylko do przycisku Pokaż moje instancje.

Co się dzieje, gdy moje logowanie gcloud wygaśnie?

Proxy odrzuca połączenie i zapisuje powód w logu. AgentsRoom czyta ten log i pokazuje zrozumiały komunikat z prośbą o uruchomienie gcloud auth application-default login, zamiast gołego błędu połączenia. Potem ponawiasz próbę.

Jaki port lokalny jest używany i kto może po niego sięgnąć?

System operacyjny wybiera wolny port w chwili otwarcia połączenia, a proxy nasłuchuje wyłącznie na 127.0.0.1. Nic w sieci lokalnej nie może do niego dotrzeć, a proxy zatrzymuje się po zamknięciu połączenia albo zamknięciu aplikacji.

Które silniki Cloud SQL są obsługiwane?

Cloud SQL for MySQL i Cloud SQL for PostgreSQL. Cloud SQL for SQL Server nie jest obsługiwany, bo AgentsRoom nie ma jeszcze klienta SQL Server; poproś o niego w publicznym backlogu, a zostanie policzony.

Czy działa na Windows i Linux?

Tak. cloud-sql-proxy to natywny plik binarny na macOS, Windows i Linux, a AgentsRoom uruchamia go tak samo na wszystkich trzech. Aplikacja mobilna pokazuje te same połączenia i odpytuje je tylko do odczytu przez Twój komputer.

Czy agent AI może odpytać bazę przez proxy?

Tak, domyślnie tylko do odczytu. Agent podaje nazwę zapisanego połączenia przez AgentsRoom MCP, aplikacja sama uruchamia proxy i wykonuje polecenie, a wraca wyłącznie zbiór wyników. Agent nigdy nie dostaje danych logowania Google ani hasła do bazy, a db_query odrzuca wszystko poza odczytem, chyba że połączenie jest zapisywalne i włączyłeś dla niego Zezwól agentom na zapis.

Może Ci się spodobać

Odpytaj swoją prywatną instancję Cloud SQL

Pobierz AgentsRoom, wybierz instancję Cloud SQL i odpytuj ją przez Cloud SQL Auth Proxy ze swoim własnym logowaniem gcloud: bez maszyny bastionowej, bez publicznego adresu IP, bez klucza na dysku.

Za darmoPobierz

Aplikacja towarzysząca: monitoruj agentów w podróży

Użyj Claude, Codex, Antigravity CLI lub innego dostawcy AI.

Zainstaluj rozszerzenie
Chrome Web Store

Wysyłaj bugi i prośby bezpośrednio do swojego publicznego backlogu.

Wiele projektów
Multi-provider
Wielu agentów
Status na żywo
Diff i commit
Aplikacja mobilna
Podgląd na żywo
Zespoły agentów
Testy w przeglądarce
Dev oparta na backlogu
Biblioteka promptów
Biblioteka umiejętności
Zobacz wszystkie funkcje