Sécurité, confidentialité, risques et conformité pour AlloyDB pour PostgreSQL

Ce document présente les différents contrôles qui permettent de sécuriser AlloyDB pour PostgreSQL sur Google Cloud et fournit des liens vers des informations supplémentaires sur la configuration de ces contrôles. Les contrôles de sécurité tels que les options, les règles et la gestion des accès à la sécurité du réseau peuvent également vous aider à faire face aux risques liés à votre activité et à respecter les exigences de confidentialité et réglementaires qui s'appliquent à votre entreprise.

La sécurité, la confidentialité, les risques et la conformité d'AlloyDB pour PostgreSQL reposent sur un modèle de responsabilité partagée. Par exemple, Google sécurise l'infrastructure sur laquelle s'exécutent AlloyDB pour PostgreSQL et d'autres services Google Cloud , et vous fournit les fonctionnalités qui vous aident à gérer l'accès à vos services et ressources. Pour en savoir plus sur la façon dont nous sécurisons l'infrastructure, consultez la présentation de la conception de la sécurité sur l'infrastructure de Google.

Architecture AlloyDB

Le schéma suivant montre les composants de l'architecture AlloyDB.

Architecture AlloyDB.

Les composants sont les suivants :

  • Les instances AlloyDB sont déployées dans plusieurs zones pour assurer la haute disponibilité et la résilience.
  • Une application dans Google Cloud ou dans un autre environnement qui se connecte à l'instance principale d'AlloyDB. Le schéma montre l'application s'exécutant dans le même projet Google Cloud que AlloyDB, mais vous pouvez également exécuter l'application dans un autre projet de votre organisationGoogle Cloud .
  • Dans un environnement hybride, Cloud VPN ou Cloud Interconnect peuvent fournir un accès aux ressources de votre réseau d'entreprise.
  • Périmètre de service créé à l'aide de VPC Service Controls. VPC Service Controls vous permet de contrôler le déplacement des données entre les services ou ressources Google, et de configurer une sécurité périmétrique basée sur le contexte.

Pour en savoir plus sur le point de terminaison AlloyDB, consultez l'API AlloyDB. Par défaut, ce point de terminaison n'est pas routable publiquement et ne peut pas recevoir de trafic entrant provenant de réseaux publics. Pour permettre aux instances AlloyDB de recevoir du trafic entrant sur les réseaux publics, consultez Se connecter à l'aide d'une adresse IP publique.

Pour en savoir plus sur les connecteurs AlloyDB, consultez Connectivité des applications.

Services provisionnés

Lorsque vous commencez à utiliser AlloyDB, vous activez les API suivantes :

Pour en savoir plus, consultez Guide de démarrage rapide : créer une base de données et s'y connecter.

Authentification pour la gestion de Google Cloud

Les administrateurs et les développeurs qui créent et gèrent des instances AlloyDB doivent s'authentifier auprès de Google Cloud pour valider leur identité et leurs droits d'accès. Vous devez configurer chaque utilisateur avec un compte utilisateur géré par Cloud Identity, Google Workspace ou un fournisseur d'identité que vous avez fédéré avec Cloud Identity ou Google Workspace. Pour en savoir plus, consultez Présentation de la gestion de l'authentification et des accès.

Après avoir créé les comptes utilisateur, mettez en œuvre les bonnes pratiques de sécurité, comme l'authentification unique et la validation en deux étapes. Pour en savoir plus sur les bonnes pratiques d'authentification, consultez Gérer l'identité et l'accès.

Identity and Access Management

Pour gérer les rôles Identity and Access Management (IAM) à grande échelle pour vos administrateurs et développeurs, envisagez de créer des groupes fonctionnels distincts pour vos différents rôles utilisateur et applications de base de données. Attribuez à vos groupes les rôles ou autorisations IAM requis pour gérer AlloyDB. Lorsque vous attribuez des rôles à vos groupes, suivez le principe du moindre privilège et les autres bonnes pratiques de sécurité IAM. Pour en savoir plus, consultez Bonnes pratiques d'utilisation de Google Groupes.

Pour en savoir plus sur la configuration d'IAM, consultez la présentation d'IAM.

Lorsque les clients utilisent l'authentification IAM pour les bases de données pour accéder à AlloyDB, vous pouvez également utiliser IAM pour contrôler leur accès à AlloyDB. Pour en savoir plus sur les rôles IAM requis pour AlloyDB, consultez Rôles et autorisations IAM pour AlloyDB.

Si vous utilisez le proxy d'authentification ou les connecteurs de langage (comme décrit dans Connectivité des applications), vous pouvez utiliser IAM pour contrôler les charges de travail des applications qui peuvent se connecter à AlloyDB. Pour en savoir plus sur l'utilisation d'IAM avec le proxy d'authentification, consultez Choisir le compte principal IAM et le préparer pour l'autorisation. Pour utiliser l'authentification IAM automatique avec les connecteurs de langage AlloyDB, consultez Gérer l'authentification IAM.

Comptes de service et agents de service par défaut

Un compte de service est un type spécial de compte Google non interactif destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Étant donné qu'AlloyDB est un service entièrement géré, Google gère votre compte de service AlloyDB en votre nom. Lorsque vous activez AlloyDB, un compte de service AlloyDB est créé pour votre projet (service-PROJECT_NUMBER-gcp-sa-alloydb-iam.gserviceaccount.com). Les ressources AlloyDB, telles que le serveur PostgreSQL, utilisent ce compte de service pour s'exécuter.

Les agents de service sont les rôles et autorisations IAM que certains services Google Cloudutilisent pour accéder à vos ressources et agir en votre nom. Le compte de service AlloyDB géré utilise les droits IAM de l'agent de service AlloyDB.

Règles pour AlloyDB

Les règles d'administration prédéfinies qui s'appliquent à AlloyDB définissent si AlloyDB peut utiliser des clés de chiffrement gérées par le client (CMEK) pour chiffrer vos données. Configurez AlloyDB pour utiliser CMEK si vos obligations réglementaires vous imposent de mieux contrôler les clés utilisées pour chiffrer les données AlloyDB au repos. Ces règles incluent les éléments suivants :

  • Limiter les services autorisés à créer des ressources sans CMEK (constraints/gcp.restrictNonCmekServices)
  • Limiter les projets pouvant fournir des CryptoKeys Cloud KMS pour CMEK (constraints/gcp.restrictCmekCryptoKeyProjects)

Pour en savoir plus, consultez Utiliser des règles d'administration prédéfinies.

Vous pouvez utiliser des règles d'administration personnalisées pour configurer des restrictions sur AlloyDB au niveau d'un projet, d'un dossier ou d'une organisation. Si vous activez les adresses IP publiques, nous vous recommandons de configurer une contrainte de règle personnalisée pour définir qui peut utiliser l'adresse IP publique. Pour affiner vos règles, vous pouvez ajouter des champs d'instance AlloyDB (par exemple, activer l'adresse IP publique ou activer l'adresse IP publique sortante) à la règle. Pour en savoir plus, consultez Utiliser des règles d'administration personnalisées.

Sécurité du réseau

Par défaut, Google applique des protections par défaut aux données en transit pour tous les servicesGoogle Cloud , y compris les instances AlloyDB qui s'exécutent sur Google Cloud. Pour en savoir plus sur les protections réseau par défaut, consultez Chiffrement en transit.

