Gérer la création de réservations partagées

Par défaut, les projets ne peuvent pas créer ni modifier de réservations partagées. Ce document explique comment autoriser ou restreindre la création et la modification de réservations partagées pour des projets de votre Google Cloud organisation. Les réservations partagées vous aident à optimiser l'utilisation de la capacité réservée entre les projets, ainsi qu'à gérer une seule réservation au lieu de plusieurs.

Pour en savoir plus sur les bonnes pratiques concernant la création et l'utilisation de réservations partagées, consultez la section Bonnes pratiques pour les réservations partagées.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux Google Cloud services et aux API. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la Google Cloud console pour accéder aux Google Cloud services et aux API, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  • Définissez une région et une zone par défaut.

Rôles requis

Pour obtenir les autorisations nécessaires pour autoriser ou restreindre la création de réservations partagées pour des projets, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'administration (roles/orgpolicy.policyAdmin) dans l'organisation. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour autoriser ou restreindre la création de réservations partagées pour des projets. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour autoriser ou restreindre la création de réservations partagées pour des projets :

  • Pour modifier les règles d'administration : orgpolicy.policy.set sur l'organisation
  • Pour afficher les règles d'administration : orgpolicy.policy.get sur l'organisation

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Autoriser ou restreindre la création de réservations partagées pour des projets

Pour autoriser ou restreindre la création de réservations partagées pour un projet, modifiez la liste d'autorisation dans la contrainte de règle d'administration Projets propriétaires de réservations partagées (compute.sharedReservationsOwnerProjects).

Les sections suivantes expliquent comment afficher ou modifier la contrainte de règle des réservations partagées dans votre projet ou votre organisation.

Afficher la contrainte de règle d'administration des réservations partagées

Pour vérifier si la contrainte Projets propriétaires de réservations partagées (compute.sharedReservationsOwnerProjects) est activée pour votre projet ou votre organisation, sélectionnez l'une des options suivantes :

Console

  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 le projet ou l'organisation pour lequel vous souhaitez afficher les règles d'administration.

  3. Dans le champ Filtre , saisissez constraints/compute.sharedReservationsOwnerProjects.

  4. Dans la colonne Nom, cliquez sur Projets propriétaires de réservations partagées. La page Détails de la règle s'affiche.

  5. Dans la section Règle effective, vérifiez si votre projet ou votre organisation est autorisé à créer et à modifier des réservations partagées.

gcloud

Pour afficher les projets que la contrainte compute.sharedReservationsOwnerProjects autorise à créer et modifier des réservations partagées, procédez comme suit :

  1. Pour télécharger la règle de votre organisation dans un fichier nommé policy.yaml, utilisez la gcloud resource-manager org-policies describe commande :

    gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
        --organization=ORGANIZATION_ID > policy.yaml
    

    Remplacez ORGANIZATION_ID par l' ID de votre organisation.

  2. Ouvrez le fichier policy.yaml dans l'éditeur de texte de votre choix.

  3. Affichez la contrainte compute.sharedReservationsOwnerProjects. Les projets autorisés à créer et à modifier des réservations partagées sont répertoriés dans le champ allowedValues, comme illustré dans l'exemple suivant :

    ...
    constraint: constraints/compute.sharedReservationsOwnerProjects
    listPolicy:
      allowedValues:
      - projects/EXAMPLE_PROJECT_NUMBER1
      - projects/EXAMPLE_PROJECT_NUMBER2
      - projects/EXAMPLE_PROJECT_NUMBER3
      ...
    ...
    
  4. Facultatif : Pour supprimer le fichier policy.yaml, procédez de l'une des manières suivantes :

    • Si vous utilisez un terminal Linux ou macOS, exécutez la commande suivante :

      rm policy.yaml
      
    • Si vous utilisez un terminal Windows, exécutez la commande suivante :

      del policy.yaml
      

Modifier la contrainte de règle d'administration des réservations partagées

Pour modifier les projets de votre organisation qui peuvent créer et modifier des réservations partagées, sélectionnez l'une des options suivantes :

