Présentation de la sécurité de Cloud Service Mesh
Cloud Service Mesh associé à la sécurité des API Istio vous aide à atténuer les menaces internes et réduire le risque de violation des données en garantissant que toutes les communications entre les charges de travail sont chiffrés, s'authentifient et sont autorisés.
Traditionnellement, la microsegmentation utilisant des règles basées sur l'adresse IP permet d'atténuer les risques internes. Toutefois, l'adoption de conteneurs, de services partagés et d'environnements de production distribués répartis sur plusieurs clouds rend cette approche plus difficile à configurer et même plus difficile à gérer.
Avec Cloud Service Mesh, vous pouvez configurer une couche de sécurité réseau basée sur le contexte du service et le contexte de la requête, indépendamment de la sécurité du réseau sous-jacent. Pour cette raison, Cloud Service Mesh vous permet d'adopter une stratégie de défense en profondeur conformément aux principes de sécurité du zéro confiance. Il vous permet d'y parvenir via des stratégies déclaratives, sans modifier le code de l'application.
TLS mutuel
Cloud Service Mesh utilise l'authentification TLS mutuelle (mTLS) pour l'authentification des pairs. L'authentification fait référence à l'identité: qui est ce service ? qui est cet utilisateur final ? et puis-je avoir l’assurance qu’ils sont bien ce qu’ils prétendent être ?
mTLS permet aux charges de travail de valider leurs identités et de s'authentifier entre elles. Vous connaissez peut-être déjà le protocole TLS simple utilisé dans HTTPS pour permettre aux navigateurs d'approuver des serveurs Web et de chiffrer les données échangées. Lorsque le protocole TLS simple est utilisé, le client établit que le serveur est digne de confiance en validant son certificat. mTLS est une mise en œuvre de TLS dans laquelle le client et le serveur se présentent des certificats et vérifient leurs identités respectives.
mTLS est le moyen par lequel Cloud Service Mesh met en œuvre l'authentification et le chiffrement entre les services.
Dans Cloud Service Mesh, l'authentification mTLS automatique est activée par défaut. Avec l'authentification mTLS, le proxy side-car client détecte automatiquement si le serveur dispose d'un side-car. Le side-car client envoie l'authentification mTLS aux charges de travail avec des side-cars, et envoie du texte brut aux charges de travail sans side-car. Notez toutefois que les services acceptent à la fois le trafic en texte brut et le trafic mTLS. Pour sécuriser votre maillage de services, nous vous recommandons de migrer vos services pour n'accepter que le trafic mTLS.
Pour en savoir plus sur l'application exclusive de mTLS, consultez Cloud Service Mesh, par exemple: mTLS.
Avantages de sécurité
Cloud Service Mesh offre les avantages de sécurité suivants :
Atténue le risque de nouvelle lecture ou d'usurpation d'identité qui utilisent des identifiants volés. Cloud Service Mesh s'appuie sur des certificats mTLS pour authentifient les pairs, plutôt que les jetons de support tels que Jetons Web JSON (JWT). Les certificats mTLS étant liés au canal TLS, il est impossible pour une entité de votre environnement de production pour usurper l'identité d'une autre à relire le jeton d'authentification sans accéder aux clés privées.
Assure le chiffrement en transit. L'utilisation de mTLS pour l'authentification garantit également que toutes les communications TCP sont chiffrées en transit.
Garantit que seuls les clients autorisés peuvent accéder à un service contenant des données sensibles. Seuls les clients autorisés peuvent accéder à un service contenant des données sensibles, indépendamment de l'emplacement réseau du client et des identifiants au niveau de l'application. Vous pouvez spécifier que seuls les clients disposant d'identités de service autorisés ou dans les espaces de noms Kubernetes autorisés peuvent accéder à un service. Toi peuvent également utiliser des stratégies d'accès basées sur l'adresse IP pour accorder l'accès aux clients déployés à l'extérieur des clients en dehors du réseau maillé.
Atténue le risque de violation des données utilisateur sur votre réseau de production. Vous pouvez vous assurer que les initiés ne peuvent accéder aux données sensibles que via des clients autorisés. De plus, vous pouvez faire en sorte que certains clients ne puissent accéder aux informations sur l'utilisateur que s'ils peuvent présenter un jeton utilisateur valide et de courte durée. Cela réduit le risque que la compromission d'un seul identifiant client permet à un pirate informatique d'accéder à toutes les données des utilisateurs.
Identifie les clients ayant accédé à un service avec des données sensibles. La journalisation des accès à Cloud Service Mesh capture l'identité mTLS du en plus de l'adresse IP. Ainsi, vous pouvez identifier les charges de travail accède à un service même si la charge de travail est éphémère et dynamique déployés, et dans un cluster ou un réseau cloud privé virtuel (VPC) différent.
Fonctionnalités
Cette section décrit les fonctionnalités fournies par Cloud Service Mesh à tous ses avantages en termes de sécurité.
Certificat automatique et rotation des clés
L'utilisation de mTLS basée sur les identités de service permet de chiffrer toutes les communications TCP et fournit des identifiants plus sécurisés et ne pouvant être relus pour le contrôle des accès. L'un des principaux défis de l'utilisation de mTLS à grande échelle est la gestion des clés et des certificats pour toutes les charges de travail cibles. Cloud Service Mesh s'occupe de la rotation des clés et des certificats mTLS pour les charges de travail de réseau maillé sans perturber les communications. Vous pouvez configurer des intervalles d'actualisation plus restreints réduire les risques.
Autorité de certification Cloud Service Mesh
Cloud Service Mesh inclut une autorité de certification privée multirégionale gérée, Cloud Service Mesh CA, pour émettre des certificats pour mTLS. L'autorité de certification Cloud Service Mesh est un service hautement fiable et évolutif qui est optimisé pour les charges de travail à scaling dynamique sur une plate-forme cloud. Avec l'autorité de certification Cloud Service Mesh, Google gère la sécurité et la disponibilité du backend de l'autorité de certification. L'autorité de certification Cloud Service Mesh vous permet de dépendre d'une seule racine de confiance dans les clusters. Lorsque vous utilisez l'autorité de certification Cloud Service Mesh, vous pouvez compter des pools d'identités afin de fournir une isolation sommaire. Par défaut, l'authentification échoue si le client et le serveur ne se trouvent pas dans le même pool d'identité de charge de travail.
Les certificats de l'autorité de certification Cloud Service Mesh incluent les données suivantes sur les services de votre application:
- L'ID de projet Google Cloud
- L'espace de noms GKE
- Le nom du compte de service GKE
Certificate Authority Service
Au lieu de l'autorité de certification Cloud Service Mesh, vous pouvez configurer Cloud Service Mesh, qui convient à l'utilisation de Certificate Authority Service les cas d'utilisation suivants:
- Vous avez besoin de plusieurs autorités de certification différentes pour signer des certificats de charge de travail sur différents clusters.
- Vous devez sauvegarder vos clés de signature dans un HSM géré.
- Vous travaillez dans un secteur hautement réglementé et vous êtes soumis à des exigences de conformité.
- Vous souhaitez associer votre autorité de certification Cloud Service Mesh à un certificat racine d'entreprise personnalisé pour signer les certificats de charge de travail.
Les coûts liés à l'utilisation de l'autorité de certification Cloud Service Mesh sont inclus dans la tarification de Cloud Service Mesh. Le coût du service CA n'est pas inclus dans le tarif de base de Cloud Service Mesh et facturé séparément. En outre, le service d'autorité de certification est fourni avec un contrat de niveau de service explicite, contrairement à l'autorité de certification Cloud Service Mesh.
Pour cette intégration, toutes les charges de travail dans Cloud Service Mesh disposent de deux rôles IAM :
Stratégies de contrôle de l'accès selon l'identité (pare-feu)
Avec Cloud Service Mesh, vous pouvez configurer des règles de sécurité réseau basées sur l'identité mTLS et sur l'adresse IP du pair. Cela permet vous pouvez créer des règles indépendantes de l'emplacement réseau de la charge de travail. Seules les communications entre les clusters d'un même projet Google Cloud sont acceptées.
Demander des stratégies de contrôle d'accès compatibles avec les revendications (pare-feu)
En plus de l'identité mTLS, vous pouvez accorder un accès basé sur les revendications de requête dans l'en-tête JWT des requêtes HTTP ou gRPC. Cloud Service Mesh vous permet pour confirmer qu'un jeton JWT est signé par une entité de confiance. Cela signifie que vous pouvez configurer des stratégies qui n'autorisent l'accès à partir de certains clients que si une demande La revendication existe ou correspond à une valeur spécifiée.
Authentification des utilisateurs avec Identity-Aware Proxy
Vous authentifiez les utilisateurs qui accèdent à n'importe quel service exposé sur une la passerelle d'entrée Cloud Service Mesh à l'aide de Identity-Aware Proxy (IAP) : IAP peut authentifier les utilisateurs qui se connectent depuis un navigateur, intégrer des fournisseurs d'identité personnalisés, et émettre un jeton JWT de courte durée ou un jeton RCToken au niveau de la passerelle d'Ingress ou d'un service en aval (à l'aide d'un side-car). Pour en savoir plus, consultez la page Intégrer IAP avec Cloud Service Mesh.
Authentification des utilisateurs avec votre fournisseur d'identité existant
Vous pouvez intégrer votre fournisseur d'identité existant à Cloud Service Mesh pour fournir une authentification de l'utilisateur final basée sur le navigateur et un contrôle des accès les charges de travail déployées. Pour en savoir plus, consultez la section Configurer l'authentification des utilisateurs avec Cloud Service Mesh.
Journalisation et surveillance des accès
Cloud Service Mesh garantit que les journaux et les métriques d'accès sont disponibles dans Google Cloud Observability et fournit un tableau de bord intégré pour comprendre les modèles d'accès d'un service ou d'une charge de travail basés sur ces données.
Conformité avec la norme FIPS
Le composant de plan de données utilise Chiffrement validé FIPS 140-2 modules.
Limites
La sécurité de Cloud Service Mesh présente les limites suivantes:
- L'authentification de l'utilisateur qui utilise IAP nécessite la publication d'un service sur Internet. IAP et Cloud Service Mesh vous permettent de configurer des stratégies pouvant restreindre l'accès aux utilisateurs et clients autorisés dans une plage d'adresses IP autorisée. Si vous choisissez d'exposer le service uniquement au sein d'un même réseau, vous devez configurer un moteur de règles pour l'authentification des utilisateurs et l'émission de jetons.
Étape suivante
- Bonnes pratiques de sécurité pour Cloud Service Mesh
- Configurer la sécurité du transport
- Mettre à jour vos stratégies d'autorisation