AlloyDB est compatible avec le chiffrement TLS 1.3 pour la communication entre l'instance de base de données et les clients. AlloyDB génère automatiquement le certificat de serveur pour cette connexion. Pour utiliser des certificats client pour l'authentification mutuelle, vous devez configurer un connecteur de langage AlloyDB (qui utilise l'authentification mTLS) ou le proxy d'authentification AlloyDB.

Si votre organisation l'exige, vous pouvez configurer des contrôles de sécurité supplémentaires pour mieux protéger le trafic sur le réseau Google Cloud et le trafic entre le réseau Google Cloud et votre réseau d'entreprise. Réfléchissez aux éléments suivants :

  • AlloyDB est compatible avec VPC Service Controls. VPC Service Controls vous permet de contrôler le déplacement des données dans les services Google et de configurer une sécurité périmétrique basée sur le contexte. Pour savoir comment configurer VPC Service Controls, consultez Configurer VPC Service Controls.

    • Si vous activez les adresses IP publiques, utilisez les connecteurs de langage AlloyDB et une règle d'administration personnalisée pour contrôler qui a accès aux instances AlloyDB.
  • Dans Google Cloud, considérez le VPC partagé comme votre topologie réseau. Le VPC partagé offre une gestion centralisée de la configuration du réseau tout en conservant la séparation des environnements.

  • Utilisez Cloud VPN ou Cloud Interconnect pour maximiser la sécurité et la fiabilité de la connexion entre votre réseau d'entreprise etGoogle Cloud. Pour en savoir plus, consultez Choisir un produit de connectivité réseau.

Pour en savoir plus sur les bonnes pratiques en matière de sécurité réseau, consultez Implémenter le modèle Zero Trust et Choisir la conception du réseau pour votre zone de destination Google Cloud .

Connectivité des applications

Vous pouvez sécuriser la connexion entre les applications et AlloyDB à l'aide des méthodes suivantes :

Le schéma suivant illustre les options de connectivité.

Options de connectivité AlloyDB.

Pour en savoir plus sur les options de configuration des connexions aux services sans adresse IP externe, consultez Options d'accès privé pour les services.

Authentification de la base de données

AlloyDB propose les méthodes d'authentification suivantes pour les clients de base de données :

  • Authentification intégrée à la base de données à l'aide d'un nom d'utilisateur et d'un mot de passe. L'autorisation est déterminée à l'aide des instructions GRANT ou REVOKE. Pour en savoir plus, consultez Gérer les rôles utilisateur AlloyDB.
  • Authentification IAM à l'aide de comptes principaux IAM tels que des utilisateurs et des comptes de service. Les connecteurs de langage AlloyDB peuvent automatiser le processus d'authentification IAM. Pour en savoir plus, consultez la présentation des connecteurs de langage AlloyDB. L'authentification IAM présente les avantages suivants :
    • Contrôle d'accès unifié : IAM centralise le contrôle des accès pour toutes les ressources Google Cloud , y compris les bases de données. Le contrôle d'accès unifié permet d'appliquer des règles cohérentes et de gérer plus facilement les utilisateurs et les rôles.
    • Gestion simplifiée des identifiants : les utilisateurs n'ont pas besoin de mots de passe de base de données distincts. L'authentification IAM utilise les identifiants de leur compte Google existant.
    • Jetons de courte durée : l'authentification IAM utilise des jetons d'accès de courte durée, ce qui réduit le risque de fuite de mots de passe ou de compromission d'identifiants.

Connecteurs

Vous pouvez utiliser le proxy d'authentification AlloyDB ou un connecteur de langage AlloyDB pour configurer une connexion chiffrée au client de base de données. Le proxy d'authentification AlloyDB est un proxy côté client qui met à niveau de manière transparente les connexions non TLS vers des connexions TLS 1.3. Les connecteurs de langage sont des bibliothèques clientes qui se connectent à un serveur proxy sur le cluster AlloyDB. Les deux connecteurs utilisent IAM pour autoriser la connexion et la protéger à l'aide de mTLS. Vous pouvez également configurer l'authentification sans mot de passe au lieu de l'authentification IAM.

Si vous utilisez le proxy d'authentification, consultez les bonnes pratiques concernant l'utilisation du proxy d'authentification AlloyDB.

Protection et confidentialité des données

Cette section décrit comment AlloyDB protège vos données et leur confidentialité.

AlloyDB chiffre les données stockées dans votre cluster (par exemple, le nom de l'instance, la configuration de l'instance, le contenu des tables, les noms de lignes et les fonctions personnalisées) à l'aide du chiffrement par défaut. Seules les instances AlloyDB peuvent accéder à ces données.

Vous pouvez activer les clés de chiffrement gérées par le client (CMEK) pour chiffrer les données de votre cluster au repos. Avec CMEK, les clés sont stockées dans Cloud KMS en tant que clés protégées par logiciel ou par matériel (avec Cloud HSM), mais elles sont gérées par vous. Pour provisionner automatiquement des clés de chiffrement, vous pouvez activer Cloud KMS Autokey. Lorsque vous activez Autokey, un développeur peut demander une clé à Cloud KMS, et l'agent de service provisionne une clé qui correspond à l'intention du développeur. Avec Cloud KMS Autokey, les clés sont disponibles à la demande, sont cohérentes et suivent les pratiques standards du secteur.

De plus, AlloyDB est compatible avec Cloud External Key Manager (Cloud EKM), qui vous permet de stocker vos clés dans un gestionnaire de clés externe à Google Cloud. Si vous utilisez Cloud EKM, Key Access Justifications ajoute un champ à vos requêtes Cloud EKM qui vous permet de voir le motif de chaque requête. Avec certains partenaires de gestion de clés externes, vous pouvez approuver ou refuser automatiquement ces demandes, en fonction de leur justification.

Où les données sont-elles traitées ?

AlloyDB est compatible avec la résidence des données pour les données stockées dans votre cluster. La résidence des données vous permet de choisir les régions dans lesquelles vous souhaitez que vos données soient stockées à l'aide de la contrainte de règle de restriction d'emplacement des ressources. Vous pouvez utiliser l'inventaire des éléments cloud pour vérifier l'emplacement des ressources AlloyDB.

Si vous avez besoin de la résidence des données pour les données en cours d'utilisation, vous pouvez configurer Assured Workloads. Pour en savoir plus, consultez Assured Workloads et la résidence des données.

Confidentialité des données

Pour contribuer à protéger la confidentialité de vos données, AlloyDB respecte les Principes communs de confidentialité.

AlloyDB agit en tant que sous-traitant des données client. Google agit également en tant que responsable du traitement des données pour des informations telles que la facturation, la gestion des comptes et la détection des utilisations abusives. Pour en savoir plus, consultez l'Avis de confidentialité deGoogle Cloud .

Journaux d'audit

AlloyDB écrit les types de journaux d'audit suivants :

  • Journaux d'audit pour les activités d'administration : incluent les opérations ADMIN WRITE qui écrivent des métadonnées ou des informations de configuration.
  • Journaux d'audit des accès aux données : incluent les opérations ADMIN READ qui lisent les métadonnées ou les informations de configuration. Ils comprennent également les opérations DATA READ et DATA WRITE qui lisent ou écrivent des données fournies par l'utilisateur.
  • Journaux d'audit des événements système : identifient les actions automatisées Google Cloud qui modifient la configuration des ressources.

Pour en savoir plus, consultez Journalisation des audits AlloyDB.

De plus, pour répondre aux exigences réglementaires, vous pouvez utiliser l'extension pgAudit afin d'activer un journal d'audit des commandes de base de données. Les journaux de l'extension pgAudit incluent des informations sur les commandes exécutées, la date et l'heure d'exécution, et l'auteur des commandes.

Access Transparency

Vous pouvez utiliser Access Approval et Access Transparency pour contrôler l'accès aux instances AlloyDB par le personnel Google qui assure l'assistance pour le service. La fonctionnalité Access Approval vous permet d'accepter ou de refuser les demandes d'accès émanant d'employés de Google. Les journaux Access Transparency fournissent des informations en temps quasi réel lorsque les administrateursGoogle Cloud accèdent aux ressources.

Surveillance et réponse aux incidents

Vous pouvez utiliser différents outils pour surveiller les performances et la sécurité d'AlloyDB. Réfléchissez aux éléments suivants :

  • Utilisez l'explorateur de journaux pour afficher et analyser les journaux d'événements, et créer des métriques et des alertes personnalisées.
  • Utilisez le tableau de bord des insights système AlloyDB ou le tableau de bord Cloud Monitoring pour surveiller les performances des instances AlloyDB. Pour en savoir plus, consultez Surveiller les instances.
  • Activez l'extension pgAudit pour auditer les opérations AlloyDB (telles que les commandes et les requêtes effectuées sur une instance AlloyDB). Ces journaux incluent les journaux de base de données PostgreSQL et les journaux de conteneur pour les agents du plan de données.
  • Configurez Security Command Center pour détecter les failles SQL et les menaces pour AlloyDB (comme les escalades de privilèges). Vous pouvez configurer des alertes et des playbooks pour les analystes de votre centre d'opérations de sécurité (SOC) afin qu'ils puissent répondre aux résultats.

Certifications et conformité

Le respect des exigences réglementaires est une responsabilité partagée entre vous et Google.

AlloyDB a reçu de nombreuses certifications, dont les suivantes :

Pour en savoir plus sur la conformité de Google Cloud avec les différentes certifications et cadres réglementaires, consultez le Centre de ressources pour la conformité.

AlloyDB est également compatible avec Assured Workloads, qui vous permet d'appliquer des contrôles à des dossiers spécifiques de votre organisation Google pour répondre aux exigences réglementaires, régionales ou de souveraineté. Pour en savoir plus, consultez Produits compatibles par package de contrôles.

Étapes suivantes