Utiliser des comptes de service pour créer des règles

Un compte de service est un type de compte particulier généralement utilisé par une application ou une charge de travail de calcul, telle qu'une instance Compute Engine, plutôt que par une personne. Ce compte est identifié par son adresse e-mail, qui lui est propre.

Les applications utilisent les comptes de service pour effectuer des appels d'API autorisés en s'authentifiant soit en tant que compte de service, soit en tant qu'utilisateurs Google Workspace ou Cloud Identity via la délégation au niveau du domaine. Lorsqu'une application s'authentifie en tant que compte de service, elle a accès à toutes les ressources auxquelles le compte de service est autorisé à accéder.

Vous pouvez utiliser un compte de service pour identifier la source de trafic et configurer Stratégies de proxy Web sécurisé, si nécessaire.

Cette page vous explique comment :

  • Créez une instance de proxy Web sécurisé avec une règle vide.
  • Créer des comptes de service et les associer à des ressources
  • Utilisez des comptes de service pour créer une règle de proxy Web sécurisé.
  • Créer une instance de proxy Web sécurisé
  • Testez la connectivité à partir de vos VM.

Avant de commencer

  • Suivez les étapes de configuration initiale.

  • Demandez à un administrateur de l'organisation d'accorder l'accès à un compte de service.

  • Vérifiez que vous avez installé la version 406.0.0 ou ultérieure de la Google Cloud CLI :

    gcloud version | head -n1
    

    Si vous avez installé une version antérieure de gcloud CLI, mettez-la à jour :

    gcloud components update --version=406.0.0
    

Créer une instance de proxy Web sécurisé avec une règle vide

Pour créer une instance de proxy Web sécurisé, commencez par créer une règle de sécurité vide puis créer un proxy Web.

Créer une stratégie de sécurité vide

Console

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Cliquez sur l'onglet Règles.

  4. Cliquez sur Create a policy (Créer une règle).

  5. Saisissez un nom pour la stratégie que vous souhaitez créer, par exemple myswppolicy.

  6. Saisissez une description de la stratégie, par exemple My new swp policy.

  7. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer la règle.

  8. Cliquez sur Créer.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier POLICY_FILE.yaml. Remplacez POLICY_FILE par le nom de fichier souhaité pour le fichier de stratégie.

  2. Ajoutez le code suivant au fichier YAML que vous avez créé:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : nom de votre projet
    • REGION: région à laquelle cette règle s'applique
    • POLICY_NAME : nom de la stratégie que vous créez
    • POLICY_DESCRIPTION : description de la règle que vous créez
  3. Importez la stratégie de sécurité:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Créer un proxy Web

Console

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Cliquez sur Proxy Web sécurisé.

  3. Cliquez sur Configurer un proxy Web.

  4. Saisissez un nom pour le proxy Web que vous souhaitez créer, par exemple myswp.

  5. Saisissez une description du proxy Web, telle que My new swp.

  6. Dans la liste Régions, sélectionnez la région dans laquelle vous souhaitez créer le proxy Web.

  7. Dans la liste Réseau, sélectionnez le réseau sur lequel vous souhaitez créer le proxy Web.

  8. Dans la liste Sous-réseau, sélectionnez le sous-réseau dans lequel vous souhaitez créer le proxy Web.

  9. Saisissez l'adresse IP du proxy Web.

  10. Dans la liste Certificat, sélectionnez le certificat de votre choix. pour créer le proxy Web.

  11. Dans la liste Règle, sélectionnez la règle que vous avez créée. auquel associer le proxy Web.

  12. Cliquez sur Créer.

Cloud Shell

  1. Utilisez l'éditeur de texte de votre choix pour créer le fichier. GATEWAY_FILE.yaml. Remplacer GATEWAY_FILE par le nom de fichier souhaité le fichier proxy Web.

  2. Ajoutez le code suivant au fichier YAML que vous avez créé:

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET_NAME
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Remplacez les éléments suivants :

    • GATEWAY_NAME : nom de cette instance
    • GATEWAY_PORT_NUMBERS : liste des numéros de port de cette passerelle, par exemple [80,443]
    • CERTIFICATE_URLS: une liste de certificats SSL URL
    • SUBNET_NAME : nom du sous-réseau contenant GATEWAY_IP_ADDRESS

    • GATEWAY_IP_ADDRESS: liste facultative d'adresses IP. pour vos instances de proxy Web sécurisé dans le proxy des sous-réseaux précédemment créés la procédure de configuration initiale

      Si vous choisissez de ne pas lister d'adresses IP, omettez le champ pour que le proxy Web choisisse une adresse IP à votre place.

  3. Créez une instance de proxy Web sécurisé :

    gcloud network-services gateways import GATEWAY_NAME \
        --source=GATEWAY_FILE.yaml \
        --location=REGION
    

Tester la connectivité

Pour tester la connectivité, utilisez la commande curl à partir de n'importe quelle VM de votre réseau cloud privé virtuel (VPC) :

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Une erreur 403 Forbidden est attendue.

Créer des comptes de service et les associer aux ressources

Pour créer et associer des comptes de service, procédez comme suit:

  1. Créez les comptes de service.

  2. Associez des comptes de service aux ressources.

Créer des règles de proxy Web sécurisé

Pour créer des règles de proxy Web sécurisé, procédez comme suit :

  1. Utilisez l'éditeur de texte de votre choix pour créer RULE_FILE.yaml. Remplacez RULE_FILE par le nom de fichier de votre choix.

  2. Pour autoriser l'accès à une URL à partir du compte de service choisi, ajoutez ce qui suit au fichier YAML :

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    description: RULE_DESCRIPTION
    enabled: true
    priority: RULE_PRIORITY
    sessionMatcher: CEL_EXPRESSION
    basicProfile: ALLOW
    

    Remplacez les éléments suivants :

    • RULE_NAME: nom de cette règle.
    • RULE_DESCRIPTION: description de l'élément que vous créez
    • RULE_PRIORITY : priorité de cette règle. Un nombre inférieur correspond à une priorité plus élevée.
    • CEL_EXPRESSION: expression courante Expression de langage (CEL)

      Pour en savoir plus, consultez la documentation de référence sur le langage du moteur de mise en correspondance CEL.

      Par exemple, pour autoriser l'accès à example.com à partir de la ressource avec le compte de service souhaité associé, ajoutez ce qui suit au fichier YAML que vous avez créé pour sessionMatcher :

      sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
      

      Remplacez SERVICE_ACCOUNT par le compte de service que vous souhaitez autoriser. Il doit s'agir de l'adresse e-mail du compte de service.

  3. Importez les règles que vous avez créées:

    gcloud network-security gateway-security-policies rules import RULE_NAME \
       --source=RULE_FILE.yaml \
       --location=REGION \
       --gateway-security-policy=POLICY_NAME
    

Tester la connectivité

Pour tester la connectivité, exécutez la commande curl de la ressource avec la commande SERVICE_ACCOUNT joint:

curl -x https://IPv4_ADDRESS:443 http://example.com 
--proxy-insecure

Remplacez IPv4_ADDRESS par l'adresse IPv4 de votre instance de proxy Web sécurisé.

Étape suivante