Sicurezza, privacy, rischi e conformità per AlloyDB per PostgreSQL

Questo documento fornisce una panoramica dei vari controlli che supportano la sicurezza di AlloyDB per PostgreSQL su Google Cloud e link a ulteriori informazioni su come configurare i controlli. Controlli di sicurezza come opzioni, norme e gestione dell'accesso per la sicurezza di rete possono anche aiutarti ad affrontare i rischi aziendali e soddisfare i requisiti normativi e di privacy applicabili alla tua attività.

La sicurezza, la privacy, il rischio e la conformità per AlloyDB per PostgreSQL utilizzano un modello di responsabilità condivisa. Ad esempio, Google protegge l'infrastruttura su cui vengono eseguiti AlloyDB per PostgreSQL e altri Google Cloud servizi e ti fornisce le funzionalità che ti aiutano a gestire l'accesso ai tuoi servizi e risorse. Per ulteriori informazioni su come proteggiamo l'infrastruttura, consulta la panoramica sulla progettazione della sicurezza dell'infrastruttura Google.

Architettura di AlloyDB

Il seguente diagramma mostra i componenti dell'architettura AlloyDB.

Architettura di AlloyDB.

I componenti includono:

  • Le istanze AlloyDB vengono implementate in più zone per garantire alta disponibilità e resilienza.
  • Un'applicazione in Google Cloud o in un altro ambiente che si connette all'istanza principale di AlloyDB. Il diagramma mostra l'applicazione in esecuzione nello stesso progetto Google Cloud di AlloyDB, anche se puoi eseguirla anche in un altro progetto della tua organizzazioneGoogle Cloud .
  • In un ambiente ibrido, Cloud VPN o Cloud Interconnect possono fornire l'accesso alle risorse della tua rete aziendale.
  • Un perimetro di servizio creato utilizzando i Controlli di servizio VPC. I Controlli di servizio VPC ti consentono di controllare lo spostamento dei dati tra i servizi o le risorse Google e configurare la sicurezza perimetrale basata sul contesto.

Per informazioni sull'endpoint AlloyDB, consulta API AlloyDB. Per impostazione predefinita, questo endpoint non è un endpoint instradabile pubblicamente e non può ricevere traffico in entrata dalle reti pubbliche. Per consentire alle istanze AlloyDB di ricevere traffico in entrata sulle reti pubbliche, consulta Connessione tramite IP pubblico.

Per informazioni sui connettori AlloyDB, vedi Connettività dell'applicazione.

Servizi di cui è stato eseguito il provisioning

Quando inizi a utilizzare AlloyDB, abiliti le seguenti API:

Per maggiori informazioni, consulta la guida rapida: crea e connettiti a un database.

Autenticazione per la gestione di Google Cloud

Gli amministratori e gli sviluppatori che creano e gestiscono istanze AlloyDB devono autenticarsi per Google Cloud verificare la propria identità e i privilegi di accesso. Devi configurare ogni utente con un account utente gestito da Cloud Identity, Google Workspace o un provider di identità che hai federato con Cloud Identity o Google Workspace. Per saperne di più, vedi Panoramica della gestione dell'identità e dell'accesso.

Dopo aver creato gli account utente, implementa le best practice per la sicurezza, ad esempio Single Sign-On e verifica in due passaggi. Per altre best practice di autenticazione, consulta Gestire l'identità e l'accesso.

Identity and Access Management

Per gestire i ruoli IAM (Identity and Access Management) su larga scala per amministratori e sviluppatori, valuta la possibilità di creare gruppi funzionali separati per i vari ruoli utente e applicazioni del database. Concedi ai tuoi gruppi i ruoli o le autorizzazioni IAM necessari per gestire AlloyDB. Quando assegni ruoli ai tuoi gruppi, segui il principio del privilegio minimo e altre best practice per la sicurezza IAM. Per ulteriori informazioni, consulta le best practice per l'utilizzo di Google Gruppi.

Per ulteriori informazioni sulla configurazione di IAM, consulta la panoramica di IAM.

Quando i client utilizzano l'autenticazione del database IAM per accedere ad AlloyDB, puoi utilizzare IAM anche per controllare il loro accesso ad AlloyDB. Per saperne di più sui ruoli IAM richiesti per AlloyDB, consulta Ruoli e autorizzazioni IAM per AlloyDB.

