Renforcer la sécurité avec VPC Service Controls

Google Cloud Search est compatible avec VPC Service Controls pour renforcer la sécurité de vos données. VPC Service Controls vous permet de définir un périmètre de service autour des ressources Google Cloud Platform afin de contenir les données et de limiter les risques d'exfiltration de données.

Prérequis

Avant de commencer, installez l'interface de ligne de commande gcloud.

Activer VPC Service Controls

Pour activer VPC Service Controls:

  1. Obtenez les ID et numéros de projet du projet Google Cloud Platform que vous souhaitez utiliser. Pour obtenir les ID et numéros de projet, consultez la section Identifier des projets.

  2. Utilisez gcloud pour créer une stratégie d'accès pour votre organisation Google Cloud Platform:

    1. Obtenez l'ID de votre organisation.
    2. Créez une règle d'accès.
    3. Obtenez le nom de votre règle d'accès.
  3. Créez un périmètre de service avec Cloud Search en tant que service limité en exécutant la commande gcloud suivante:

    gcloud access-context-manager perimeters create NAME \
        --title=TITLE \
        --resources=PROJECTS \
        --restricted-services=RESTRICTED-SERVICES \
        --policy=POLICY_NAME
    

    Où :

    • NAME est le nom du périmètre.
    • TITLE est le titre lisible du périmètre.
    • PROJECTS est une liste d'un ou de plusieurs numéros de projet, séparés par une virgule, chacun précédé de la chaîne projects/. Utilisez les numéros de projet obtenus à l'étape 1. Par exemple, si vous avez deux projets, les projets 12345 et 67890, votre paramètre sera --resource=projects/12345, project/67890 .Ce flag n'accepte que les numéros de projet, et non les noms ni les ID.
    • RESTRICTED-SERVICES est une liste d'un ou de plusieurs services séparés par une virgule. Utilisez cloudsearch.googleapis.com.
    • POLICY_NAME est le nom (au format numérique) de la règle d'accès de votre organisation obtenu à l'étape 2c.

    Pour en savoir plus sur la création d'un périmètre de service, consultez la section Créer un périmètre de service.

  4. (Facultatif) Si vous souhaitez appliquer des restrictions basées sur l'adresse IP ou la région, créez des niveaux d'accès et ajoutez-les au périmètre de service créé à l'étape 3:

    1. Pour créer un niveau d'accès, consultez la section Créer un niveau d'accès de base. Pour savoir comment créer une condition de niveau d'accès n'autorisant l'accès qu'à partir d'une plage d'adresses IP spécifique, comme celles d'un réseau d'entreprise, consultez la section Limiter l'accès sur un réseau d'entreprise.
    2. Une fois que vous avez créé un niveau d'accès, ajoutez-le au périmètre de service. Pour obtenir des instructions sur l'ajout d'un niveau d'accès à un périmètre de service, consultez la section Ajouter un niveau d'accès à un périmètre existant. La propagation et la prise en compte de cette modification peuvent prendre jusqu'à 30 minutes.
  5. Utilisez l'API REST du service client Cloud Search pour mettre à jour les paramètres client avec votre projet protégé par périmètre VPC Service Controls:

  1. Obtenez un jeton d'accès OAuth 2.0 auprès du serveur d'autorisation Google. Pour savoir comment obtenir le jeton, consultez l'étape 2 de la section Utiliser OAuth 2.0 pour accéder aux API Google. Lorsque vous obtenez le jeton d'accès, utilisez l'un des champs d'application OAuth suivants : https://www.googleapis.com/auth/cloud_search.settings.indexing, https://www.googleapis.com/auth/cloud_search.settings ou https://www.googleapis.com/auth/cloud_search.

  2. Exécutez la commande curl suivante pour définir le projet dans les paramètres VPC Service Controls sous "Customer settings" (Paramètres client) dans Google Cloud Search:

    curl --request PATCH \
      'https://cloudsearch.googleapis.com/v1/settings/customer' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{ "vpc_settings": { "project": "projects/PROJECT_ID" } }' \
      --compressed
    

    Où :

  • YOUR_ACCESS_TOKEN est le jeton d'accès OAuth 2.0 obtenu à l'étape 5a.
  • PROJECT_ID est l'ID du projet obtenu à l'étape 1.

    Si l'opération réussit, vous devriez recevoir une réponse 200 OK accompagnée des paramètres client mis à jour.

Une fois les étapes ci-dessus terminées, les restrictions VPC Service Controls, telles que définies dans le périmètre de service, sont appliquées à toutes les API Google Cloud Search, aux recherches sur cloudsearch.google.com, ainsi qu'à l'affichage et à la modification de la configuration ou des rapports à l'aide de la console d'administration. Les requêtes ultérieures à l'API Google Cloud Search qui ne respectent pas les niveaux d'accès reçoivent une erreur PERMISSION_DENIED “Request is prohibited by organization’s policy”.