Criteri dell'organizzazione Cloud SQL

Questa pagina spiega come utilizzare un criterio dell'organizzazione con il tuo progetto Cloud SQL. Per iniziare a creare criteri dell'organizzazione, vedi Aggiungere i criteri dell'organizzazione.

Panoramica

I criteri dell'organizzazione consentono agli amministratori di impostare limitazioni relative al modo in cui gli utenti possono configurare le istanze al di sotto di tale organizzazione. I criteri dell'organizzazione utilizzano regole chiamate vincoli che l'amministratore dell'organizzazione inserisce in un progetto, una cartella o un'organizzazione. I vincoli applicano il criterio a tutte le istanze. Ad esempio, se provi ad aggiungere un'istanza a un'entità che ha un criterio dell'organizzazione, il vincolo esegue un controllo per garantire che la configurazione dell'istanza soddisfi i requisiti del vincolo. Se il controllo non riesce, Cloud SQL non crea l'istanza.

Quando aggiungi progetti a un'organizzazione o a una cartella che utilizza un criterio dell'organizzazione, i progetti ereditano i vincoli di tale criterio.

Per ulteriori informazioni sui criteri dell'organizzazione, vedi Servizio Criteri dell'organizzazione, Vincoli e Valutazione gerarchia.

Esistono due tipi di criteri dell'organizzazione specifici per Cloud SQL:

Criteri di connessione dell'organizzazione

I criteri dell'organizzazione di connessione forniscono un controllo centralizzato delle impostazioni IP pubbliche per Cloud SQL, per ridurre la superficie di attacco di sicurezza delle istanze Cloud SQL da Internet. Un amministratore dei criteri dell'organizzazione può utilizzare un criterio di connessione per limitare le configurazioni IP pubbliche di Cloud SQL a livello di progetto, cartella o organizzazione.

Vincoli dei criteri dell'organizzazione di connessione

Per il criterio dell'organizzazione di connessione, esistono due tipi di vincoli che impongono l'accesso alle istanze Cloud SQL.

Vincolo Descrizione predefinita
Limita l'accesso IP pubblico nelle istanze Cloud SQL Questo vincolo booleano limita la configurazione dell'IP pubblico nelle istanze Cloud SQL in cui il vincolo è impostato su True. Questo vincolo non è retroattivo. Le istanze Cloud SQL con accesso IP pubblico esistente continuano a funzionare anche dopo l'applicazione di questo vincolo.

Per impostazione predefinita, è consentito l'accesso IP pubblico alle istanze Cloud SQL.

constraints/sql.restrictPublicIp
CONSENTI
Limita reti autorizzate nelle istanze di Cloud SQL Se impostato su True, questo vincolo booleano limita l'aggiunta di reti autorizzate per l'accesso a database non inviati tramite proxy alle istanze Cloud SQL. Questo vincolo non è retroattivo. Le istanze Cloud SQL con le reti autorizzate esistenti continuano a funzionare anche dopo l'applicazione di questo vincolo.
Per impostazione predefinita, puoi aggiungere reti autorizzate alle istanze Cloud SQL.

constraints/sql.restrictAuthorizedNetworks
CONSENTI

Limitazioni relative ai criteri dell'organizzazione di connessione

Quando imposti il criterio dell'organizzazione per ogni progetto, devi determinare se una delle seguenti soluzioni si applica al tuo progetto:

Repliche di lettura: conflitti di indirizzi IP pubblici

Le repliche di lettura di Cloud SQL si connettono all'istanza principale tramite la connessione al database non proxy. Puoi utilizzare l'impostazione Reti autorizzate dell'istanza principale per configurare in modo esplicito o implicito gli indirizzi IP pubblici di replica di lettura.

Se sia le istanze principali sia le repliche si trovano all'interno della stessa area geografica e consentono l'IP privato, non vi è alcun conflitto con i vincoli dei criteri dell'organizzazione di connessione.

Incompatibilità utilizzando gcloud sql connect

Il comando gcloud sql connect utilizza un indirizzo IP pubblico per connettersi direttamente alle istanze Cloud SQL. Di conseguenza, non è compatibile con il vincolo sql.restrictPublicIp. In genere, questo è un problema per le istanze che utilizzano un IP privato.

Inoltre, il comando gcloud sql connect non utilizza il proxy, che pertanto non è compatibile con il vincolo sql.restrictAuthorizedNetworks.

Utilizza invece la versione beta del comando:

gcloud beta auth login
gcloud beta sql connect [INSTANCE_ID]

Questa versione utilizza il proxy Cloud SQL Auth. Per informazioni di riferimento, consulta gcloud beta sql connect.

