Restreindre l'utilisation des ressources

Cette page présente la contrainte de règles d'administration Restrict Resource Service Usage (Limiter l'utilisation des services de ressources), qui permet aux administrateurs d'entreprise de contrôler les services Google Cloud pouvant être utilisés dans leur hiérarchie de ressources Google Cloud. Cette contrainte ne peut être appliquée qu'aux services dont les ressources sont les descendants directs d'une ressource d'organisation, de dossier ou de projet. (Compute Engine et Cloud Storage, par exemple).

La contrainte Limiter l'utilisation du service de ressources exclut certains services qui sont des dépendances essentielles pour les produits Google Cloud, tels que Identity and Access Management (IAM), Cloud Logging et Cloud Monitoring. Elle ne fonctionne pas avec ces services. Pour obtenir la liste des services de ressources cloud compatibles avec cette contrainte, consultez la section Services compatibles avec la restriction d'utilisation des ressources.

Cette contrainte permet aux administrateurs de définir des restrictions hiérarchiques dans des services Google Cloud autorisés dans un conteneur de ressources, tel qu'une organisation, un dossier ou un projet. Par exemple, autorisez storage.googleapis.com dans le projet X ou refusez compute.googleapis.com dans le dossier Y. Cette contrainte détermine également la disponibilité de la console Google Cloud.

La contrainte Restreindre l'utilisation des services de ressources peut être utilisée de deux manières qui s'excluent mutuellement :

  • Liste de refus : les ressources d'un service non refusé sont autorisées.

  • Liste d'autorisation : les ressources d'un service non autorisé sont refusées.

La contrainte Restreindre l'utilisation des services de ressources contrôle l'accès de l'environnement d'exécution à toutes les ressources couvertes. Lorsque la règle d'administration contenant cette contrainte est mise à jour, elle s'applique immédiatement à tous les accès à toutes les ressources couvertes, avec une cohérence éventuelle.

Nous recommandons aux administrateurs de gérer avec soin les mises à jour des règles d'administration contenant cette contrainte. Vous pouvez déployer cette modification de règle de manière plus sécurisée en utilisant des tags pour appliquer la contrainte de manière conditionnelle. Pour en savoir plus, consultez la section Définir une règle d'administration avec des tags.

Lorsqu'un service est soumis à des restrictions par ce règlement, certains services Google Cloud qui dépendent directement du service soumis à des restrictions le sont également. Cela ne s'applique qu'aux services qui gèrent les mêmes ressources client. Par exemple, Google Kubernetes Engine (GKE) dépend de Compute Engine. Lorsque Compute Engine est limité, GKE l'est également.

Disponibilité de la console Google Cloud

Les services limités dans la console Google Cloud se comportent comme suit:

  • Vous ne pouvez pas accéder à un produit à l'aide du menu .
  • Les services soumis à des restrictions n'apparaissent pas dans les résultats de recherche de la console Google Cloud.
  • Lorsque vous accédez à la page de la console Google Cloud d'un service soumis à des restrictions (par exemple, à partir d'un lien ou d'un favori), un message d'erreur s'affiche.

Utiliser la contrainte de restriction de l'utilisation des services de ressources

Les contraintes de règle d'administration peuvent être définies au niveau de l'organisation, du dossier et du projet. Chaque règle s'applique à toutes les ressources de la hiérarchie des ressources correspondante, mais elle peut être ignorée à des niveaux inférieurs de la hiérarchie des ressources.

Pour en savoir plus sur l'évaluation des règles, consultez la page Comprendre le processus d'évaluation hiérarchique.

Définir la règle d'administration

Pour définir, modifier ou supprimer une règle d'administration, vous devez disposer du rôle Administrateur de règle d'administration.

Console

Pour définir une règle d'administration incluant une contrainte Restreindre l'utilisation des services de ressources, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page Règles d'administration

  2. Dans le sélecteur de projets, sélectionnez la ressource sur laquelle vous souhaitez définir la règle d'administration.

  3. Dans le tableau des règles d'administration, sélectionnez Restreindre l'utilisation des services de ressources.

  4. Cliquez sur Gérer la règle.

  5. Sous Appliquer à, sélectionnez Remplacer la règle parente.

  6. Sous Policy enforcement (Application des règles), déterminez comment appliquer l'héritage de cette règle.

    1. Si vous souhaitez hériter de la règle d'administration de la ressource parente et la fusionner avec celle-ci, sélectionnez Merge with parent (Fusionner avec le parent).

    2. Si vous souhaitez remplacer des règles d'administration existantes, sélectionnez Replace (Remplacer).

  7. Cliquez sur Ajouter une règle.

  8. Sous Valeurs de règles, sélectionnez Personnalisé.

  9. Sous Policy type (Type de règle), sélectionnez Deny (Refuser) pour la liste de blocage ou Allow (Autoriser) pour la liste d'autorisation.

  10. Sous Custom values (Valeurs personnalisées), ajoutez le service dont vous souhaitez bloquer ou autoriser l'accès à la liste.

    1. Par exemple, pour bloquer Cloud Storage, vous pouvez saisir storage.googleapis.com.

    2. Pour ajouter d'autres services, cliquez sur Ajouter une valeur.

  11. Pour appliquer la règle, cliquez sur Définir la règle.

