Cette page vous explique comment sécuriser vos applications SaaS à l'aide de la passerelle sécurisée Chrome Enterprise Premium.
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 utilisateurs qui accèdent à vos applications SaaS.
Fonctionnement de la sécurisation de l'accès aux applications SaaS
Voici un aperçu général de la façon dont une passerelle sécurisée protège vos applications SaaS :
- Les paramètres du navigateur côté client acheminent le trafic de l'application via un proxy de passerelle sécurisé.
- La passerelle sécurisée vérifie les règles d'accès contextuel pour autoriser l'accès du client (utilisateur et appareil).
- Si l'accès client est autorisé, la passerelle transfère le trafic vers l'application à l'aide d'adresses IP sources uniques attribuées à cette passerelle et à la région Google Cloud. Ces adresses IP attribuées sont réservées exclusivement à la passerelle que vous créez et ne peuvent pas être utilisées par d'autres utilisateurs ni d'autres passerelles. Pour contrôler l'accès, vous pouvez ajouter ces adresses IP sources dédiées à une liste d'autorisation dans votre application SaaS.
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.
- Le serviceGoogle Cloud activé pour les utilisateurs.
Un projet Google Cloud avec un compte de facturation attribué et l'API activée suivante : API BeyondCorp
Une application SaaS que vous souhaitez protéger. L'application doit être compatible avec
IP allowlistingpour appliquer les contrôles de sécurité par la passerelle sécurisée.
Limites
Une passerelle sécurisée Chrome Enterprise Premium présente les limites suivantes :
- Connectivité IPv6 : la passerelle sécurisée Chrome Enterprise Premium n'est pas compatible avec les applications SaaS qui utilisent la connectivité IPv6.
- Fournisseur d'identité en tant qu'application SaaS : un fournisseur d'identité ne doit pas être configuré en tant qu'application SaaS pour être protégé par la passerelle sécurisée si l'authentification de l'utilisateur final avec la passerelle sécurisée dépend du même IdP.
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_IDAPPLICATION_ID=APPLICATION_IDAPPLICATION_DISPLAY_NAME="APPLICATION_DISPLAY_NAME" HOST_NAME=HOST_NAMERemplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel la passerelle sécurisée est créée.APPLICATION_ID: ID de votre application, tel quegithub. Le nom peut comporter jusqu'à 63 caractères (lettres minuscules, chiffres et tirets). Le premier caractère doit être une lettre, et le dernier peut être une lettre ou un chiffre.APPLICATION_DISPLAY_NAME: nom lisible à afficher.HOST_NAME: nom d'hôte de votre application. Exemple :github.com. Le nom d'hôte peut comporter jusqu'à 253 caractères et doit respecter l'un des formats suivants :- Une adresse IPv4 valide
- Une adresse IPv6 valide
- Un nom DNS valide
- Un astérisque (*)
- Un astérisque (*) suivi d'un nom DNS valide
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. L'ID peut comporter jusqu'à 63 caractères et 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 ne peut contenir que des caractères imprimables.
Créer une passerelle sécurisée
Une passerelle sécurisée Chrome Enterprise Premium est un composant de base pour établir des connexions sécurisées à vos applications. Il alloue un projet et un réseau dédiés, ce qui assure l'isolation et la sécurité.
Console
Pour créer une ressource de passerelle sécurisée, procédez comme suit :
- 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 .
- Avant de créer une ressource d'application SaaS, nous vous recommandons de créer des hubs de sortie SaaS. L'indicateur
hubsreprésente les ressources régionales requises pour activer la connectivité de sortie vers l'application cible. Vous pouvez configurer un hub pour chaque région. Chaque hub fournit deux adresses IP. Une passerelle sécurisée ne peut pas comporter plus de 20 hubs. Vous pouvez spécifier les régions 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
- Dans la console Google Cloud , accédez à la page Hubs de sortie SaaS.
Accéder aux hubs de sortie SaaS - Sélectionnez le projet pour lequel vous souhaitez créer les hubs de sortie SaaS.
- Pour ajouter un hub de sortie SaaS, cliquez sur Ajouter un hub de sortie SaaS.
- Dans la liste déroulante, sélectionnez les régions dans lesquelles vous souhaitez ajouter les hubs de sortie. Pour ajouter des hubs de sortie, cliquez sur Ajouter un hub de sortie SaaS. Vous pouvez ajouter plusieurs hubs. Lorsque vous avez terminé, cliquez sur "Enregistrer" pour créer les hubs de sortie.
gcloud
Pour créer une ressource de passerelle sécurisée, exécutez la commande suivante. Pour l'indicateur --hubs, spécifiez une ou plusieurs régions de la liste suivante.
gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \ --hubs=us-central1 \ --service-discovery={}
L'indicateur hubs définit les ressources régionales requises pour activer la connectivité de sortie à l'application cible. Vous pouvez disposer d'un hub par région, et chaque hub fournit deux adresses IP. Une passerelle sécurisée peut comporter 20 hubs au maximum. Vous pouvez spécifier les régions 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
REST
Pour créer une ressource de passerelle sécurisée, appelez la méthode d'API Create en incluant les détails de la passerelle dans le corps de la requête. Pour l'indicateur hubs, spécifiez une ou plusieurs régions de la liste suivante.
curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -X POST \ -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "hubs": { "us-central1": {} }, "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
L'indicateur hubs représente les ressources régionales requises pour activer la connectivité de sortie vers l'application cible. Vous pouvez disposer d'un hub par région, et chaque hub fournit deux adresses IP. Une passerelle sécurisée peut comporter 20 hubs au maximum. Vous pouvez spécifier les régions 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
Configurer une application SaaS
Une fois que vous avez créé une passerelle sécurisée, vous pouvez configurer vos applications SaaS pour qu'elles l'utilisent afin d'accéder aux données de manière sécurisée.
Console
Pour configurer des hubs de sortie SaaS, procédez comme suit :
- Dans la console Google Cloud , accédez à la page Hubs de sortie SaaS.
Accéder aux hubs de sortie SaaS - Sur la page Hubs de sortie SaaS, recherchez le tableau listant les hubs. Pour chaque région que vous souhaitez utiliser, copiez toutes les adresses IP listées dans la colonne Adresses IP de sortie statiques dédiées. Chaque région fournit deux adresses IP.
- Ajoutez les adresses IP à la liste d'autorisation d'adresses IP de votre application SaaS. Par exemple, pour une application GitHub, vous pouvez suivre ce guide : Gérer les adresses IP autorisées pour votre organisation.
gcloud
Pour configurer des hubs de sortie SaaS, procédez comme suit :
- Obtenez les adresses IP attribuées par la passerelle sécurisée pour chaque hub. Deux adresses IP sont attribuées à une région.
- Ajoutez les adresses IP à la liste d'autorisation d'adresses IP de votre application SaaS. Par exemple, pour une application GitHub, vous pouvez suivre ce guide : Gérer les adresses IP autorisées pour votre organisation.
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global
Voici un exemple de réponse GET d'une passerelle sécurisée avec hubs. Dans l'exemple, les hubs sont créées dans les régions us-central1 et us-east1, et toutes les adresses IP renvoyées dans la réponse doivent être autorisées dans l'application SaaS.
createTime: 'CREATE_TIME' displayName: My secure gateway hubs: us-central1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 us-east1: internetGateway: assignedIps: - IP_ADDRESS_1 - IP_ADDRESS_2 name: projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID state: RUNNING updateTime: 'UPDATE_TIME'
REST
Pour configurer des hubs de sortie SaaS, procédez comme suit :
- Obtenez les adresses IP attribuées par la passerelle sécurisée pour chaque hub. Deux adresses IP sont attribuées à une région.
- Ajoutez les adresses IP à la liste d'autorisation d'adresses IP de votre application SaaS. Par exemple, pour une application GitHub, vous pouvez suivre ce guide : Gérer les adresses IP autorisées pour votre organisation.
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"
Voici un exemple de réponse GET d'une passerelle sécurisée avec hubs. Dans l'exemple, les hubs sont créées dans les régions us-central1 et us-east1, et toutes les adresses IP renvoyées dans la réponse doivent être autorisées dans l'application SaaS.
{ "securityGateways": [ { "name": "projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID", "createTime": "CREATE_TIME", "updateTime": "UPDATE_TIME", "displayName": "My secure gateway", "state": "RUNNING", "hubs": { "us-central1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", ] } }, "us-east1": { "internetGateway": { "assignedIps": [ "IP_ADDRESS_1", "IP_ADDRESS_2", ] } } } } ] }
Créer une ressource d'application
Les informations suivantes vous guident dans la configuration d'une ressource d'application de passerelle sécurisée.
Créez une ressource d'application de passerelle sécurisée dans Google Cloud
La ressource d'application Google Cloud est une sous-ressource de la ressource de passerelle sécurisée. Créez une ressource d'application à l'aide de la console Google Cloud ou en appelant l'API Create.
Console
Pour créer une application SaaS :
- Dans la console Google Cloud , accédez à la page Passerelle sécurisée.
Accéder à la passerelle sécurisée - Pour créer une application, cliquez sur Ajouter une application.
- Sélectionnez le type d'application : Application publique.
- Si les hubs de sortie SaaS ne sont pas encore configurés pour cette passerelle sécurisée, vous serez invité à les créer. Les applications publiques nécessitent au moins un hub de sortie SaaS. Pour configurer des hubs de sortie SaaS, cliquez sur Accéder aux hubs de sortie SaaS et ajoutez une ou plusieurs régions.
- Une fois que vous avez un ou plusieurs hubs de sortie, cliquez sur Suivant.
- Saisissez les informations de la demande :
- 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
- Pour configurer votre application SaaS, cliquez sur Continuer.
- Configurez votre application SaaS pour autoriser le trafic provenant de la passerelle sécurisée :
- Notez ou copiez soigneusement toutes les adresses IP listées pour les régions que vous utilisez. Ces adresses IP sont propres à votre passerelle sécurisée.
- Connectez-vous à la console d'administration de votre application SaaS.
- Accédez aux paramètres réseau ou de sécurité où les listes d'autorisation d'adresses IP sont gérées.
- Ajoutez toutes les adresses IP obtenues à la liste d'autorisation des adresses IP de l'application.
- Pour ajouter l'application, cliquez sur Continuer.
- 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 l'application et enregistrer vos paramètres, cliquez sur Créer.
gcloud
Pour créer une application SaaS à 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="APPLICATION_DISPLAY_NAME" \ --endpoint-matchers="hostname=HOST_NAME,ports=443"
REST
Pour créer une application SaaS à 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\": \"APPLICATION_DISPLAY_NAME\", \"endpoint_matchers\": [{hostname: \"HOST_NAME\", ports: 443}] }" \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID/applications?application_id=APPLICATION_ID"
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 règle :
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
Ajouter une liaison 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.
gcloud beyondcorp security-gateways add-iam-policy-binding SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.serviceDiscoveryUser" \ --member=MEMBER
Remplacez les éléments suivants :
SECURITY_GATEWAY_ID: ID de la passerelle sécuriséePROJECT_ID: ID du projet dans lequel la passerelle sécurisée est configuréeMEMBER: utilisateur, groupe ou compte de service auquel vous souhaitez attribuer le rôle Service Discovery. Pour en savoir plus, consultez Comptes principaux IAM.
Ajouter une liaison au niveau de l'application
gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER
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éeMEMBER: utilisateur, groupe ou compte de service auquel vous souhaitez attribuer le rôle Service Discovery. Pour en savoir plus, consultez Comptes principaux IAM.
Ajouter une liaison conditionnelle
Vous pouvez également ajouter une liaison 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 commande suivant n'accorde l'accès que si l'adresse IP source se trouve dans un niveau d'accès spécifié :
gcloud beyondcorp security-gateways applications add-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER \ --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
Supprimer une liaison au niveau de la passerelle Service Discovery
Révoquez les autorisations de découverte des services d'un utilisateur au niveau de la passerelle sécurisée.
gcloud beyondcorp security-gateways remove-iam-policy-binding SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.serviceDiscoveryUser" \ --member=MEMBER
Remplacez les éléments suivants :
SECURITY_GATEWAY_ID: ID de la passerelle sécuriséePROJECT_ID: ID du projet dans lequel la passerelle sécurisée est configuréeMEMBER: utilisateur, groupe ou compte de service auquel vous souhaitez supprimer le rôle "Service Discovery". Pour en savoir plus, consultez Comptes principaux IAM.
Supprimer une liaison au niveau de l'application
gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER
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éeMEMBER: utilisateur, groupe ou compte de service auquel vous souhaitez supprimer le rôle "Service Discovery". Pour en savoir plus, consultez Comptes principaux IAM.
Supprimer une liaison conditionnelle
Vous pouvez également supprimer une liaison 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 commande suivant supprime une liaison conditionnelle avec un niveau d'accès spécifié :
gcloud beyondcorp security-gateways applications remove-iam-policy-binding APPLICATION_ID \ --security-gateway=SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --role="roles/beyondcorp.sgApplicationUser" \ --member=MEMBER \ --condition="expression='accessPolicies/1234567890/accessLevels/in_us' in request.auth.access_levels,title=Source IP must be in US"
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 localement 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".
Récupérez 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. Le champ etag permet d'éviter 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 :
- 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 Google Chrome gérées 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.
Ancienne configuration des fichiers PAC
Lorsqu'il est activé, Service Discovery permet au client du navigateur Chrome de détecter et d'acheminer automatiquement le trafic vers vos applications configurées via la passerelle sécurisée. Vous n'avez donc pas besoin de configurer manuellement le routage à l'aide d'un fichier PAC.
Si la découverte de services n'est pas activée sur votre passerelle sécurisée, vous disposez d'une configuration héritée. Vous devrez configurer un fichier PAC pour contrôler le routage sur le client du navigateur Chrome.
Pour vérifier si vous disposez de l'ancienne configuration, utilisez les commandes suivantes pour voir si la détection de services est activée :
gcloud
gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global | grep -i "serviceDiscovery"
REST
curl --silent \ -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" | grep -i "serviceDiscovery"
Si la commande ne renvoie aucun résultat, cela signifie que votre passerelle utilise l'ancienne configuration. Pour les passerelles qui utilisent l'ancienne configuration, le routage est géré à l'aide d'un fichier PAC hébergé.
Étape 1 : Créez et hébergez le fichier PAC
Créez un fichier nommé
pac_config.jsavec le code JavaScript suivant, en remplaçantHOST_NAMEpar le domaine de votre application (par exemple,myapp.example.com) :function FindProxyForURL(url, host) { const PROXY = "HTTPS via.prod.securegateway.goog:443"; const sites = ["HOST_NAME"]; for (const site of sites) { if (shExpMatch(url, 'https://' + site + '/*') || shExpMatch(url, '*.' + site + '/*')) { return PROXY; } } return 'DIRECT'; }
Importez le fichier PAC dans un service d'hébergement, tel qu'un bucket Cloud Storage.
- Assurez-vous que le fichier est téléchargeable publiquement.
- Définissez l'en-tête HTTP
Cache-Controlsurno-cachepour que les navigateurs récupèrent toujours les dernières règles de routage.
Copiez l'URL publique du fichier PAC importé.
Étape 2 : Appliquez le fichier PAC dans la console d'administration Google
- Accédez à la console d'administration Google.
- Accédez à Appareils > Chrome > Paramètres.
- Sélectionnez votre unité organisationnelle ou votre groupe, puis cliquez sur Mode proxy.
- Sous Mode proxy, sélectionnez Toujours utiliser la configuration automatique du proxy indiquée ci-dessous.
- Saisissez l'URL publique de votre fichier PAC hébergé dans le champ prévu à cet effet.
- Cliquez sur Enregistrer.
Étape 3 : Configurez l'extension Chrome Enterprise Premium
L'extension est requise pour gérer l'authentification. Cette règle d'extension diffère de la configuration standard, car elle exclut le bloc serviceDiscovery.
- Dans la console d'administration Google, accédez à Navigateur Chrome > Applications et extensions.
- Accédez à l'onglet Utilisateurs et navigateurs, puis assurez-vous que l'extension Secure Enterprise Browser (
ekajlcmdfcigmdbphhifahdfjbkciflj) est ajoutée et appliquée. Cliquez sur l'extension, 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" } } } }
Cliquez sur Enregistrer.
Passer à la configuration de la détection de services
Pour passer de la configuration de l'ancienne passerelle sécurisée avec un fichier PAC à la nouvelle configuration détection de services, vous devez activer manuellement la fonctionnalité et mettre à jour vos configurations.
Activez la détection de services sur votre passerelle sécurisée : mettez à jour votre passerelle existante pour activer la détection de services.
gcloud
gcloud beyondcorp security-gateways update SECURITY_GATEWAY_ID \ --project=PROJECT_ID \ --location=global \ --service-discovery={}
REST
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "service_discovery": {} }' \ "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID?updateMask=service_discovery"
Définissez le règlement d'accès au niveau de la passerelle : accordez aux utilisateurs le rôle
roles/beyondcorp.serviceDiscoveryUserau niveau de la passerelle afin qu'ils puissent utiliser la détection de services. Suivez les instructions de la section Ajouter une liaison au niveau de la passerelle Service Discovery.Mettez à jour la configuration de l'extension Chrome Enterprise Premium : suivez les instructions de la section Installer l'extension Chrome Enterprise Premium pour mettre à jour la règle de votre extension. La nouvelle configuration JSON doit inclure le bloc
"serviceDiscovery": { "routes": {} }.Supprimez l'ancien fichier PAC : une fois la détection de services activée, l'ancien fichier PAC n'est plus nécessaire.
- Dans la console d'administration Google, accédez à Appareils > Chrome > Paramètres > Paramètres des utilisateurs et du navigateur > Réseau.
- Recherchez le paramètre Mode proxy.
- Supprimez l'URL de configuration automatique du proxy (PAC) ou remplacez le paramètre Toujours utiliser la configuration automatique du proxy indiquée ci-dessous par un mode approprié pour votre réseau, tel que Autoriser l'utilisateur à configurer.
- 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 la règle d'autorisation, les utilisateurs reçoivent un message Access denied.