Console

  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 l'organisation pour laquelle vous souhaitez modifier les règles d'administration.

  3. Dans le champ Filtre , saisissez constraints/compute.sharedReservationsOwnerProjects.

  4. Dans la colonne Nom, cliquez sur Projets propriétaires de réservations partagées. La page Détails de la règle s'affiche.

  5. Cliquez sur Gérer la règle. La page Détails de la règle s'affiche.

  6. Sélectionnez Remplacer la règle du parent. Ensuite, dans la section Application des règles, sélectionnez la manière dont vous souhaitez appliquer la règle :

    • Fusionner avec le parent : cette option combine la règle au niveau du projet avec la règle au niveau de l'organisation. Les projets autorisés à l'un ou l'autre niveau peuvent créer des réservations partagées.

    • Remplacer : cette option remplace toutes les règles héritées des niveaux supérieurs. Seuls les projets explicitement autorisés à ce niveau peuvent créer des réservations partagées.

  7. Cliquez sur Ajouter une règle.

  8. Dans la liste Valeurs de règles, sélectionnez Personnalisé.

  9. Dans la liste Type de règles, sélectionnez l'une des options suivantes :

    • Pour autoriser un ou plusieurs projets à créer ou modifier des réservations partagées, sélectionnez Autoriser.

    • Pour empêcher un ou plusieurs projets de créer ou modifier des réservations partagées, sélectionnez Refuser.

  10. Dans le champ Valeur personnalisée, saisissez le numéro du projet auquel vous souhaitez appliquer cette règle. Pour chaque projet supplémentaire auquel vous souhaitez appliquer la règle, cliquez sur Ajouter une valeur, puis répétez cette étape.

  11. Pour appliquer ces modifications, cliquez sur Définir la règle. La page Règles d'administration s'affiche.

gcloud

Pour modifier les projets que la contrainte compute.sharedReservationsOwnerProjects autorise à créer et modifier des réservations partagées, utilisez l'une des méthodes suivantes :

  • Pour autoriser un seul projet à créer et modifier des réservations partagées, utilisez la gcloud resource-manager org-policies allow commande. Vous pouvez répéter cette commande pour chaque projet auquel vous souhaitez accorder cette autorisation.

    gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \
        --organization=ORGANIZATION_ID
    

    Remplacez les éléments suivants :

  • Pour accorder ou révoquer les autorisations de création et modification des réservations partagées pour plusieurs projets, remplacez la contrainte de règle d'administration. Pour cela, procédez comme suit :

    1. Pour télécharger la règle de votre organisation dans un fichier nommé policy.yaml, utilisez la gcloud resource-manager org-policies describe commande :

      gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
          --organization=ORGANIZATION_ID > policy.yaml
      
    2. Ouvrez le fichier policy.yaml dans l'éditeur de texte de votre choix.

    3. Modifiez le champ allowedValues pour répertorier tous les projets autorisés à créer et à modifier des réservations partagées.

      • Pour chaque projet que vous souhaitez autoriser, ajoutez le numéro de projet sur une nouvelle ligne dans le champ allowedValues.

      • Pour chaque projet pour lequel vous souhaitez révoquer l'autorisation de créer et de modifier des réservations partagées, supprimez le numéro de projet du champ allowedValues.

      Le fichier policy.yaml ressemble à l'exemple suivant :

      ...
      constraint: constraints/compute.sharedReservationsOwnerProjects
      listPolicy:
        allowedValues:
        - projects/EXAMPLE_PROJECT_NUMBER1
        - projects/EXAMPLE_PROJECT_NUMBER2
        - projects/EXAMPLE_PROJECT_NUMBER3
        ...
      ...
      
    4. Enregistrez le fichier policy.yaml et fermez l'éditeur de texte.

    5. Pour mettre à jour la règle de votre organisation, utilisez la gcloud resource-manager org-policies set-policy commande :

      gcloud resource-manager org-policies set-policy \
          --organization=ORGANIZATION_ID policy.yaml
      
    6. Facultatif : Pour supprimer le fichier policy.yaml, procédez de l'une des manières suivantes :

      • Si vous utilisez un terminal Linux ou macOS, exécutez la commande suivante :

        rm policy.yaml
        
      • Si vous utilisez un terminal Windows, exécutez la commande suivante :

        del policy.yaml
        

L'application des modifications peut prendre jusqu'à 15 minutes.

Étape suivante