gcloud

Vous pouvez définir des règles d'administration à l'aide de Google Cloud CLI. Pour appliquer une règle d'administration incluant la contrainte Restreindre l'utilisation des services de ressources, commencez par créer un fichier YAML comprenant la règle à mettre à jour:

name: organizations/ORGANIZATION_ID/policies/gcp.restrictServiceUsage
spec:
  rules:
  - values:
      deniedValues:
      - file.googleapis.com
      - bigquery.googleapis.com
      - storage.googleapis.com

Remplacez ORGANIZATION_ID par l'ID de votre ressource d'organisation. Pour définir cette règle sur cette organisation, exécutez la commande suivante:

gcloud org-policies set-policy /tmp/policy.yaml

Pour en savoir plus sur l'utilisation de contraintes dans les règles d'administration, consultez la page Utiliser des contraintes.

Limiter les ressources non taguées

Vous pouvez utiliser des tags et des règles d'administration conditionnelles pour restreindre les ressources qui n'utilisent pas un tag particulier. Si vous définissez une règle d'administration sur une ressource qui restreint les services et la rend conditionnelle à la présence d'une balise, aucune ressource enfant issue de cette ressource ne peut être utilisée, sauf si elle a été taguée. Par conséquent, les ressources doivent être configurées conformément à votre plan de gouvernance avant de pouvoir être utilisées.

Pour limiter les ressources d'organisation, de dossier ou de projet non taguées, vous pouvez utiliser l'opérateur logique ! dans une requête conditionnelle lorsque vous créez votre règle d'administration.

Par exemple, pour n'autoriser l'utilisation de sqladmin.googleapis.com que dans les projets comportant la balise sqladmin=enabled, vous pouvez créer une règle d'administration qui refuse sqladmin.googleapis.com dans les projets ne comportant pas la balise sqladmin=enabled.

  1. Créez une balise qui indique si les règles de gouvernance appropriées ont été appliquées aux ressources. Par exemple, vous pouvez créer une balise avec la clé sqlAdmin et la valeur enabled pour indiquer que cette ressource doit autoriser l'utilisation de l'API Cloud SQL Admin. Exemple :

    Créer une clé et une valeur de tag

  2. Cliquez sur le nom de la balise nouvellement créée. Vous aurez besoin du nom associé à l'espace de noms de la clé de balise, indiqué sous Chemin d'accès de la clé de balise, pour créer une condition.

  3. Créez une règle d'administration Restreindre l'utilisation des services de ressources au niveau de votre ressource d'organisation pour refuser l'accès à l'API Cloud SQL Admin. Exemple :

    Créer une règle d'administration pour restreindre les ressources

  4. Ajoutez une condition à la règle d'administration ci-dessus, en spécifiant qu'elle est appliquée si la balise de gouvernance n'est pas présente. L'opérateur logique NOT n'est pas compatible avec le générateur de conditions. Cette condition doit donc être créée dans l'éditeur de conditions. Exemple :

    Créer une règle d'administration conditionnelle

    !resource.matchTag("012345678901/sqlAdmin", "enabled")

Désormais, le tag sqlAdmin=enabled doit être associé à un projet ou hérité par un projet avant que vos développeurs puissent utiliser l'API Cloud SQL Admin avec ce projet.

Pour en savoir plus sur la création de règles d'administration conditionnelles, consultez la section Définir une règle d'administration avec des tags.

Créer une règle d'administration en mode de simulation

Une règle d'administration en mode simulation est un type de règle d'administration dans lequel les cas de non-respect de la règle sont consignés dans le journal d'audit, mais les actions non conformes ne sont pas refusées. Vous pouvez créer une règle d'administration en mode simulation à l'aide de la contrainte Limiter l'utilisation des services de ressources pour surveiller son impact sur votre organisation avant d'appliquer la règle en production. Pour en savoir plus, consultez la section Créer une règle d'administration en mode simulation.

Message d'erreur

Si vous définissez une règle d'administration pour refuser le service A dans la hiérarchie des ressources B, l'opération échoue lorsqu'un client tente d'utiliser le service A dans la hiérarchie des ressources B. Une erreur indiquant la raison de cet échec s'affiche. Une entrée AuditLog est également générée pour optimiser la surveillance, les alertes ou le débogage.

Exemple de message d'erreur

Request is disallowed by organization's constraints/gcp.restrictServiceUsage
constraint for projects/PROJECT_ID attempting to use service
storage.googleapis.com.

Exemple de journaux d'audit Cloud

Capture d'écran d'un exemple d'entrée du journal d'audit