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
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :
gcloud initSi 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.setsur l'organisation -
Pour afficher les règles d'administration :
orgpolicy.policy.getsur 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
Dans la console Google Cloud , accédez à la page Règles d'administration.
Dans le sélecteur de projets, sélectionnez le projet ou l'organisation pour lequel vous souhaitez afficher les règles d'administration.
Dans le champ Filtre , saisissez
constraints/compute.sharedReservationsOwnerProjects.Dans la colonne Nom, cliquez sur Projets propriétaires de réservations partagées. La page Détails de la règle s'affiche.
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 :
Pour télécharger la règle de votre organisation dans un fichier nommé
policy.yaml, utilisez lagcloud resource-manager org-policies describecommande :gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \ --organization=ORGANIZATION_ID > policy.yamlRemplacez ORGANIZATION_ID par l' ID de votre organisation.
Ouvrez le fichier
policy.yamldans l'éditeur de texte de votre choix.Affichez la contrainte
compute.sharedReservationsOwnerProjects. Les projets autorisés à créer et à modifier des réservations partagées sont répertoriés dans le champallowedValues, comme illustré dans l'exemple suivant :... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/EXAMPLE_PROJECT_NUMBER1 - projects/EXAMPLE_PROJECT_NUMBER2 - projects/EXAMPLE_PROJECT_NUMBER3 ... ...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.yamlSi 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
Dans la console Google Cloud , accédez à la page Règles d'administration.
Dans le sélecteur de projets, sélectionnez l'organisation pour laquelle vous souhaitez modifier les règles d'administration.
Dans le champ Filtre , saisissez
constraints/compute.sharedReservationsOwnerProjects.Dans la colonne Nom, cliquez sur Projets propriétaires de réservations partagées. La page Détails de la règle s'affiche.
Cliquez sur Gérer la règle. La page Détails de la règle s'affiche.
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.
Cliquez sur Ajouter une règle.
Dans la liste Valeurs de règles, sélectionnez Personnalisé.
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.
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.
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 allowcommande. 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_IDRemplacez les éléments suivants :
PROJECT_NUMBER : le numéro du projet.
ORGANIZATION_ID : l' ID de votre organisation.
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 :
Pour télécharger la règle de votre organisation dans un fichier nommé
policy.yaml, utilisez lagcloud resource-manager org-policies describecommande :gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \ --organization=ORGANIZATION_ID > policy.yamlOuvrez le fichier
policy.yamldans l'éditeur de texte de votre choix.Modifiez le champ
allowedValuespour 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.yamlressemble à l'exemple suivant :... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/EXAMPLE_PROJECT_NUMBER1 - projects/EXAMPLE_PROJECT_NUMBER2 - projects/EXAMPLE_PROJECT_NUMBER3 ... ...Enregistrez le fichier
policy.yamlet fermez l'éditeur de texte.Pour mettre à jour la règle de votre organisation, utilisez la
gcloud resource-manager org-policies set-policycommande :gcloud resource-manager org-policies set-policy \ --organization=ORGANIZATION_ID policy.yamlFacultatif : 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.yamlSi vous utilisez un terminal Windows, exécutez la commande suivante :
del policy.yaml
L'application des modifications peut prendre jusqu'à 15 minutes.