La prima volta che esegui questo comando, ti viene richiesto di installare il componente proxy Cloud SQL Auth di gcloud. Per farlo, devi avere l'autorizzazione di scrittura nella directory di installazione dell'SDK gcloud sul tuo computer client.

Accesso ai servizi ospitati su GCP

Se la tua applicazione richiede l'accesso alle istanze Cloud SQL da altri servizi ospitati in GCP, come App Engine, deve utilizzare indirizzi IP pubblici. Non applicare il vincolo sql.restrictPublicIp al progetto. Tuttavia, puoi applicare sql.restrictAuthorizedNetworks perché le connessioni da App Engine passano attraverso la connessione sicura (con proxy).

Conflitti IP pubblici della replica di failover MySQL

Una replica di failover MySQL funziona come una replica di lettura per i criteri dell'organizzazione di connessione. Se sia le istanze primarie che quelle di replica si trovano nella stessa area geografica e attivano l'IP privato, non vi è alcun conflitto con i vincoli dei criteri dell'organizzazione di connessione.

Indirizzi IP privati non RFC 1918

Le connessioni a un'istanza Cloud SQL che utilizza un indirizzo IP privato vengono autorizzate automaticamente per gli intervalli di indirizzi RFC 1918. In questo modo tutti i client privati possono accedere al database senza passare attraverso il proxy. Devi configurare intervalli di indirizzi non RFC 1918 come reti autorizzate.

Per utilizzare intervalli IP privati non RFC 1918 non configurati nelle reti autorizzate, puoi eseguire una o entrambe le seguenti operazioni:

  1. Non imporre sql.restrictAuthorizedNetworks. Se anche le reti autorizzate applicano sql.restrictPublicIp, non puoi configurarle nella console. Utilizza invece l'API Cloud SQL o gcloud.
  2. Utilizza le connessioni con proxy per le istanze IP private.

Problemi noti ai criteri di connessione dell'organizzazione

Limita il vincolo per Reti autorizzate

Per le istanze Cloud SQL che hanno una voce Authorized Networks preesistente, sono consentite voci Authorized Networks aggiuntive, anche quando utilizzi il vincolo Limita le reti autorizzate (sql.restrictAuthorizedNetworks). Ciò influisce anche sulle istanze che hanno abilitato le repliche di sola lettura o di failover, in quanto dispongono di una voce Reti autorizzate per la replica non visibile all'utente.

Questo problema noto verrà rimosso quando il vincolo autorizza solo la rimozione delle voci di Reti autorizzate.

Criteri dell'organizzazione Chiavi di crittografia gestite dal cliente (CMEK)

Cloud SQL supporta due vincoli dei criteri dell'organizzazione che consentono di garantire la protezione CMEK in tutta l'organizzazione: constraints/gcp.restrictNonCmekServices e constraints/gcp.restrictCmekCryptoKeyProjects.

Il vincolo constraints/gcp.restrictNonCmekServices richiede la protezione CMEK per sqladmin.googleapis.com. Quando aggiungi questo vincolo e aggiungi sqladmin.googleapis.com all'elenco dei criteri di Deny, Cloud SQL rifiuta di creare nuove istanze a meno che non siano abilitate con CMEK.

Il vincolo constraints/gcp.restrictCmekCryptoKeyProjects limita le CryptoKey Cloud KMS da utilizzare per la protezione CMEK nelle istanze Cloud SQL per MySQL. Con questo vincolo, quando Cloud SQL crea una nuova istanza con CMEK, la CryptoKey deve provenire da un'organizzazione, un progetto o una cartella consentiti.

Questi vincoli vengono applicati solo alle istanze Cloud SQL per MySQL appena create.

Per ulteriori informazioni, consulta i criteri dell'organizzazione CMEK. Per informazioni sui vincoli dei criteri dell'organizzazione CMEK, vedi Vincoli dei criteri dell'organizzazione.

Regole di applicazione dei criteri dell'organizzazione

Cloud SQL applica il criterio dell'organizzazione durante le seguenti operazioni:

  • Creazione istanza
  • Creazione replica
  • Riavvio istanza
  • Migrazione dell'istanza
  • Clone istanza

Come tutti i vincoli dei criteri dell'organizzazione, le modifiche ai criteri non si applicano retroattivamente alle istanze esistenti.

  • Un nuovo criterio non ha effetto sulle istanze esistenti.
  • Una configurazione di istanza esistente rimane valida, a meno che un utente non modifichi la configurazione di istanza da una conformità a uno stato di non conformità utilizzando la console, gcloud o RPC.
  • Un aggiornamento pianificato per la manutenzione non provoca l'applicazione di criteri, perché la manutenzione non modifica la configurazione delle istanze.

Passaggi successivi