Questa guida descrive come gestire le impostazioni delle risorse. Puoi utilizzare le impostazioni delle risorse per configurare centralmente le impostazioni per i progetti, le cartelle e l'organizzazione di Google Cloud. Ogni impostazione delle risorse consente di controllare un aspetto di un servizio supportato.
Prima di iniziare
Per saperne di più sulle impostazioni delle risorse e sul loro funzionamento, consulta la panoramica sulle impostazioni delle risorse.
Abilita l'API
L'API Resource Settings può essere abilitata per singoli progetti.
console Google Cloud
Per abilitare l'API Resource Settings:
- Seleziona il progetto che utilizzerai per accedere all'API.
- Fai clic sul pulsante Abilita API e servizio.
- Cerca "Impostazioni risorse".
- Nei risultati di ricerca, fai clic per "Resource Settings API".
- Se viene visualizzato il messaggio "API abilitata", l'API è già abilitata. In caso contrario, fai clic sul pulsante Abilita.
gcloud
Per abilitare l'API Resource Settings, utilizza il comando gcloud services enable
:
gcloud services enable resourcesettings.googleapis.com
Autorizzazioni obbligatorie
Le autorizzazioni necessarie dipendono dall'azione che devi eseguire.
Per ottenere queste autorizzazioni, chiedi all'amministratore di concedere il ruolo suggerito al livello appropriato della gerarchia delle risorse.
Visualizza le impostazioni delle risorse
Per visualizzare le impostazioni disponibili per una risorsa, nonché il valore locale di un'impostazione efficace per una risorsa, devi avere il ruolo Visualizzatore impostazioni risorse (roles/resourcesettings.viewer
) o un altro ruolo che includa le seguenti autorizzazioni:
resourcesettings.settings.get
resourcesettings.settings.list
Amministrare impostazioni delle risorse
Per creare, aggiornare ed eliminare i valori dell'impostazione di una risorsa, devi avere il ruolo Amministratore impostazioni risorse (roles/resourcesettings.admin
) o un altro ruolo che includa le seguenti autorizzazioni:
resourcesettings.settings.get
resourcesettings.settings.list
resourcesettings.settings.update
Elenca impostazioni disponibili
Puoi visualizzare un elenco di tutte le impostazioni disponibili per una determinata risorsa. L'elenco mostra tutte le impostazioni applicabili alla risorsa. Le impostazioni delle risorse in stato di anteprima sono disponibili solo per gli utenti a cui è stata concessa l'autorizzazione esplicita per utilizzarle.
gcloud
Per ottenere un elenco di tutte le impostazioni disponibili per l'utilizzo su una risorsa, utilizza il comando
gcloud resource-settings list
seguente:
gcloud resource-settings list --RESOURCE_ID
Dove RESOURCE_ID
è l'ID della cartella, del progetto o dell'organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili.
Ad esempio: --project=7890123456
API
Per ottenere un elenco di tutte le impostazioni disponibili per l'utilizzo su una risorsa, utilizza uno dei seguenti metodi settings.list
. Utilizza il metodo corrispondente al tipo di risorsa per cui vuoi elencare le impostazioni:
curl -X GET -H "Content-Type: application/json" -H \ "Authorization: Bearer $ACCESS_TOKEN" \ https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings
Sostituisci quanto segue:
ACCESS_TOKEN
: il token di accesso OAuth 2.0.RESOURCE_ID
: l'ID della cartella, del progetto o dell'organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili. Ad esempio:projects/7890123456
Esempio di risposta
Una risposta a una richiesta di elenco su folders/4567890123
è simile alla seguente:
{ "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" } } }, ... ] }
Il campo name
è il nome breve dell'impostazione della risorsa, che deve essere utilizzato nelle richieste API e interfaccia a riga di comando gcloud relative a tale impostazione.
Modificare il valore di un'impostazione locale
Puoi modificare il valore dell'impostazione locale per una determinata impostazione della risorsa. Se imposti un valore per l'impostazione locale, viene sostituita l'impostazione per i valori effettivi ereditati. Se non imposti il valore dell'impostazione locale, qualsiasi valore di impostazione locale applicato a una risorsa precedente viene ereditato, valore che diventa effettivo.
gcloud
Per modificare il valore dell'impostazione locale per un'impostazione della risorsa su una risorsa, utilizza il seguente comando gcloud resource-settings set-value
:
gcloud resource-settings set-value --value-file=FILE_PATH
Sostituisci FILE_PATH
con il percorso di un file YAML o
JSON che contiene l'impostazione della risorsa.
Esempio di file JSON:
{ "localValue" : { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4", ] } }, "name": "RESOURCE_ID/settings/SETTING_NAME" }
Sostituisci quanto segue:
RESOURCE_ID
: l'ID della cartella, del progetto o dell'organizzazione per cui vuoi aggiornare l'impostazione della risorsa locale. Ad esempio:projects/7890123456
SETTING_NAME
: il nome breve dell'impostazione della risorsa che vuoi aggiornare.
Per annullare l'impostazione di un valore di impostazione locale per una risorsa, utilizza il comando gcloud resource-settings unset-value
:
gcloud resource-settings unset-value SETTING_NAME \ --RESOURCE_ID
Sostituisci quanto segue:
SETTING_NAME
: nome breve dell'impostazione delle risorse per cui vuoi annullare l'impostazione del valore locale.RESOURCE_ID
: l'ID della cartella, del progetto o dell'organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili. Ad esempio:projects/7890123456
API
Per modificare il valore dell'impostazione locale per un'impostazione della risorsa su una risorsa, utilizza il metodo settings.patch
. Utilizza il metodo corrispondente al tipo di risorsa per cui vuoi aggiornare le impostazioni:
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
Sostituisci quanto segue:
ACCESS_TOKEN
: il token di accesso OAuth 2.0.RESOURCE_ID
: l'ID della cartella, del progetto o dell'organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili. Ad esempio:projects/7890123456
Se effettui questa richiesta senza alcun valore locale incluso nel file JSON, il valore delle impostazioni locali viene annullato e la risorsa eredita l'impostazione del valore principale oppure utilizza il valore predefinito gestito da Google.
Dopo aver effettuato una richiesta con esito positivo, ricevi una risposta che include il valore locale che è stato creato per questa impostazione e un campo etag
da includere nelle richieste di aggiornamento successive.
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "localValue": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==", }
Visualizzare l'impostazione locale o del valore effettivo
Puoi visualizzare il valore locale o effettivo di un'impostazione di una risorsa in una data risorsa.
gcloud
Per visualizzare il valore locale di un'impostazione di una risorsa in una determinata risorsa, utilizza il comando
gcloud resource-settings describe
, come segue:
gcloud resource-settings describe SETTING_NAME \ --RESOURCE_ID
Sostituisci quanto segue:
SETTING_NAME
: nome breve dell'impostazione delle risorse per cui vuoi trovare il valore locale o efficace.RESOURCE_ID
: l'ID della cartella, del progetto o dell'organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili. Ad esempio:--project=7890123456
Se aggiungi il flag --effective
, ricevi il valore effettivo poiché viene valutato per questa risorsa.
API
Per visualizzare il valore locale o efficace di un'impostazione di risorse in una determinata risorsa, utilizza il metodo settings.get
. Utilizza il metodo corrispondente al tipo di risorsa per cui vuoi elencare le impostazioni:
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
Sostituisci quanto segue:
ACCESS_TOKEN
: il token di accesso OAuth 2.0.RESOURCE_ID
: l'ID della cartella, del progetto o dell'organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili. Ad esempio:projects/7890123456
SETTING_NAME
: nome breve dell'impostazione delle risorse per cui vuoi restituire i valori.VIEW_PARAMETER
:SETTING_VIEW_LOCAL_VALUE
per restituire il valore dell'impostazione locale oSETTING_VIEW_EFFECTIVE_VALUE
per restituire il valore effettivo per questa risorsa.
Esempio di risposta
Una risposta a una richiesta Get su folders/4567890123
è simile alla seguente:
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "value": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==" }
Ereditarietà
L'impostazione che interessa una determinata risorsa viene valutata in base all'ereditarietà. Puoi sostituire il valore ereditato su una risorsa impostando un valore locale, con un impatto anche sui valori delle impostazioni ereditati dalle relative risorse secondarie. Per ulteriori informazioni sull'ereditarietà delle impostazioni delle risorse, consulta i valori di impostazione effettivi.
Recuperare valori efficaci
Puoi recuperare il valore effettivo di un'impostazione in una determinata risorsa utilizzando l'API o l'interfaccia a riga di comando gcloud. Per istruzioni dettagliate, consulta Visualizzare l'impostazione del valore locale o efficace. Considera l'esempio seguente, con i valori impostati per l'impostazione delle risorse Server DNS preferiti su un'organizzazione, una cartella all'interno di tale organizzazione e una sottocartella all'interno di quella cartella:
I valori effettivi di ciascuna risorsa valutano quanto segue:
organizations/111
non ha un valore locale e non ha una risorsa padre da cui eredita. Pertanto, utilizzerà il valore predefinito gestito da Google di8.8.8.8
.- Se utilizzi il metodo
describe
per ottenere il valore effettivo su una risorsa e utilizzi il valore predefinito gestito da Google, tali informazioni sono incluse nella risposta. Ad esempio:
{ "name": "organizations/111/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.8.8" ] # Google-managed default } } }
- Se utilizzi il metodo
folders/222
ha un'impostazione del valore locale di8.8.4.4
, quindi non eredita dalla risorsa principale.- Se utilizzi il metodo
describe
per ottenere il valore effettivo su una risorsa e si tratta di un valore impostato localmente, tali informazioni sono incluse nella risposta. Ad esempio:
{ "name": "folders/222/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # set on folders/222 } } }
- Se utilizzi il metodo
folders/333
non ha un valore locale, al contrario della relativa risorsa principale. Eredita il valore dell'impostazione locale dafolders/222
, quindi restituisce8.8.4.4
.- Se utilizzi il metodo
describe
per ottenere il valore effettivo su una risorsa, che eredita il valore da una risorsa principale, le informazioni verranno incluse nella risposta. Ad esempio:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }
- Se utilizzi il metodo
Sostituisci valore ereditato
Se modifichi il valore dell'impostazione locale folders/333
per l'impostazione Server DNS preferiti, viene modificato il valore effettivo. Ad esempio, utilizzi il metodo patch
per aggiornare il valore dell'impostazione locale di folders/333
in 192.168.1.1
. Per istruzioni dettagliate, consulta la sezione Modificare il valore di un'impostazione locale.
Se utilizzi il metodo describe
nella risorsa folders/333
aggiornata, vedi che il valore effettivo è ora 192.168.1.1
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "192.168.1.1" ] # set on folders/333 } } }
Ripristina il valore ereditato
Per annullare questo comportamento in modo che una risorsa erediti il valore locale da un elemento padre, utilizza il metodo API patch
senza alcun valore locale impostato nella query oppure utilizzando il comando gcloud CLI unset-value
. Per istruzioni dettagliate, consulta la sezione Modificare il valore di un'impostazione locale.
Ad esempio, se non imposti il valore locale su folders/333
, il valore effettivo erediterà di nuovo la risorsa principale più vicina, folders/222
. Se utilizzi il metodo describe
nella risorsa folders/333
aggiornata, noti che il valore effettivo è ora 8.8.4.4
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }