Ce document explique comment configurer une passerelle sécurisée Chrome Enterprise Premium pour sécuriser l'accès à vos applications Web privées.
Une passerelle sécurisée Chrome Enterprise Premium fonctionne comme un proxy inverse, appliquant un framework d'accès zéro confiance et offrant un contrôle précis et contextuel sur les personnes qui accèdent à vos applications Web privées.
Fonctionnement de la sécurisation de l'accès aux applications Web privées
En établissant un tunnel sécurisé et en appliquant des règles d'accès contextuel, la passerelle sécurisée protège les applications privées et les met à l'abri d'une exposition sur Internet public. Une configuration de navigateur côté client dirige le trafic de ces applications via le point de terminaison du proxy de passerelle sécurisée. La passerelle sécurisée applique ensuite la règle d'accès appropriée et, si elle est autorisée, achemine la requête vers l'application de destination.
La passerelle sécurisée peut aider à protéger les applications Web privées hébergées dans les environnements suivants :
ProjetGoogle Cloud : la passerelle sécurisée peut permettre d'accéder directement aux applications qui s'exécutent dans votre réseau VPC Google Cloud .
Non-Google Cloud (centres de données sur site ou autres clouds) : vous devez d'abord établir une connexion entre votre réseau VPC privé surGoogle Cloud et le réseau non-Google Cloud . Cette opération est généralement effectuée à l'aide de Cloud VPN ou Cloud Interconnect. La passerelle sécurisée utilise ensuite la connexion pour envoyer le trafic à votre réseau VPC privé, qui le redirige à son tour vers l'environnement non-Google Cloud .
Rôles requis
Demandez à votre administrateur de vous attribuer les rôles suivants :
Administrateur Cloud BeyondCorp (
roles/beyondcorp.admin) pour configurer Chrome Enterprise Premium dans le projetAdministrateur Access Context Manager (
roles/accesscontextmanager.policyAdmin) pour lire et ajouter des niveaux d'accèsLecteur Service Usage (
roles/serviceusage.serviceUsageViewer) pour utiliser la console Google Cloud
En savoir plus sur les rôles Identity and Access Management (IAM)
Avant de commencer
Avant de configurer la passerelle sécurisée, vérifiez que vous disposez des éléments suivants :
- Une licence Chrome Enterprise Premium.
- Accédez à la console d'administration Google avec un compte administrateur.
Un projet Google Cloud avec un compte de facturation attribué et l'API activée suivante : API BeyondCorp
Pour les applications privées dans un environnement non-Google Cloud , une connexion Cloud VPN ou Cloud Interconnect entre votre environnementGoogle Cloud et l'environnement non-Google Cloud où réside votre application. Pour en savoir plus sur la configuration des connexions réseau, consultez les ressources suivantes :
Configurer votre environnement shell
Pour simplifier le processus de configuration et interagir avec les API de la passerelle sécurisée, définissez les variables d'environnement suivantes dans votre shell de travail.
- Paramètres généraux
PROJECT_ID=PROJECT_ID
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel la passerelle sécurisée est créée.
- Paramètres de la passerelle sécurisée
SECURITY_GATEWAY_ID=
SECURITY_GATEWAY_IDSECURITY_GATEWAY_DISPLAY_NAME="SECURITY_GATEWAY_DISPLAY_NAME"Remplacez les éléments suivants :
SECURITY_GATEWAY_ID: ID de la passerelle sécurisée que vous souhaitez créer. L'ID peut comporter jusqu'à 63 caractères et peut contenir des lettres minuscules, des chiffres et des traits d'union. Le premier caractère doit être une lettre, et le dernier peut être une lettre ou un chiffre.-
SECURITY_GATEWAY_DISPLAY_NAME: nom lisible de la passerelle sécurisée. Le nom peut comporter jusqu'à 63 caractères et inclure des caractères imprimables.
Créer une passerelle sécurisée
Une passerelle sécurisée Chrome Enterprise Premium est un élément de base essentiel pour établir des connexions sécurisées à vos applications.
Console
Pour créer une passerelle sécurisée :
- Dans la console Google Cloud , accédez à la page Passerelle sécurisée.
Accéder à la passerelle sécurisée - Sélectionnez le projet pour lequel vous souhaitez créer la passerelle sécurisée.
- Pour créer une passerelle sécurisée, cliquez sur Créer une passerelle et attendez que la création de la passerelle soit terminée. Vous pouvez suivre la progression dans la section Notifications de la console Google Cloud .
gcloud
Pour créer une passerelle sécurisée à l'aide de gcloud, exécutez la commande suivante :
gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \ --service-discovery={}
REST
Pour créer une passerelle sécurisée à l'aide de l'API REST, exécutez la commande suivante :
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
Configurer une application Web privée
Avant de pouvoir définir des ressources d'application spécifiques dans la passerelle sécurisée, vous devez configurer les autorisations et les paramètres réseau nécessaires pour activer la connectivité et le routage approprié.
Accordez des autorisations au compte de service.
Pour envoyer du trafic vers votre réseau VPC, la passerelle sécurisée a besoin de certaines autorisations IAM accordées à son compte de service de délégation. Cela permet à la passerelle sécurisée d'accéder à vos applications privées, qu'elles soient hébergées dans un VPC Google Cloud ou dans un environnement nonGoogle Cloud connecté via Cloud VPN ou Cloud Interconnect.
Pour accorder des autorisations au compte de service, procédez comme suit :
-
Obtenez les détails de votre passerelle sécurisée pour identifier l'adresse e-mail du compte de service de délégation. L'adresse e-mail se trouve dans le champ
delegatingServiceAccountde la réponse.gcloud
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
REST
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID"
-
Définissez des variables d'environnement pour le compte de service et votre projet VPC cible. Pour obtenir l'adresse e-mail du compte de service, vous pouvez utiliser la commande suivante :
DELEGATING_SERVICE_ACCOUNT=`gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID --project=PROJECT_ID --location=global --format="value(delegatingServiceAccount)"`
-
Attribuez le rôle IAM
roles/beyondcorp.upstreamAccessau compte de service déléguant dans votre projet VPC privé. Remplacezgcloud projects add-iam-policy-binding
PRIVATE_VPC_PROJECT_ID\ --role=roles/beyondcorp.upstreamAccess \ --member=serviceAccount:DELEGATING_SERVICE_ACCOUNTPRIVATE_VPC_PROJECT_IDpar l'ID du projet du réseau VPC dans lequel l'application Web privée est déployée ou dans lequel Cloud VPN/Interconnect est configuré.
Une fois le rôle attribué, la prise en compte de la stratégie Identity and Access Management peut prendre environ deux minutes.
Configurer le routage réseau et les règles de pare-feu
Pour autoriser le trafic provenant de la passerelle sécurisée à atteindre vos applications Web privées, configurez les règles de pare-feu, le routage réseau et les paramètres DNS.
Règles de pare-feu pour les applications dans Google Cloud
Si votre application Web privée est hébergée dans votre réseau VPC Google Cloud , par exemple sur une VM Compute Engine, un service Google Kubernetes Engine avec une adresse IP interne ou derrière un équilibreur de charge TCP/UDP interne, configurez des règles de pare-feu VPC Google Cloud .Google Cloud Cela autorise le trafic TCP entrant à partir de la plage d'adresses IP de la passerelle sécurisée : 136.124.16.0/20.
gcloud
Pour créer une règle de pare-feu à l'aide de gcloud, exécutez la commande suivante :
gcloud compute firewall-rules create FIREWALL_RULE_NAME \ --project=PRIVATE_VPC_PROJECT_ID \ --network=NETWORK_NAME \ --allow=tcp \ --source-ranges=136.124.16.0/20
Remplacez les éléments suivants :
FIREWALL_RULE_NAME: nom de votre règle de pare-feu.PRIVATE_VPC_PROJECT_ID: ID du projet dans lequel votre réseau VPC est hébergé.NETWORK_NAME: nom du réseau VPC dans lequel votre application est hébergée.
Règles de pare-feu pour les applications dans des environnements non-Google Cloud
Si votre application Web privée réside dans un centre de données sur site ou sur le réseau d'un autre fournisseur de services cloud, et qu'elle est connectée à votre réseau VPC Google Cloudà l'aide de Cloud VPN ou de Cloud Interconnect, configurez des règles de pare-feu sur votre pare-feu sur site ou les contrôles de sécurité réseau équivalents, tels que les groupes de sécurité et les ACL réseau, dans l'autre environnement cloud. Cela autorise le trafic TCP entrant provenant de la plage d'adresses IP de la passerelle sécurisée : 136.124.16.0/20.
Configurer le routage depuis des environnements non-Google Cloud vers une passerelle sécurisée
Pour faciliter la communication bidirectionnelle pour les applications privées hébergées dans des environnements non-Google Cloud , tels que sur site ou dans d'autres clouds, votre réseau externe doit créer un chemin de retour vers la plage d'adresses IP de la passerelle sécurisée suivante : 136.124.16.0/20.
Vérifiez que votre réseau privé peut accéder aux plages d'adresses IP de la passerelle sécurisée via Cloud VPN ou Cloud Interconnect :
Routage dynamique : si vous utilisez le routage dynamique, tel que le protocole BGP (Border Gateway Protocol) avec Cloud Router, vérifiez que votre Cloud Router dans Google Cloud annonce explicitement les plages d'adresses IP de la passerelle sécurisée à votre appareil BGP sur site. Bien que BGP échange dynamiquement de nombreuses routes, les plages d'adresses IP de la passerelle sécurisée nécessitent une annonce explicite.
gcloud
Pour vérifier si la plage source est annoncée, exécutez la commande suivante :
gcloud compute routers list-bgp-routes ROUTER_NAME \ --peer=PEER_NAME \ --region=REGION \ --project=PROJECT_ID \ --route-direction=OUTBOUND \ --address-family=IPV4 \ --destination-range=136.124.16.0/20
Remplacez les éléments suivants :
- ROUTER_NAME : nom de votre routeur Cloud Router.
- PEER_NAME : nom de votre pair BGP.
- REGION : région où se trouve votre routeur.
- PROJECT_ID : ID du projet contenant le routeur.
Routage statique : si vous utilisez des routes statiques, vous devez ajouter manuellement des routes pour chacune des plages d'adresses IP de la passerelle sécurisée sur l'équipement de votre réseau sur site, tel que votre routeur ou votre pare-feu. Ces routes statiques doivent spécifier que le trafic destiné aux plages d'adresses IP de la passerelle sécurisée doit être envoyé via la connexion Cloud VPN ou Cloud Interconnect.
Lorsque vous utilisez le routage statique, Cloud VPN doit se trouver dans l'une des régions compatibles suivantes :
africa-south1asia-east1asia-south1asia-south2asia-southeast1europe-central2europe-north1europe-southwest1europe-west1europe-west2europe-west3europe-west4europe-west8europe-west9northamerica-northeast1northamerica-northeast2northamerica-south1southamerica-east1southamerica-west1us-central1us-east1us-east4us-east5us-west1
Configuration DNS pour la résolution de noms d'hôte privés de passerelle sécurisée
Pour que la passerelle sécurisée puisse résoudre les noms d'hôte de votre application privée, votre réseau VPCGoogle Cloud doit pouvoir résoudre les noms d'hôte à l'aide de Cloud DNS. La configuration Cloud DNS spécifique dépend de l'emplacement où vos enregistrements DNS privés sont hébergés de manière autoritaire :
Applications dans Google Cloud utilisant des zones privées Cloud DNS : si vos applications privées sont hébergées dans Google Cloud et que leurs enregistrements DNS sont gérés dans des zones privées Cloud DNS associées à votre réseau VPC, vérifiez que les zones sont correctement configurées et accessibles. La passerelle sécurisée utilise les fonctionnalités de résolution Cloud DNS existantes de votre VPC.
Applications dans des environnements non-Google Cloud ou utilisant des serveurs DNS externes : si vos applications privées se trouvent dans des environnements non-Google Cloud(sur site ou dans d'autres clouds) ou si leurs enregistrements DNS sont gérés par des serveurs DNS externes aux zones privées Cloud DNS de votre VPC, vous devez configurer Cloud DNS pour qu'il transfère les requêtes pour ces domaines privés. Cela implique généralement de créer des zones de transfert Cloud DNS dans votre VPC. Ces zones redirigeront les requêtes DNS pour vos domaines privés spécifiés vers vos serveurs DNS privés faisant autorité, tels que les serveurs sur site ou d'autres clouds.
Pour obtenir des instructions détaillées sur la configuration du DNS, consultez Créer une zone de transfert.
Créer une ressource d'application
Pour fournir un accès à une application Web privée, vous devez établir l'application dans le framework de passerelle sécurisée en créant une ressource d'application. Cette ressource définit la manière dont la passerelle sécurisée identifie le trafic de votre application (en fonction du nom d'hôte) et où l'acheminer.
-
Définissez les variables d'environnement requises en exécutant la commande suivante :
Remplacez les éléments suivants :APPLICATION_ID=
APPLICATION_IDAPP_DISPLAY_NAME="APP_DISPLAY_NAME" HOST_NAME=HOST_NAMEPRIVATE_NETWORK_RESOURCE_NAME=PRIVATE_NETWORK_RESOURCE_NAMEAPPLICATION_ID: ID unique de la ressource d'application.APP_DISPLAY_NAME: nom lisible à afficher.HOST_NAME: nom d'hôte principal auquel les utilisateurs accèdent (par exemple,private.local).PRIVATE_NETWORK_RESOURCE_NAME: nom complet de la ressource du réseau VPC (par exemple,projects/my-project/global/networks/my-network).
-
Créez la ressource d'application.
Console
Pour créer la ressource d'application à l'aide de la console Google Cloud , procédez comme suit :
- Dans la console Google Cloud , accédez à la page Passerelle sécurisée.
Accéder à la passerelle sécurisée - Pour ajouter une application, cliquez sur Ajouter une application.
- Sélectionnez le type d'application : Application privée.
- Saisissez les informations sur l'application :
- Nom de l'application : saisissez un nom, par exemple
GitHub. - Correspondances de domaine : saisissez une liste de modèles de domaine séparés par une virgule pour les acheminer via la passerelle sécurisée. Incluez le port au format
domain:port. Les caractères génériques (*) sont autorisés. Exemple :github.com:443
- Nom de l'application : saisissez un nom, par exemple
- Configurer le réseau VPC :
- Dans le projet actuel : si votre réseau VPC se trouve dans le projet actuel, choisissez-le dans le menu déroulant.
- Dans un autre projet : si votre réseau VPC se trouve dans un autre projet Google Cloud , spécifiez le nom complet de la ressource du réseau VPC (par exemple,
projects/my-project/global/networks/my-network).
- Facultatif : Définissez une règle de sortie. Sélectionnez une ou plusieurs régions Google Cloud dans le menu déroulant.
- Facultatif : Définissez une règle d'accès : sélectionnez une règle d'accès Access Context Manager. Vous pouvez ignorer cette étape pour ce guide.
- Pour créer la ressource d'application, cliquez sur Créer.
gcloud
Pour créer la ressource d'application à l'aide de gcloud, exécutez la commande suivante :
gcloud beyondcorp security-gateways applications create APPLICATION_ID \ --project=PROJECT_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --location=global \ --display-name="APP_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=[443]" \ --upstreams=network=name="PRIVATE_NETWORK_RESOURCE_NAME"
Pour spécifier une région de sortie (par exemple, lorsque vous utilisez des routes statiques), ajoutez l'option
--egress-regions:gcloud beyondcorp security-gateways applications create APPLICATION_ID \ --project=PROJECT_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --location=global \ --display-name="APP_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=[443]" \ --upstreams=network=name="PRIVATE_NETWORK_RESOURCE_NAME",egressPolicy=regions=us-central1
Remplacez
us-central1par la région Google Cloud (par exemple,europe-west1ouasia-northeast1) qui correspond à votre configuration de routage statique régional. Si vous n'avez pas d'exigences spécifiques en matière de routage statique régional, vous pouvez omettre la règle de sortie de votre configuration.REST
Pour créer une ressource d'application avec l'API, procédez comme suit :
Créez un fichier nommé
application.json.{ "display_name": "
APP_DISPLAY_NAME", "endpoint_matchers": [ {"hostname": "HOST_NAME", "ports": [443]} ], "upstreams": [{ "network": { "name": "PRIVATE_NETWORK_RESOURCE_NAME" } }] }Pour spécifier une région de sortie (par exemple, lorsque vous utilisez des routes statiques), ajoutez un
egress_policyà la configuration en amont :{ "display_name": "
APP_DISPLAY_NAME", "endpoint_matchers": [ {"hostname": "HOST_NAME", "ports": [443]} ], "upstreams": [{ "network": { "name": "PRIVATE_NETWORK_RESOURCE_NAME" }, "egress_policy": { "regions": [ "us-central1" ] } }] }Remplacez
us-central1par la région Google Cloud (par exemple,europe-west1ouasia-northeast1) qui correspond à votre configuration de routage statique régional. Si vous n'avez pas d'exigences spécifiques en matière de routage statique régional, vous pouvez omettre la règle de sortie de votre configuration.Appelez la méthode API
Create.curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d @application.json \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications?application_id=APPLICATION_ID"
- Dans la console Google Cloud , accédez à la page Passerelle sécurisée.
Configurer une règle d'accès
Vous pouvez appliquer une règle d'accès pour contrôler l'accès au niveau de l'application. Si aucune règle d'accès n'est configurée, l'accès à l'application est refusé par défaut.
Console
Créer une règle pour plusieurs applications
Pour configurer une règle d'accès, procédez comme suit :
- Pour créer une règle qui s'applique à plusieurs applications associées à la passerelle sécurisée, accédez à la page Règles.
Accéder à la page "Règles" - Pour ajouter des règles d'accès aux applications, cliquez sur Créer une règle.
- Dans la liste déroulante, sélectionnez les applications auxquelles vous souhaitez appliquer les règles.
- Ajoutez des comptes principaux à la stratégie :
Les comptes principaux peuvent être des utilisateurs, des groupes, des domaines ou des comptes de service. L'accès à ces comptes principaux est accordé ou refusé en fonction des niveaux d'accès que vous attribuez.
- Pour ajouter un compte principal, cliquez sur Ajouter un compte principal.
- Dans le champ Principal, saisissez l'adresse e-mail de l'utilisateur, du groupe ou du compte de service, ou le nom de domaine.
- Dans le menu déroulant Niveaux d'accès, sélectionnez un ou plusieurs niveaux d'accès contextuel prédéfinis. L'accès n'est accordé que si le principal remplit les conditions des niveaux d'accès sélectionnés.
Pour ajouter d'autres comptes principaux, cliquez à nouveau sur Ajouter un compte principal et répétez les sous-étapes.
Vous pouvez créer et gérer des niveaux d'accès dans Access Context Manager.
- Pour appliquer la règle à l'application, cliquez sur Créer une règle.
Modifier une règle d'accès au niveau de l'application
- Pour modifier une règle pour une seule application, accédez à la page Applications.
Accéder à la page Applications - Pour trouver l'application que vous souhaitez modifier :
- Dans la liste Applications, recherchez l'application que vous souhaitez modifier.
- Pour afficher les détails de l'application, cliquez sur le menu Autres actions (), puis sélectionnez Afficher les détails.
- Pour modifier l'application, cliquez sur Modifier.
- Ajoutez des comptes principaux à la stratégie :
Les comptes principaux peuvent être des utilisateurs, des groupes, des domaines ou des comptes de service. L'accès à ces comptes principaux est accordé ou refusé en fonction des niveaux d'accès que vous attribuez.
- Pour ajouter un compte principal, cliquez sur Ajouter un compte principal.
- Dans le champ Principal, saisissez l'adresse e-mail de l'utilisateur, du groupe ou du compte de service, ou le nom de domaine.
- Dans la liste déroulante Niveaux d'accès, sélectionnez un ou plusieurs niveaux d'accès contextuel prédéfinis. L'accès n'est accordé que si le principal remplit les conditions des niveaux d'accès sélectionnés.
Pour ajouter d'autres comptes principaux, cliquez à nouveau sur Ajouter un compte principal et répétez les sous-étapes.
Vous pouvez créer et gérer des niveaux d'accès dans Access Context Manager.
- Pour appliquer la règle à l'application, cliquez sur Enregistrer.
gcloud
Mettre à jour une règle d'accès de manière sécurisée
La commande setIamPolicy remplace l'intégralité de la stratégie existante par celle que vous fournissez. Pour éviter de supprimer accidentellement des autorisations existantes, nous vous recommandons d'utiliser le modèle "lecture-modification-écriture" suivant. Ce modèle permet d'éviter la suppression accidentelle des autorisations existantes.
- Lecture : commencez par obtenir la stratégie d'accès actuelle.
- Modifier : modifiez le fichier de règles en local pour ajouter ou modifier des autorisations.
- Écrivez : appliquez votre fichier de règles mis à jour.
Définir une règle au niveau de la passerelle Service Discovery
Avant d'accorder à un utilisateur l'accès à une application, assurez-vous qu'il dispose des autorisations de découverte de services au niveau de Secure Gateway. Vous devrez définir une règle d'accès en suivant le même modèle "lecture-modification-écriture".
Commencez par récupérer la stratégie actuelle et enregistrez-la dans un fichier nommé gateway_policy.json.
gcloud beta beyondcorp security-gateways get-iam-policy SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global > gateway_policy.json
Ensuite, ouvrez le fichier gateway_policy.json dans un éditeur de texte et ajoutez les comptes principaux requis à la liste members pour le rôle roles/beyondcorp.serviceDiscoveryUser, de la même manière que pour les modifications au niveau de l'application.
Le fichier gateway_policy.json ressemble à l'exemple suivant :
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.serviceDiscoveryUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Vous pouvez également ajouter d'autres types de membres, tels que serviceAccount, user, group, principal et principalSet, dans les liaisons de règles. Pour en savoir plus, consultez Comptes principaux IAM.
Appliquez la règle mise à jour :
gcloud beta beyondcorp security-gateways set-iam-policy SECURITY_GATEWAY_ID gateway_policy.json \ --project=PROJECT_ID \ --location=global
Définir une règle d'accès au niveau de l'application
Obtenir la stratégie actuelle
Récupérez la stratégie actuelle avant d'apporter des modifications. Le champ etag de la stratégie sert d'identifiant de version. Cela évite les mises à jour conflictuelles si plusieurs administrateurs apportent des modifications simultanément.
La commande suivante récupère la stratégie et l'enregistre dans un fichier nommé policy.json.
gcloud beta beyondcorp security-gateways applications get-iam-policy APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global > policy.json
Remplacez les éléments suivants :
APPLICATION_ID: ID de la ressource d'applicationSECURITY_GATEWAY_ID: ID de la passerelle sécuriséePROJECT_ID: ID du projet dans lequel la passerelle sécurisée est configurée
La commande crée un fichier policy.json contenant la stratégie actuelle.
Modifier le fichier de stratégie
Ouvrez le fichier policy.json dans un éditeur de texte. Pour autoriser un groupe à utiliser la passerelle sécurisée, ajoutez-le à la liste members pour le rôle roles/beyondcorp.sgApplicationUser.
Le fichier policy.json ressemble à l'exemple suivant :
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Pour ajouter un groupe, ajoutez une entrée au tableau members. Ajoutez une virgule après l'entrée précédente.
L'exemple suivant ajoute new-group@example.com :
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com", "group:new-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Vous pouvez également ajouter d'autres types de membres, tels que serviceAccount, user, group, principal et principalSet, dans les liaisons de règles. Pour en savoir plus, consultez Comptes principaux IAM.
Appliquer la règle modifiée
Après avoir modifié et enregistré votre fichier policy.json, appliquez-le à la ressource à l'aide de la commande setIamPolicy. Cette commande utilise le etag de votre fichier pour s'assurer que vous mettez à jour la bonne version.
gcloud beta beyondcorp security-gateways applications set-iam-policy APPLICATION_ID policy.json \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
Remplacez les éléments suivants :
APPLICATION_ID: ID de la ressource d'applicationSECURITY_GATEWAY_ID: ID de la passerelle sécuriséePROJECT_ID: ID du projet dans lequel la passerelle sécurisée est configurée
Ajouter une stratégie d'accès conditionnel
Vous pouvez également définir des règles d'accès avec des conditions. Les conditions spécifient des exigences, par exemple l'adresse IP d'un utilisateur provenant d'un emplacement spécifique. (Le niveau d'accès peut être défini dans une règle d'accès au niveau de l'organisation ou dans une règle d'accès limitée.)
L'exemple de règle suivant n'accorde l'accès que si l'adresse IP source se trouve dans un niveau d'accès spécifié :
{
"version": 3,
"bindings": [
{
"role": "roles/beyondcorp.sgApplicationUser",
"members": [
"group:group@example.com"
],
"condition": {
"expression": "request.auth.access_levels.contains('accessPolicies/1234567890/accessLevels/in_us')",
"title": "Source IP must be in US"
}
}
],
"etag": "BwXN8_d-bOM="
}
Pour appliquer cette règle, suivez les étapes décrites précédemment.
REST
Mettre à jour une règle d'accès de manière sécurisée
La commande setIamPolicy remplace l'intégralité de la stratégie existante par celle que vous fournissez. Pour éviter de supprimer accidentellement des autorisations existantes, nous vous recommandons d'utiliser le modèle "lecture-modification-écriture" suivant. Ce modèle permet d'éviter la suppression accidentelle des autorisations existantes.
- Lire : enregistrez la stratégie d'accès actuelle dans un fichier.
- Modifier : modifiez le fichier de règles en local pour ajouter ou modifier des autorisations.
- Écrivez : appliquez votre fichier de règles mis à jour.
Définir une règle au niveau de la passerelle Service Discovery
Pour accorder des autorisations de détection de services, vous devez définir une règle d'accès sur la passerelle de sécurité au lieu d'une application individuelle. Cela suit le même modèle "lecture-modification-écriture".
Commencez par récupérer la stratégie actuelle et enregistrez-la dans un fichier nommé gateway_policy.json.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:getIamPolicy" > gateway_policy.json
Ensuite, ouvrez le fichier gateway_policy.json dans un éditeur de texte et ajoutez les comptes principaux requis à la liste members pour le rôle roles/beyondcorp.serviceDiscoveryUser, de la même manière que pour les modifications au niveau de l'application.
Le fichier gateway_policy.json ressemble à l'exemple suivant :
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.serviceDiscoveryUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Vous pouvez également ajouter d'autres types de membres, tels que serviceAccount, user, group, principal et principalSet, dans les liaisons de règles. Pour en savoir plus, consultez Comptes principaux IAM.
Appliquez la règle mise à jour :
jq '{policy: .}' gateway_policy.json | curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @- \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID:setIamPolicy"
Définir une règle d'accès au niveau de l'application
Obtenir la stratégie actuelle
Récupérez la stratégie actuelle avant d'apporter des modifications. Le champ etag de la stratégie sert d'identifiant de version. Cela évite les mises à jour conflictuelles si plusieurs administrateurs apportent des modifications simultanément.
La commande suivante récupère la stratégie et l'enregistre dans un fichier nommé policy.json.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:getIamPolicy" > policy.json
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel la passerelle sécurisée est configuréeSECURITY_GATEWAY_ID: ID de la passerelle sécuriséeAPPLICATION_ID: ID de la ressource d'application
La commande crée un fichier policy.json contenant la stratégie actuelle.
Modifier le fichier de stratégie
Pour accorder à un groupe l'accès à la passerelle sécurisée, procédez comme suit :
- Ouvrez le fichier
policy.jsondans un éditeur de texte. - Ajoutez le groupe à la liste
memberspour le rôleroles/beyondcorp.securityGatewayUser.
Le fichier policy.json ressemble à l'exemple suivant :
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Pour ajouter un groupe, ajoutez une entrée au tableau members. Ajoutez une virgule après l'entrée précédente.
L'exemple suivant ajoute new-group@example.com :
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:existing-group@example.com", "group:new-group@example.com" ] } ], "etag": "BwXN8_d-bOM=" }
Vous pouvez également ajouter d'autres types de membres, tels que serviceAccount, user, group, principal et principalSet, dans les liaisons de règles. Pour en savoir plus, consultez Comptes principaux IAM.
Appliquer la règle modifiée
Après avoir modifié et enregistré votre fichier policy.json, appliquez-le à la ressource à l'aide de la commande setIamPolicy. Cette commande utilise le etag de votre fichier pour s'assurer que vous mettez à jour la bonne version.
jq '{policy: .}' policy.json | curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @- \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications/APPLICATION_ID:setIamPolicy"
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel la passerelle sécurisée est configuréeSECURITY_GATEWAY_ID: ID de la passerelle sécuriséeAPPLICATION_ID: ID de la ressource d'application
Ajouter une stratégie d'accès conditionnel
Vous pouvez également définir des règles d'accès avec des conditions. Les conditions spécifient des exigences, par exemple l'adresse IP d'un utilisateur provenant d'un emplacement spécifique. (Le niveau d'accès peut être défini dans une règle d'accès au niveau de l'organisation ou dans une règle d'accès limitée.)
L'exemple de règle suivant n'accorde l'accès que si l'adresse IP source se trouve dans un niveau d'accès spécifié :
{ "version": 3, "bindings": [ { "role": "roles/beyondcorp.sgApplicationUser", "members": [ "group:group@example.com" ], "condition": { "expression": "request.auth.access_levels.contains('accessPolicies/1234567890/accessLevels/in_us')", "title": "Source IP must be in US" } } ], "etag": "BwXN8_d-bOM=" }
Pour appliquer cette règle, suivez les étapes décrites précédemment.
Améliorer la sécurité avec l'accès contextuel
Pour renforcer la sécurité et vous assurer que seules les instances gérées de Google Chrome peuvent accéder à vos applications Web via la passerelle de sécurité, nous vous recommandons d'ajouter une règle d'accès contextuel (CAA, Context-Aware Access). Cette règle vérifie que le profil Chrome de l'utilisateur est géré, ce qui permet d'éviter toute utilisation abusive potentielle par des navigateurs non gérés ou malveillants.
Remarque : Cette fonctionnalité nécessite l'installation et la configuration de l'extension Endpoint Verification.Pour ce faire, ajoutez une condition à vos niveaux d'accès personnalisés Access Context Manager. Voici un exemple de condition que vous pouvez adapter :
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_PROFILE_MANAGED
Pour savoir comment configurer, vérifier et gérer cet état, consultez Attributs du navigateur Chrome.
Installer l'extension Chrome Enterprise Premium
L'extension Chrome Enterprise Premium fait partie intégrante d'une passerelle sécurisée et facilite l'authentification. Installez l'extension pour tous les utilisateurs de la passerelle sécurisée. Pour savoir comment déployer l'extension, consultez Afficher et configurer des applications et des extensions. Pour installer l'extension Chrome Enterprise Premium :
- Accédez à la console d'administration Google.
- Cliquez sur Navigateur Chrome > Applications et extensions.
- Cliquez sur l'onglet Utilisateurs et navigateurs.
- Pour ajouter l'extension Chrome, cliquez sur le bouton +, puis sélectionnez Ajouter une application ou une extension Chrome à l'aide de son ID.
Recherchez l'extension Secure Enterprise Browser à l'aide de l'ID suivant, puis définissez sa règle d'installation sur Installation forcée pour tous les utilisateurs de l'unité organisationnelle ou du groupe :
ekajlcmdfcigmdbphhifahdfjbkciflj
Cliquez sur l'extension installée, puis saisissez la valeur JSON suivante dans le champ Règles relatives aux extensions :
{ "securityGateway": { "Value": { "authentication": {}, "context": { "resource": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID" }, "serviceDiscovery": { "routes": {} } } } }
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel la passerelle sécurisée est configuréeSECURITY_GATEWAY_ID: ID de la passerelle sécurisée
Pour enregistrer la configuration, cliquez sur Enregistrer.
Expérience de l'utilisateur final
Une fois la configuration terminée, les utilisateurs finaux qui accèdent à l'application SaaS protégée se voient accorder ou refuser l'accès en fonction de la règle d'accès appliquée à l'application.
Accéder à l'application dans Chrome
L'extension Chrome Enterprise Premium est requise pour rediriger le trafic via la passerelle sécurisée. L'extension gère l'authentification entre l'utilisateur et la passerelle sécurisée. L'extension est automatiquement installée via la règle de domaine.
Lorsque les utilisateurs accèdent à l'application SaaS que vous avez configurée, leur trafic passe par la passerelle sécurisée, qui vérifie s'ils respectent la règle d'accès. Si les utilisateurs réussissent les vérifications des règles d'accès, ils peuvent accéder à l'application.
Lorsque l'accès au navigateur à l'application est refusé par le règlement d'autorisation, les utilisateurs reçoivent un message Access denied.