Mysql
 sql >> Database >  >> RDS >> Mysql

come proteggere la connessione al database di Google utilizzando l'ip pubblico (0.0.0.0)?

Esistono diversi modi per impostare una connessione sicura a un'istanza Cloud SQL.

  1. Utilizza certificati SSL per connetterti all'istanza e abilita "Consenti solo connessioni SSL".
  2. Usa IP privato. Ho appreso che l'applicazione che hai creato non è ospitata in GCP, ma altrove, quindi una buona opzione è:

    2.1. Abilita la funzione IP privato nella tua istanza CSQL

    2.2. Abilita "import percorsi personalizzati " nel peering appena creato tra il tuo progetto (chiamiamolo "progetto A") e il progetto tenant in cui si trova il tuo CSQL (il nome di questo progetto apparirà come "speckle-umbrella-[pg]-xx" JFYI). Tieni presente che questa funzione è in versione beta.

    2.3. Chiedi al nostro team di supporto tecnico di abilitare "export custom rotte" sul peering appena creato, ma per questa volta dalla nostra parte (nel già citato progetto "speckle-umbrella-[pg]-xx"). Se non disponi di un pacchetto di supporto, puoi aprire un tracker di problemi privato seguendo questo collegamento specificando il mio nome, il tuo ID progetto e l'istanza CSQL in cui desideri abilitare questa funzione. Non preoccuparti, il tracker dei problemi che aprirai lì è visibile solo per i dipendenti di Google e per te. Tieni presente che l'apertura di un tracker dei problemi potrebbe richiedere fino a 90 giorni per ottenere una risposta, ma monitorerò questo post.

    2.4. Quindi, poiché presumevo che la tua app non fosse in esecuzione in GCP, dovrai impostare un tunnel VPN o un Interconnessione cloud , per connettere la tua rete locale a Google Cloud.

Dopodiché, sarai in grado di connetterti dalla tua app alla tua istanza CSQL in modo sicuro.

  1. Se desideri utilizzare l'IP privato e la tua app è ospitata in GCP, puoi connetterti direttamente alla tua istanza CSQL se la tua app e CSQL si trovano entrambi nella stessa regione e utilizzano lo stesso VPC (se stai utilizzando un'opzione serverless come le funzioni Cloud o Google App Engine Standard, puoi utilizzare Accesso VPC serverless ). Ma se la tua app è ospitata in GCP, ma in un progetto diverso, puoi seguire i passaggi 2.1, 2.2 e 2.3, quindi creare un peering VPC tra il progetto in cui si trova la tua applicazione (chiamiamola questo progetto "progetto B") e il progetto a cui hai associato la tua istanza CSQL ("Progetto A"). Per "progetto A" dovrai abilitare "esporta percorsi personalizzati" in questo nuovo peering VPC e per "progetto B" dovrai abilitare "importa percorsi personalizzati". In questo modo, la tua connessione tra la tua app (ospitata nel "Progetto B") passerà dal Progetto B al Progetto A e al Progetto A a speckle-umbrella-[pg]-xx fino a raggiungere la tua istanza Cloud SQL.

Il motivo per cui devi occuparti di route personalizzate è perché qualche tempo fa i peering VPC non erano in grado di propagare le route, ma ora è completamente possibile.