Gestione di Resource Settings

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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.

Per visualizzare un elenco delle impostazioni delle risorse disponibili, consulta l'Indice delle impostazioni delle risorse.

attiva l'API

L'API Resource Settings può essere abilitata per singoli progetti.

console Google Cloud

Per abilitare l'API Resource Settings:

Vai a API e servizi

  1. Seleziona il progetto che utilizzerai per accedere all'API.
  2. Fai clic sul pulsante Abilita API e servizio.
  3. Cerca "Impostazioni risorse".
  4. Nei risultati di ricerca, fai clic per "Resource Settings API".
  5. 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

Server

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

Server

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.

Server

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 o SETTING_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 di 8.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
        }
      }
    }
    
  • folders/222 ha un'impostazione del valore locale di 8.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
        }
      }
    }
    
  • folders/333 non ha un valore locale, al contrario della relativa risorsa principale. Eredita il valore dell'impostazione locale da folders/222, quindi restituisce 8.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
        }
      }
    }
    

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
  }
}