Ce guide explique comment gérer les paramètres des ressources. Vous pouvez utiliser les paramètres des ressources pour configurer les paramètres de vos projets, dossiers et organisation Google Cloud de manière centralisée. Chaque paramètre de ressource vous permet de contrôler un aspect d'un service compatible.
Avant de commencer
Pour en savoir plus sur les paramètres des ressources et leur fonctionnement, consultez la page Présentation des paramètres de ressources.
Activer l'API
Vous pouvez activer l'API Resource Settings pour des projets individuels.
Console Google Cloud
Pour activer l'API Resource Settings, procédez comme suit :
- Sélectionnez le projet à utiliser pour accéder à l'API.
- Cliquez sur le bouton Activer des API et des services.
- Recherchez "Paramètres des ressources".
- Dans les résultats de recherche, cliquez sur "API Resource Settings".
- Si "API activée" s'affiche, cela signifie que l'API est déjà activée. Sinon, cliquez sur le bouton Activer.
gcloud
Pour activer l'API Resource Settings, exécutez la commande gcloud services enable
:
gcloud services enable resourcesettings.googleapis.com
Autorisations requises
Les autorisations dont vous avez besoin dépendent de l'action que vous devez effectuer.
Pour obtenir ces autorisations, demandez à votre administrateur d'attribuer le rôle suggéré au niveau approprié de la hiérarchie des ressources.
Afficher les paramètres des ressources
Pour afficher les paramètres disponibles pour une ressource, ainsi que les valeurs de paramètre locales et effectives d'une ressource, vous devez disposer du rôle Lecteur des paramètres de ressources (roles/resourcesettings.viewer
) ou d'un autre rôle comprenant les autorisations suivantes :
resourcesettings.settings.get
resourcesettings.settings.list
Administrer les paramètres des ressources
Pour créer, mettre à jour et supprimer des valeurs de paramètres de ressources sur une ressource, vous devez disposer du rôle Administrateur des paramètres de ressources (roles/resourcesettings.admin
) ou d'un autre rôle comprenant les autorisations suivantes :
resourcesettings.settings.get
resourcesettings.settings.list
resourcesettings.settings.update
Répertorier les paramètres disponibles
Vous pouvez obtenir la liste de tous les paramètres de ressources disponibles pour une ressource donnée. Cette liste affiche tous les paramètres de ressource pouvant être appliqués à la ressource. Les paramètres de ressource en version bêta ne sont disponibles que pour les utilisateurs qui ont été explicitement autorisés à les utiliser.
gcloud
Pour obtenir la liste de tous les paramètres disponibles pour une ressource, exécutez la commande gcloud resource-settings list
suivante:
gcloud resource-settings list --RESOURCE_ID
Où RESOURCE_ID
correspond à l'ID du dossier, du projet ou de l'organisation dont vous souhaitez connaître les paramètres de ressources disponibles.
Par exemple : --project=7890123456
API
Pour obtenir la liste de tous les paramètres disponibles pour une ressource, utilisez l'une des méthodes settings.list
suivantes. Utilisez la méthode correspondant au type de ressource pour lequel vous souhaitez répertorier les paramètres :
curl -X GET -H "Content-Type: application/json" -H \ "Authorization: Bearer $ACCESS_TOKEN" \ https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings
Remplacez les éléments suivants :
ACCESS_TOKEN
: votre jeton d'accès OAuth 2.0.RESOURCE_ID
: ID du dossier, du projet ou de l'organisation pour lequel vous souhaitez rechercher les paramètres de ressources disponibles. Par exemple :projects/7890123456
Exemple de réponse :
Une réponse à une requête "list" sur folders/4567890123
ressemble à ce qui suit :
{ "settings" : [ { "name": "folders/4567890123/settings/net-preferredDnsServers", "metadata": { "displayName": "Preferred DNS Servers", "description": "The DNS servers to be used by VMs associated with this resource.", "read_only": false, "data_type" : "STRING_SET", "default_value" : { "string_set_value" : { "values" : [ "8.8.8.8" ], } } } }, { "name": "folders/4567890123/settings/text-defaultTextColor", "metadata": { "displayName": "Default Text Color", "description": "The default text color for this resource.", "read_only": false, "data_type" : "STRING", "default_value" : { "string_value" : "black" } } }, ... ] }
Le champ name
est le nom court du paramètre de ressource, qui doit être utilisé dans les requêtes API et de la gcloud CLI associées à ce paramètre.
Modifier une valeur de paramètre local
Vous pouvez modifier la valeur locale d'un paramètre de ressource donné. Si vous définissez une valeur de paramètre local, elle remplace tout paramètre de valeur effective hérité. Si vous ne définissez pas la valeur du paramètre local, toute valeur de paramètre local appliquée à une ressource d'ancêtre est héritée, ce qui en fait la valeur effective.
gcloud
Pour modifier la valeur locale d'un paramètre de ressource, exécutez la commande gcloud resource-settings set-value
suivante:
gcloud resource-settings set-value --value-file=FILE_PATH
Remplacez FILE_PATH
par le chemin d'accès à un fichier YAML ou JSON contenant le paramètre de ressource.
Exemple de fichier JSON :
{ "localValue" : { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4", ] } }, "name": "RESOURCE_ID/settings/SETTING_NAME" }
Remplacez les éléments suivants :
RESOURCE_ID
: ID du dossier, du projet ou de l'organisation pour lequel vous souhaitez mettre à jour le paramètre de ressource locale. Par exemple :projects/7890123456
SETTING_NAME
: nom court du paramètre de ressource que vous souhaitez mettre à jour.
Pour annuler la définition d'une valeur de paramètre local sur une ressource, exécutez la commande gcloud resource-settings unset-value
:
gcloud resource-settings unset-value SETTING_NAME \ --RESOURCE_ID
Remplacez les éléments suivants :
SETTING_NAME
: nom court du paramètre de ressource pour lequel vous souhaitez désactiver la valeur locale.RESOURCE_ID
: ID du dossier, du projet ou de l'organisation pour lequel vous souhaitez rechercher les paramètres de ressources disponibles. Par exemple :projects/7890123456
API
Pour modifier la valeur du paramètre local d'un paramètre de ressource sur une ressource, utilisez la méthode settings.patch
. Utilisez la méthode correspondant au type de ressource pour lequel vous souhaitez mettre à jour les paramètres :
curl -X PATCH -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN" -d \ '{ "localValue": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } } ' https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings/net-preferredDnsServers
Remplacez les éléments suivants :
ACCESS_TOKEN
: votre jeton d'accès OAuth 2.0.RESOURCE_ID
: ID du dossier, du projet ou de l'organisation pour lequel vous souhaitez rechercher les paramètres de ressources disponibles. Par exemple :projects/7890123456
Si vous effectuez cette requête sans valeur locale incluse dans le fichier JSON, vous désactivez la valeur des paramètres locaux, et la ressource hérite du paramètre de valeur parent ou utilise la valeur par défaut gérée par Google.
Une fois votre requête envoyée, vous obtenez une réponse incluant la valeur locale créée pour ce paramètre et un champ etag
que vous devez inclure dans les requêtes de mise à jour ultérieures.
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "localValue": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==", }
Afficher le paramètre de valeur locale ou effective
Vous pouvez afficher la valeur locale ou effective d'un paramètre de ressource pour une ressource donnée.
gcloud
Pour afficher la valeur locale d'un paramètre de ressource pour une ressource donnée, exécutez la commande gcloud resource-settings describe
comme suit:
gcloud resource-settings describe SETTING_NAME \ --RESOURCE_ID
Remplacez les éléments suivants :
SETTING_NAME
: nom court du paramètre de ressource pour lequel vous souhaitez rechercher la valeur locale ou effective.RESOURCE_ID
: ID du dossier, du projet ou de l'organisation pour lequel vous souhaitez rechercher les paramètres de ressources disponibles. Par exemple :--project=7890123456
Si vous ajoutez l'option --effective
, vous obtenez la valeur effective telle qu'elle est évaluée pour cette ressource.
API
Pour afficher la valeur locale ou effective d'un paramètre de ressource pour une ressource donnée, utilisez la méthode settings.get
. Utilisez la méthode correspondant au type de ressource pour lequel vous souhaitez répertorier les paramètres :
curl -X GET -H "Content-Type: application/json" -H \ "Authorization: Bearer $ACCESS_TOKEN" \ https://resourcesettings.googleapis.com/v1/RESOURCE_ID \ /settings/SETTING_NAME?view=VIEW_PARAMETER
Remplacez les éléments suivants :
ACCESS_TOKEN
: votre jeton d'accès OAuth 2.0.RESOURCE_ID
: ID du dossier, du projet ou de l'organisation pour lequel vous souhaitez rechercher les paramètres de ressources disponibles. Par exemple :projects/7890123456
SETTING_NAME
: nom court du paramètre de ressource pour lequel vous souhaitez afficher les valeurs.VIEW_PARAMETER
:SETTING_VIEW_LOCAL_VALUE
pour renvoyer la valeur du paramètre local ouSETTING_VIEW_EFFECTIVE_VALUE
pour renvoyer la valeur effective de cette ressource.
Exemple de réponse :
Une réponse à une requête "get" sur folders/4567890123
ressemble à ceci :
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "value": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==" }
Héritage
Le paramètre de ressource qui prend effet sur une ressource donnée est évalué en fonction de l'héritage. Vous pouvez remplacer la valeur héritée d'une ressource en définissant une valeur locale, ce qui affecte également les valeurs de paramètre héritées par les enfants de cette ressource. Pour plus d'informations sur l'héritage des paramètres de ressources, consultez la section Valeurs de paramètre effectives.
Récupérer les valeurs effectives
Vous pouvez récupérer la valeur effective d'un paramètre sur une ressource donnée à l'aide de l'API ou de gcloud CLI. Pour obtenir des instructions détaillées, consultez la section Afficher le paramètre de valeur locale ou effective. Prenons l'exemple suivant, avec les valeurs définies pour le paramètre de ressource des serveurs DNS préférés d'une organisation, d'un dossier de cette organisation et d'un sous-dossier de ce dossier :
Les valeurs effectives de chacune de ces ressources sont évaluées comme suit :
organizations/111
n'a pas de valeur locale et n'a pas de ressource parente à hériter. Il utilise donc la valeur par défaut gérée par Google,8.8.8.8
.- Si vous utilisez la méthode
describe
pour obtenir la valeur effective d'une ressource et qu'elle utilise la valeur par défaut gérée par Google, ces informations sont incluses dans la réponse. Exemple :
{ "name": "organizations/111/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.8.8" ] # Google-managed default } } }
- Si vous utilisez la méthode
folders/222
a un paramètre de valeur locale de8.8.4.4
et n'hérite donc pas de sa ressource parente.- Si vous utilisez la méthode
describe
pour obtenir la valeur effective d'une ressource, et qu'il s'agit d'une valeur définie localement, ces informations sont incluses dans la réponse. Exemple :
{ "name": "folders/222/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # set on folders/222 } } }
- Si vous utilisez la méthode
folders/333
n'a pas de valeur locale, contrairement à sa ressource parente. Il hérite de la valeur de paramètre locale defolders/222
, et renvoie donc8.8.4.4
.- Si vous utilisez la méthode
describe
pour obtenir la valeur effective d'une ressource et qu'elle hérite de cette valeur d'une ressource parente, ces informations sont incluses dans la réponse. Exemple :
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }
- Si vous utilisez la méthode
Remplacer une valeur héritée
Si vous modifiez la valeur du paramètre local folders/333
pour le paramètre "Serveurs DNS préférés", la valeur effective est modifiée. Par exemple, vous utilisez la méthode patch
pour mettre à jour la valeur du paramètre local de folders/333
avec 192.168.1.1
. Pour obtenir des instructions détaillées, consultez la section Modifier une valeur de paramètre local.
Si vous utilisez la méthode describe
sur la ressource folders/333
mise à jour, vous constatez que la valeur effective est désormais 192.168.1.1
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "192.168.1.1" ] # set on folders/333 } } }
Rétablir une valeur héritée
Pour rétablir ce comportement de sorte qu'une ressource hérite de la valeur locale d'un parent, utilisez la méthode d'API patch
sans valeur locale définie dans la requête ou exécutez la commande unset-value
de la gcloud CLI. Pour obtenir des instructions détaillées, consultez la section Modifier une valeur de paramètre local.
Par exemple, si vous annulez la définition de la valeur locale sur folders/333
, celle-ci hérite à nouveau de la valeur effective de la ressource parente la plus proche, folders/222
. Si vous utilisez la méthode describe
sur la ressource folders/333
mise à jour, vous constatez que la valeur effective est désormais 8.8.4.4
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }