Gestione di Resource Settings

Questa guida descrive come gestire le impostazioni delle risorse. Puoi utilizzare lo Impostazioni delle risorse per configurare centralmente le impostazioni per Google Cloud progetti, cartelle e organizzazione. Ogni impostazione delle risorse consente di controllare un aspetto di un servizio supportato.

Prima di iniziare

Per ulteriori informazioni sulle impostazioni delle risorse e sul loro funzionamento, consulta Panoramica delle 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, segui questi passaggi:

Vai su 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 risorsa".
  4. Nei risultati di ricerca, fai clic su "API Resource Settings".
  5. Se "API abilitata" significa che l'API è già abilitata. Se non fai clic sul pulsante Attiva.

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 da eseguire.

Per ottenere queste autorizzazioni, chiedi all'amministratore di concedere il ruolo suggerito all'indirizzo il livello appropriato gerarchia delle risorse.

Visualizza le impostazioni delle risorse

Per visualizzare le impostazioni delle risorse disponibili per l'uso su una risorsa, nonché il locale i valori effettivi di un'impostazione su una risorsa, è necessario il ruolo Visualizzatore impostazioni risorse (roles/resourcesettings.viewer) o un altro che include le seguenti autorizzazioni:

  • resourcesettings.settings.get
  • resourcesettings.settings.list

Amministra le impostazioni delle risorse

Per creare, aggiornare ed eliminare i valori delle impostazioni delle risorse su una risorsa, devi il ruolo di 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 ottenere un elenco di tutte le impostazioni disponibili per una determinata risorsa. Questo che mostra tutte le impostazioni che possono essere applicate alla risorsa. Le impostazioni delle risorse nello stato di anteprima sono disponibili solo per che hanno ricevuto un'esplicita autorizzazione a utilizzarli.

gcloud

Per ottenere un elenco di tutte le impostazioni disponibili per l'uso su una risorsa, utilizza persone che seguo gcloud resource-settings list :

gcloud resource-settings list --RESOURCE_ID

Dove RESOURCE_ID è l'ID della cartella, del progetto o 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'uso su una risorsa, utilizza uno di i seguenti metodi settings.list. Utilizza il metodo che corrisponde il 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 tuo OAuth 2.0 token di accesso.

  • RESOURCE_ID: l'ID della cartella, del progetto o 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 seguenti:

{
  "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 dovrebbe essere utilizzato nelle richieste API e gcloud CLI relative a questa impostazione.

Modificare il valore di un'impostazione locale

Puoi modificare il valore dell'impostazione locale di una determinata impostazione della risorsa. Se imposti un valore dell'impostazione locale, questo sostituisce qualsiasi valore effettivo ereditato l'impostazione del valore. Se annulli l'impostazione del valore dell'impostazione locale, verrà applicato qualsiasi valore applicata a una risorsa di discendenza viene ereditata, rendendola valore.

gcloud

Per modificare il valore dell'impostazione locale per un'impostazione della risorsa, usa le seguenti 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 il file JSON contenente l'impostazione della risorsa.

File JSON di esempio:

{
  "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 organizzazione per cui vuoi aggiornare l'impostazione della risorsa locale. Ad esempio: projects/7890123456

  • SETTING_NAME: il nome breve della risorsa che vuoi aggiornare.

Per annullare l'impostazione di un valore di impostazione locale su una risorsa, utilizza il metodo gcloud resource-settings unset-value :

gcloud resource-settings unset-value SETTING_NAME \
  --RESOURCE_ID

Sostituisci quanto segue:

  • SETTING_NAME: il nome breve della risorsa per cui vuoi annullare l'impostazione del valore locale.

  • RESOURCE_ID: l'ID della cartella, del progetto o 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, utilizza il metodo settings.patch. Utilizza il metodo corrispondente al tipo della 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 tuo OAuth 2.0 token di accesso.

  • RESOURCE_ID: l'ID della cartella, del progetto o organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili. Ad esempio: projects/7890123456

Se effettui questa richiesta senza includere un valore locale nel file JSON, annulla l'impostazione del valore delle impostazioni locali e la risorsa eredita il valore padre o utilizza l'impostazione predefinita gestita da Google.

Dopo aver inviato una richiesta andata a buon fine, riceverai una risposta che include il valore locale creato per questa impostazione e un campo etag da includere nelle successive richieste di aggiornamento.

{
  "name": "folders/4567890123/settings/net-preferredDnsServers",
  "localValue": {
    "stringSetValue": {
      "values": [ "8.8.8.8", "8.8.4.4" ]
    }
  }
  "etag": "O2VWGxZU01VnAfRU4Mu97w==",
}

Visualizza l'impostazione del valore locale o effettivo

Puoi visualizzare il valore locale o effettivo di un'impostazione di risorsa in un determinato risorsa.

gcloud

Per visualizzare il valore locale di un'impostazione di risorsa per una determinata risorsa, utilizza il gcloud resource-settings describe come segue:

gcloud resource-settings describe SETTING_NAME \
  --RESOURCE_ID

Sostituisci quanto segue:

  • SETTING_NAME: il nome breve della risorsa per cui vuoi trovare il valore locale o effettivo.

  • RESOURCE_ID: l'ID della cartella, progetto o organizzazione per cui vuoi trovare le risorse disponibili impostazioni. Ad esempio: --project=7890123456

Se aggiungi il flag --effective, ottieni il valore effettivo così com'è viene valutato per questa risorsa.

API

Visualizzare il valore locale o effettivo di un'impostazione di risorsa in un determinato usa il metodo settings.get. Utilizza il metodo che corrisponde il 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 tuo OAuth 2.0 token di accesso.

  • RESOURCE_ID: l'ID della cartella, del progetto o organizzazione per cui vuoi trovare le impostazioni delle risorse disponibili. Ad esempio: projects/7890123456

  • SETTING_NAME: il nome breve della risorsa per cui vuoi restituire valori.

  • VIEW_PARAMETER: da SETTING_VIEW_LOCAL_VALUE a restituisce il valore dell'impostazione locale oppure SETTING_VIEW_EFFECTIVE_VALUE a per restituire il valore effettivo in questa risorsa.

Esempio di risposta

Una risposta a una richiesta GET su folders/4567890123 è simile alla seguenti:

{
  "name": "folders/4567890123/settings/net-preferredDnsServers",
  "value": {
    "stringSetValue": {
      "values": [ "8.8.8.8", "8.8.4.4" ]
    }
  }
  "etag": "O2VWGxZU01VnAfRU4Mu97w=="
}

Ereditarietà

L'impostazione della risorsa che ha effetto su una determinata risorsa viene valutata in base sull'ereditarietà. Puoi eseguire l'override del valore ereditato su una risorsa impostando un valore locale, che influisce anche sui valori dell'impostazione ereditati da tale valore secondari della risorsa. Per saperne di più sull'ereditarietà delle impostazioni delle risorse, consulta Valori effettivi delle impostazioni.

Recupera i valori effettivi

Puoi recuperare il valore effettivo di un'impostazione su una determinata risorsa utilizzando tramite l'API gcloud o gcloud CLI. Per istruzioni dettagliate, vedi Visualizza l'impostazione del valore locale o effettivo. Considera le dell'esempio seguente, con i valori impostati per la risorsa Server DNS preferiti su un'organizzazione, una cartella al suo interno e una sottocartella all'interno della cartella:

I valori effettivi per ciascuna di queste risorse sono valutati come segue:

  • organizations/111 non ha un valore locale e non ha una risorsa padre per eredita da e utilizza quindi l'impostazione predefinita gestita da Google 8.8.8.8.

    • Se utilizzi il metodo describe per ottenere il valore effettivo su una risorsa, e utilizza l'impostazione predefinita gestita da Google, queste 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 l'impostazione del valore locale 8.8.4.4, quindi non eredita dalla risorsa padre.

    • Se utilizzi il metodo describe per ottenere il valore effettivo su una risorsa, ed è un valore impostato localmente, queste informazioni sono incluse 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, ma la relativa risorsa padre sì. Eredita il valore dell'impostazione locale da folders/222, pertanto viene restituito come 8.8.4.4.

    • Se utilizzi il metodo describe per ottenere il valore effettivo su una risorsa, ed eredita quel valore da una risorsa padre. Queste informazioni vengono incluso 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'opzione Preferita Impostazione Server DNS, che modifica il valore effettivo. Ad esempio, utilizzi Metodo patch per aggiornare il valore dell'impostazione locale folders/333 in 192.168.1.1. Per istruzioni dettagliate, vedi Modificare il valore di un'impostazione locale.

Se utilizzi il metodo describe nella risorsa folders/333 aggiornata, vediamo 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 ripristinare questo comportamento in modo che una risorsa erediti il valore locale da un principale, utilizza il metodo API patch senza alcun valore locale impostato nella query oppure usando il comando unset-value gcloud CLI. Per dettagli istruzioni, vedi Modificare il valore di un'impostazione locale.

Ad esempio, se annulli l'impostazione del valore locale su folders/333, verrà eseguito di nuovo eredita il valore effettivo dalla risorsa padre più vicina, folders/222. Se utilizzi il metodo describe nella risorsa folders/333 aggiornata, vediamo 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
    }
  }
}