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. (par exemple, Compute Engine et Cloud Storage).

La contrainte Restreindre l'utilisation des services de ressources exclut et ne fonctionne pas avec à certains services, qui sont des dépendances essentielles tels que Identity and Access Management (IAM), Cloud Logging et Cloud Monitoring. 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.

Les administrateurs peuvent utiliser cette contrainte pour définir des restrictions hiérarchiques services de ressources Google Cloud autorisés dans un conteneur de ressources, comme 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 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 par la règle, 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 ce changement de règle de manière plus sécurisée en à l'aide de 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 d'une instance Compute Engine. Lorsque Compute Engine est limité, GKE l'est également.

Disponibilité de la console Google Cloud

Les services restreints dans la console Google Cloud se comportent de la manière suivante:

  • 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 stratégie s'applique à toutes les ressources la hiérarchie des ressources, mais peuvent être remplacées aux niveaux inférieurs la hiérarchie.

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 le paramètre Restreindre l'utilisation du service des ressources , créez d'abord un fichier YAML avec la stratégie à 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 sans tag

Vous pouvez utiliser des tags et des règles d'administration conditionnelles pour restreindre les ressources qui n'utilisent pas de tag spécifique. Si vous définissez une règle d'administration une ressource qui limite les services et la conditionne à la présence d'une aucune ressource enfant descendante de cette ressource ne peut être utilisée, sauf si ont été associés à un tag. Ainsi, les ressources doivent être configurées conformément à vos de gouvernance avant de pouvoir les utiliser.

Pour limiter les ressources d'organisation, de dossier ou de projet sans balise, vous pouvez utiliser la Opérateur logique ! dans une requête conditionnelle lors de la création de votre organisation .

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 ressources ont fait l'objet d'une gouvernance appropriée. 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 du service des ressources au niveau du compte. de votre ressource 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 de simulation est un type de règle d'administration les cas de non-respect des règles sont consignés dans des journaux d'audit, mais pas les actions non conformes. refusée. Vous pouvez créer une règle d'administration en mode de simulation à l'aide de la Contrainte Restreindre l'utilisation du service de ressources pour surveiller son impact votre organisation avant d'appliquer la règle active. 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