Pour protéger vos charges de travail AlloyDB pour PostgreSQL sur Google Cloud, gérer les risques commerciaux et répondre aux exigences de conformité réglementaire et de confidentialité, vous pouvez configurer des contrôles de sécurité réseau, des règles d'administration, le chiffrement, ainsi que la gestion de l'authentification et des accès.
La sécurité, la confidentialité, les risques et la conformité d'AlloyDB reposent sur un modèle de responsabilité partagée. Par exemple, Google sécurise l'infrastructure sur laquelle AlloyDB et d'autres services Google Cloud s'exécutent, 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 Google sécurise l'infrastructure, consultez la présentation de la conception de la sécurité sur l'infrastructure de Google.
architecture d'AlloyDB
Le schéma suivant montre les composants de l'architecture AlloyDB.
Les composants sont les suivants :
- Les instances AlloyDB sont déployées sur 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 qu'AlloyDB, mais vous pouvez également l'exécuter 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.
- Un 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 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 des 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 :
alloydb.googleapis.comcompute.googleapis.comcloudresourcemanager.googleapis.comservicenetworking.googleapis.com
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. Pour chaque utilisateur, vous devez configurer 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 la 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é, telles que 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 vos développeurs, envisagez de créer des groupes fonctionnels distincts pour vos différents rôles d'utilisateur et applications de base de données. Attribuez à vos groupes les rôles ou les autorisations IAM requis pour gérer AlloyDB. Lorsque vous attribuez des rôles à vos groupes, suivez le principe du moindre privilège et d'autres bonnes pratiques de sécurité IAM. Pour en savoir plus, consultez Bonnes pratiques d'utilisation des groupes Google.
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 AlloyDB ou les connecteurs de langage AlloyDB (comme décrit dans Connectivité des applications), vous pouvez utiliser IAM pour contrôler les charges de travail d'application qui peuvent se connecter à AlloyDB. Pour en savoir plus sur l'utilisation d'IAM avec le proxy d'authentification, consultez Choisir le principal IAM et le préparer pour l'autorisation. Pour utiliser l'authentification IAM automatique avec les connecteurs de langage, 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. Comme AlloyDB est un service entièrement géré, Google gère votre agent de service AlloyDB en votre nom. Lorsque vous activez AlloyDB, un agent 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 cet agent 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 des CMEK si vos obligations réglementaires exigent que vous contrôliez davantage les clés utilisées pour chiffrer les données AlloyDB au repos. Les 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 Key Management Service (Cloud KMS) pour les 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, Google vous recommande 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é 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 exécutées 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 clients pour l'authentification mutuelle, vous devez configurer les connecteurs de langage AlloyDB (qui utilisent l'authentification mTLS) ou le proxy d'authentification AlloyDB.
Si votre entreprise 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 le réseau de votre 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 en savoir plus sur la configuration de 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 maintenant séparés les environnements.
Utilisez Cloud VPN ou Cloud Interconnect pour maximiser la sécurité et la fiabilité de la connexion entre le réseau de votre entreprise etGoogle Cloud. Pour en savoir plus, consultez Choisir un produit de connectivité réseau.
Pour en savoir plus sur les bonnes pratiques de sécurité réseau, consultez Implémenter le modèle zéro confiance et Choisir une conception 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 proxy d'authentification AlloyDB ou les connecteurs de langage AlloyDB, pour configurer un tunnel TCP sécurisé vers l'instance AlloyDB.
- Authentification de la base de données.
- Accès au VPC sans serveur pour connecter AlloyDB directement à Cloud Run.
- Private Service Connect ou accès aux services privés pour se connecter à une application dans un autre VPC sur Google Cloud à l'aide de l'adresse IP privée AlloyDB. Utilisez cette méthode pour conserver le trafic dansGoogle Cloud. Si vous souhaitez utiliser Private Service Connect, vous devez le configurer lors de la création du cluster de bases de données AlloyDB.
Le schéma suivant illustre les options de connectivité.
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 fournit 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
GRANTouREVOKE. 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 des 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 des accès unifié permet d'appliquer des règles cohérentes et de gérer plus facilement les utilisateurs et les rôles.
- Gestion réduite 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 d'identifiants compromis.
Connecteurs
Vous pouvez utiliser le proxy d'authentification AlloyDB ou les connecteurs 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 d'utilisation du proxy d'authentification AlloyDB.
Protection des données et confidentialité
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 des 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 les 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 Cloud KMS 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 respectent 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 en dehors de Google Cloud. Si vous utilisez Cloud EKM, Key Access Justifications ajoute un champ à vos requêtes Cloud EKM qui vous permet d'afficher 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 stocker vos donné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 résidence des données.
Confidentialité des données
Pour protéger la confidentialité de vos données, AlloyDB est conforme aux principes de confidentialité communs.
AlloyDB agit en qualité de sous-traitant des données client. Google agit également en tant que responsable du traitement pour des informations liées par exemple à la facturation, à la gestion de compte 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 des activités d'administration : incluent les opérations
ADMIN WRITEqui écrivent des métadonnées ou des informations de configuration. - Journaux d'audit des accès aux données : incluent les opérations
ADMIN READqui lisent les métadonnées ou les informations de configuration. Ils comprennent également les opérationsDATA READetDATA WRITEqui lisent ou écrivent des données fournies par l'utilisateur. - Journaux d'audit des événements système : identifient les actions Google Cloud automatisées qui modifient la configuration des ressources.
Pour en savoir plus sur les journaux d'audit dans AlloyDB, consultez Journaux d'audit AlloyDB.
De plus, pour répondre aux exigences réglementaires, vous pouvez utiliser l'extension pgAudit afin d'activer une piste d'audit des commandes de base de données. Les journaux de l'extension pgAudit incluent des détails sur les commandes exécutées, la date et l'heure de leur exécution, ainsi que l'identité de l'utilisateur qui les a exécutées.
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 du service. Access Approval vous permet d'accepter ou de refuser les demandes d'accès émanant d'employés de Google. Les journaux Access Transparency vous indiquent en temps quasi réel quand des 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. Tenez compte des points suivants :
- Utilisez l'explorateur de journaux pour afficher et analyser les journaux d'événements, et créer des métriques personnalisées et des alertes.
- Utilisez le tableau de bord des insights système d'AlloyDB ou le tableau de bord Cloud Monitoring pour surveiller les performances des instances AlloyDB. Pour en savoir plus, consultez Surveiller des 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). Il existe des journaux liés à la base de données PostgreSQL et des journaux de conteneurs 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 élévations de privilèges). Vous pouvez configurer des alertes et des playbooks pour les analystes de votre centre des opérations de sécurité (SOC) afin qu'ils puissent répondre aux résultats.
Certifications et conformité
Le respect de vos obligations réglementaires est une responsabilité partagée entre vous et Google.
AlloyDB a reçu de nombreuses certifications, dont les suivantes :
- ISO 27001, ISO 27017, ISO 27018 et ISO 27701
- Service and Organization Controls (SOC) 1, SOC 2, SOC 3
- Payment Card Industry Data Security Standards (PCI DSS)
- Health Insurance Portability and Accountability Act (HIPAA)
Pour en savoir plus sur la conformité de Google Cloud avec les différents cadres réglementaires et certifications, 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 qui répondent à des exigences réglementaires, régionales ou de souveraineté. Pour en savoir plus, consultez Produits compatibles par package de contrôle.
Étapes suivantes
- Configurez la résilience avec des clusters.
- Activez les sauvegardes.
- Utilisez Terraform pour déployer AlloyDB.
- Utilisez Google Threat Intelligence pour suivre les menaces externes qui s'appliquent à votre entreprise.