Se utilizzi il proxy di autenticazione o i connettori dei linguaggi (come descritto in Connettività dell'applicazione), puoi utilizzare IAM per controllare quali carichi di lavoro delle applicazioni possono connettersi ad AlloyDB. Per saperne di più sull'utilizzo di IAM con il proxy di autenticazione, consulta Scegliere l'entità IAM e prepararla per l'autorizzazione. Per utilizzare l'autenticazione IAM automatica con i connettori di linguaggio AlloyDB, consulta Gestire l'autenticazione IAM.

Service account e agenti di servizio predefiniti

Un service account è un tipo speciale di Account Google non interattivo destinato a rappresentare un utente non umano che deve autenticarsi ed essere autorizzato ad accedere ai dati nelle API di Google. Poiché AlloyDB è un servizio completamente gestito, Google gestisce il tuoaccount di serviziot AlloyDB per tuo conto. Quando attivi AlloyDB, viene creato un account di servizio AlloyDB per il tuo progetto (service-PROJECT_NUMBER-gcp-sa-alloydb-iam.gserviceaccount.com). Le risorse AlloyDB, come il server PostgreSQL, utilizzano questo service account per l'esecuzione.

Gli agenti di servizio sono i ruoli e le autorizzazioni IAM utilizzati da alcuni servizi Google Cloudper accedere alle tue risorse e agire per tuo conto. Il account di servizio AlloyDB gestito utilizza i privilegi IAM dell'agente di servizio AlloyDB.

Norme per AlloyDB

I criteri dell'organizzazione predefiniti che si applicano ad AlloyDB definiscono se AlloyDB può utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per criptare i tuoi dati. Configura AlloyDB in modo che utilizzi CMEK se i tuoi obblighi normativi richiedono un maggiore controllo sulle chiavi utilizzate per criptare i dati inattivi di AlloyDB. Le norme includono:

  • Limita i servizi che possono creare risorse senza CMEK (constraints/gcp.restrictNonCmekServices)
  • Limita i progetti che possono fornire CryptoKey KMS Cloud per CMEK (constraints/gcp.restrictCmekCryptoKeyProjects)

Per ulteriori informazioni, vedi Utilizzare le policy dell'organizzazione predefinite.

Puoi utilizzare criteri dell'organizzazione personalizzati per configurare le limitazioni per AlloyDB a livello di progetto, cartella o organizzazione. Se attivi gli indirizzi IP pubblici, ti consigliamo di configurare un vincolo di policy personalizzato per stabilire chi può utilizzare l'indirizzo IP pubblico. Per perfezionare le tue policy, puoi aggiungere i campi dell'istanza AlloyDB (ad esempio, abilita l'indirizzo IP pubblico o abilita l'indirizzo IP pubblico in uscita) alla policy. Per saperne di più, consulta Utilizzare policy dell'organizzazione personalizzate.

Sicurezza della rete

Per impostazione predefinita, Google applica protezioni predefinite ai dati in transito per tutti i serviziGoogle Cloud , incluse le istanze AlloyDB in esecuzione su Google Cloud. Per ulteriori informazioni sulle protezioni di rete predefinite, vedi Crittografia in transito.

AlloyDB supporta la crittografia TLS 1.3 per la comunicazione tra l'istanza del database e i client. AlloyDB genera automaticamente il certificato server per questa connessione. Per utilizzare i certificati client per l'autenticazione reciproca, devi configurare un connettore di linguaggio AlloyDB (che utilizza l'autenticazione mTLS) o il proxy di autenticazione AlloyDB.

Se richiesto dalla tua organizzazione, puoi configurare controlli di sicurezza aggiuntivi per proteggere ulteriormente il traffico sulla rete Google Cloud e il traffico tra la rete Google Cloud e la tua rete aziendale. Considera quanto segue:

  • AlloyDB supporta i controlli di servizio VPC. I Controlli di servizio VPC ti consentono di controllare lo spostamento dei dati nei servizi Google e configurare la sicurezza perimetrale basata sul contesto. Per maggiori informazioni sulla configurazione dei Controlli di servizio VPC, consulta Configurare i Controlli di servizio VPC.

    • Se abiliti gli indirizzi IP pubblici, utilizza i connettori dei linguaggi AlloyDB e una policy dell'organizzazione personalizzata per controllare chi ha accesso alle istanze AlloyDB.
  • In Google Cloud, considera VPC condiviso come topologia di rete. Un VPC condiviso fornisce una gestione centralizzata della configurazione di rete, mantenendo al contempo la separazione degli ambienti.

  • Utilizza Cloud VPN o Cloud Interconnect per massimizzare la sicurezza e l'affidabilità della connessione tra la rete aziendale eGoogle Cloud. Per saperne di più, consulta la sezione Scegliere un prodotto Network Connectivity.

Per saperne di più sulle best practice per la sicurezza di rete, vedi Implementare Zero Trust e Decidere la progettazione della rete per la zona di destinazione Google Cloud .

Connettività delle applicazioni

Puoi proteggere la connessione tra le applicazioni e AlloyDB utilizzando i seguenti metodi:

Il seguente diagramma mostra le opzioni di connettività.

Opzioni di connettività AlloyDB.

Per ulteriori informazioni sulle opzioni per configurare le connessioni ai servizi senza un indirizzo IP esterno, consulta Opzioni di accesso privato per i servizi.

Autenticazione database

AlloyDB fornisce i seguenti metodi di autenticazione per i client di database:

  • Autenticazione del database integrata tramite nome utente e password. L'autorizzazione viene determinata utilizzando le istruzioni GRANT o REVOKE. Per saperne di più, vedi Gestire i ruoli utente di AlloyDB.
  • Autenticazione IAM tramite entità IAM come utenti e service account. I connettori dei linguaggi AlloyDB possono automatizzare il processo di autenticazione IAM. Per maggiori informazioni, consulta la panoramica dei connettori di linguaggio AlloyDB. L'autenticazione IAM offre i seguenti vantaggi:
    • Controllo dell'accesso unificato: IAM centralizza il controllo dell'accesso in tutte le risorse Google Cloud , inclusi i database. Il controllo dell'accesso unificato garantisce criteri coerenti e una gestione più semplice di utenti e ruoli.
    • Gestione ridotta delle credenziali: gli utenti non hanno bisogno di password di database separate. L'autenticazione IAM utilizza le credenziali dell'account Google esistenti.
    • Token di breve durata: l'autenticazione IAM utilizza token di accesso di breve durata, riducendo il rischio di password compromesse o credenziali compromesse.

Connettori

Puoi utilizzare il proxy di autenticazione AlloyDB o un connettore dei linguaggi AlloyDB per configurare una connessione criptata al client di database. Il proxy di autenticazione AlloyDB è un proxy lato client che esegue l'upgrade trasparente delle connessioni non TLS a connessioni TLS 1.3. I connettori di linguaggio sono librerie client che si connettono a un server proxy sul cluster AlloyDB. Entrambi i connettori utilizzano IAM per autorizzare la connessione e proteggerla tramite mTLS. Se vuoi, puoi configurare l'autenticazione senza password anziché l'autenticazione IAM.

Se utilizzi il proxy di autenticazione, consulta le best practice per l'utilizzo del proxy di autenticazione AlloyDB.

Protezione dei dati e privacy

Questa sezione descrive in che modo AlloyDB protegge i tuoi dati e la tua privacy di questi dati.

AlloyDB cripta i dati archiviati nel cluster (ad esempio, il nome dell'istanza, la configurazione dell'istanza, i contenuti della tabella, i nomi delle righe e le funzioni personalizzate) utilizzando la crittografia predefinita. Questi dati sono accessibili solo dalle istanze AlloyDB.

Puoi abilitare le chiavi di crittografia gestite dal cliente (CMEK) per criptare i dati del cluster at-rest. Con CMEK, le chiavi vengono archiviate in Cloud KMS come chiavi protette dal software o dall'hardware (con Cloud HSM), ma sono gestite da te. Per eseguire il provisioning delle chiavi di crittografia automaticamente, puoi attivare Cloud KMS Autokey. Quando abiliti Autokey, uno sviluppatore può richiedere una chiave da Cloud KMS e l'agente di servizio esegue il provisioning di una chiave che corrisponde all'intento dello sviluppatore. Con Cloud KMS Autokey, le chiavi sono disponibili on demand, sono coerenti e seguono le pratiche standard del settore.

Inoltre, AlloyDB supporta Cloud External Key Manager (Cloud EKM), che ti consente di archiviare le chiavi in un gestore delle chiavi esterno al di fuori di Google Cloud. Se utilizzi Cloud EKM, Key Access Justifications aggiunge un campo alle tue richieste Cloud EKM che ti consente di visualizzare il motivo di ogni richiesta. Con alcuni partner esterni di gestione delle chiavi, puoi approvare o rifiutare automaticamente queste richieste in base alla giustificazione.

Dove vengono trattati i dati

AlloyDB supporta la residenza dei dati per i dati archiviati nel tuo cluster. La residenza dei dati ti consente di scegliere le regioni in cui vuoi che i tuoi dati vengano archiviati utilizzando il vincolo del criterio di limitazione della località delle risorse. Puoi utilizzare Cloud Asset Inventory per verificare la posizione delle risorse AlloyDB.

Se hai bisogno della residenza dei dati per i dati in uso, puoi configurare Assured Workloads. Per ulteriori informazioni, vedi Assured Workloads e residenza dei dati.

Privacy dei dati

Per contribuire a proteggere la privacy dei tuoi dati, AlloyDB è conforme ai principi comuni di privacy.

AlloyDB agisce in qualità di responsabile del trattamento dei dati per i dati dei clienti. Google agisce anche in qualità di titolare del trattamento dei dati per informazioni quali fatturazione e gestione dell'account e rilevamento di abusi. Per maggiori informazioni, consulta l'Google Cloud informativa sulla privacy.

Audit logging

AlloyDB scrive i seguenti tipi di audit log:

  • Audit log per le attività di amministrazione: include le operazioni ADMIN WRITE che scrivono i metadati o le informazioni di configurazione.
  • Audit log di accesso ai dati: include le operazioni ADMIN READ che leggono i metadati o le informazioni di configurazione. Include anche le operazioni DATA READ e DATA WRITE che leggono o scrivono i dati forniti dall'utente.
  • Audit log degli eventi di sistema: identifica le azioni automatizzate che modificano la configurazione delle risorse. Google Cloud

Per ulteriori informazioni, vedi Log di controllo di AlloyDB.

Inoltre, per soddisfare i requisiti normativi, puoi utilizzare l'estensione pgAudit per attivare un audit trail dei comandi del database. I log dell'estensione pgAudit includono dettagli sui comandi eseguiti, quando sono stati eseguiti e chi li ha eseguiti.

Trasparenza degli accessi

Puoi utilizzare l'approvazione dell'accesso e la funzionalità Access Transparency per controllare l'accesso alle istanze AlloyDB da parte del personale Google che supporta il servizio. Access Approval ti consente di approvare o respingere le richieste di accesso da parte dei dipendenti di Google. I log di Access Transparency offrono insight quasi in tempo reale quando gli amministratoriGoogle Cloud accedono alle risorse.

Monitoraggio e risposta agli incidenti

Puoi utilizzare una serie di strumenti per monitorare le prestazioni e la sicurezza di AlloyDB. Considera quanto segue:

  • Utilizza Esplora log per visualizzare e analizzare i log eventi e creare metriche personalizzate e avvisi.
  • Utilizza la dashboard degli approfondimenti sul sistema AlloyDB o la dashboard di Cloud Monitoring per monitorare le prestazioni delle istanze AlloyDB. Per maggiori informazioni, vedi Monitorare le istanze.
  • Attiva l'estensione pgAudit per controllare le operazioni di AlloyDB (come comandi e query eseguiti su un'istanza AlloyDB). Questi log includono i log del database PostgreSQL e i log dei container per gli agenti del dataplane.
  • Configura Security Command Center per rilevare vulnerabilità SQL e minacce a AlloyDB (ad esempio escalation dei privilegi). Puoi configurare avvisi e playbook per gli analisti del tuo Security Operations Center (SOC) in modo che possano rispondere ai risultati.

Certificazioni e conformità

Il rispetto dei requisiti normativi è una responsabilità condivisa tra te e Google.

AlloyDB ha ricevuto molte certificazioni, tra cui le seguenti:

Per saperne di più sulla Google Cloud conformità a diversi framework normativi e certificazioni, consulta il Centro risorse per la conformità.

AlloyDB supporta anche Assured Workloads, che ti consente di applicare controlli a cartelle specifiche della tua organizzazione Google che supportano requisiti normativi, regionali o di sovranità. Per ulteriori informazioni, vedi Prodotti supportati per pacchetto di controlli.

Passaggi successivi