Utilizza i criteri del sistema operativo per mantenere configurazioni software coerenti su istanze di macchine virtuali (VM) Linux e Windows.
Prima di iniziare
- Rivedi Criteri del sistema operativo e assegnazione dei criteri del sistema operativo.
- Esamina le quote di OS Config.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- OSPolicyAssignment Admin (
roles/osconfig.osPolicyAssignmentAdmin
). Contiene le autorizzazioni per creare, eliminare, aggiornare, recuperare ed elencare le assegnazioni dei criteri del sistema operativo. - Editor OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
). Contiene le autorizzazioni per aggiornare, recuperare ed elencare le assegnazioni dei criteri del sistema operativo. - Visualizzatore OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
). Contiene le autorizzazioni per l'accesso di sola lettura per recuperare ed elencare le assegnazioni dei criteri del sistema operativo. PROJECT_ID
: l'ID progettoUSER_ID
: il nome utente Google Workspace dell'utente- Configura VM Manager.
- Assegna le autorizzazioni richieste agli utenti.
- Consulta la sezione Criteri del sistema operativo e assegnazione dei criteri.
- Crea le risorse dei criteri del sistema operativo.
Per creare e implementare l'assegnazione dei criteri del sistema operativo, utilizza uno dei seguenti metodi:
Console
Per creare ed eseguire il deployment di un'assegnazione dei criteri del sistema operativo, completa i seguenti passaggi:
- Sul client locale, crea o scarica un criterio del sistema operativo. Deve essere un un file JSON o YAML. Per saperne di più sulla creazione di criteri del sistema operativo o per visualizzare criteri di esempio, consulta Criteri del sistema operativo.
Nella console Google Cloud, vai alla pagina Criteri del sistema operativo.
Fai clic su Crea assegnazione criteri del sistema operativo.
Nella sezione ID assegnazione, specifica un nome per il criterio di sistema operativo compito. Consulta Convenzione di denominazione delle risorse.
Nella sezione Criteri del sistema operativo, carica il file dei criteri del sistema operativo.
Nella sezione Istanze VM di destinazione, specifica le VM di destinazione.
- Seleziona la zona che contiene le VM a cui vuoi applicare norme.
- Seleziona le famiglie di sistemi operativi.
- (Facoltativo) Puoi filtrare ulteriormente le VM specificando includi, ed escludere le etichette.
Ad esempio, puoi selezionare tutte le VM Ubuntu nel tuo ambiente di test ed escludere quelle su cui è in esecuzione Google Kubernetes Engine specificando quanto segue:
- Famiglia di sistemi operativi:
ubuntu
- Includi:
env:test
,env:staging
- Escludi:
goog-gke-node
Specifica un piano di implementazione.
- Specifica la dimensione dell'onda (nota anche come budget per l'interruzione). ad esempio 10%.
- Specifica il tempo di attesa. Ad esempio, 15 minuti.
Fai clic su Avvia implementazione.
gcloud
Per creare e implementare un'assegnazione dei criteri del sistema operativo in una zona, completa seguenti passaggi:
Crea una risorsa di assegnazione dei criteri del sistema operativo in formato JSON o YAML. Questo file definisce i criteri del sistema operativo che vuoi applicare alle VM, le VM di destinazione a cui vuoi applicare i criteri e la velocità di implementazione con cui applicare i criteri del sistema operativo. Per ulteriori informazioni su questo file e sulle assegnazioni di esempio, consulta l'articolo Assegnazione dei criteri del sistema operativo.
Utilizza la Comando
os-config os-policy-assignments create
per creare e implementare l'assegnazione dei criteri del sistema operativo in una posizione specificata.gcloud compute os-config os-policy-assignments create OS_POLICY_ASSIGNMENT_ID \ --location=ZONE \ --file=OS_POLICY_ASSIGNMENT_FILE \ --async
Sostituisci quanto segue:
OS_POLICY_ASSIGNMENT_ID
: il nome dell'assegnazione del criterio del sistema operativo. Consulta la Convenzione di denominazione delle risorse.ZONE
: la zona in cui creare l'assegnazione dei criteri del sistema operativo.OS_POLICY_ASSIGNMENT_FILE
: il percorso assoluto del file di assegnazione dei criteri del sistema operativo che hai creato nel passaggio precedente.
Esempio
gcloud compute os-config os-policy-assignments create my-os-policy-assignment \ --location=asia-south1-a \ --file=/downloads/assignment-config.yaml \ --async
L'output è simile al seguente:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Prendi nota del nome completo della risorsa per l'operazione. Nell'esempio precedente, il nome risorsa completo è:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Puoi utilizzare questo nome risorsa completo per ottenere i dettagli di un'implementazione, o annullare un'implementazione. Consulta la sezione Implementazioni.
Terraform
Per creare un'assegnazione dei criteri del sistema operativo, utilizza
google_os_config_os_policy_assignment
risorsa.L'esempio seguente verifica se il server web Apache è in esecuzione sulle VM CentOS.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Per creare un'assegnazione dei criteri del sistema operativo sul client locale, completa la seguenti passaggi:
Crea un'assegnazione dei criteri del sistema operativo. Deve essere un file JSON. Per per ulteriori informazioni sulla creazione di assegnazioni dei criteri del sistema operativo esempi di assegnazioni dei criteri del sistema operativo, consulta Assegnazione dei criteri del sistema operativo.
Se vuoi utilizzare l'assegnazione dei criteri relativi al sistema operativo YAML di esempio, devi convertirla in JSON.
Nell'API, crea una richiesta
POST
all'evento Metodoprojects.locations.osPolicyAssignments.create
.Nel corpo della richiesta, incolla le specifiche di assegnazione dei criteri del sistema operativo dal passaggio precedente.
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { JSON_OS_POLICY }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoOS_POLICY_ASSIGNMENT_ID
: nome dell'assegnazione del criterio del sistema operativoJSON_OS_POLICY
: l'assegnazione dei criteri del sistema operativo specifiche create nel passaggio precedente. Deve essere in formato JSON. Per ulteriori informazioni sui parametri e sul formato, consultaResource: OSPolicyAssignment
.ZONE
: zona in cui creare l'assegnazione dei criteri del sistema operativo
Esempio
Ad esempio, per creare un'assegnazione dei criteri del sistema operativo per Google Cloud Observability che installa gli agenti Monitoring e Logging sulle VM selezionate utilizzando Esempio di assegnazione dei criteri del sistema operativo, completa i seguenti passaggi:
- Converti l'esempio in JSON
- Effettua la seguente richiesta:
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { "osPolicies": [ { "id": "setup-repo-and-install-package-policy", "mode": "ENFORCEMENT", "resourceGroups": [ { "resources": [ { "id": "setup-repo", "repository": { "yum": { "id": "google-cloud-monitoring", "displayName": "Google Cloud Monitoring Agent Repository", "baseUrl": "https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el8-x86_64-all", "gpgKeys": [ "https://packages.cloud.google.com/yum/doc/yum-key.gpg", "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg" ] } } }, { "id": "install-pkg", "pkg": { "desiredState": "INSTALLED", "yum": { "name": "stackdriver-agent" } } } ] } ] } ], "instanceFilter": { "inclusionLabels": [ { "labels": { "used_for": "testing" } } ] }, "rollout": { "disruptionBudget": { "fixed": 10 }, "minWaitDuration": { "seconds": 300 } } }
Nella console Google Cloud, vai alla Criteri del sistema operativo.
Fai clic sulla scheda Assegnazioni criteri del sistema operativo.
Per l'assegnazione del criterio del sistema operativo di cui vuoi annullare l'implementazione, fai clic su Azione (> Annulla implementazione.
)Fai clic su Annulla implementazione.
- Scopri di più sui criteri del sistema operativo.
- Gestisci le assegnazioni dei criteri del sistema operativo.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Sistemi operativi supportati
Per un elenco completo dei sistemi operativi e delle versioni che supportano i criteri del sistema operativo, consulta Dettagli del sistema operativo.
Autorizzazioni
Poiché puoi utilizzare i criteri del sistema operativo per installare e gestire i pacchetti software su una VM, la creazione e la gestione dei criteri del sistema operativo equivale a concedere l'accesso all'esecuzione di codice remoto su una VM. Quando configuri i criteri del sistema operativo, le autorizzazioni IAM vengono utilizzate per controllare l'accesso alle risorse dei criteri e le attività vengono registrate nei log di controllo.
I proprietari di un progetto hanno accesso completo per creare e gestire le assegnazioni dei criteri del sistema operativo. Per tutti gli altri utenti, devi concedere le autorizzazioni. Puoi concedere uno dei seguenti ruoli granulari:
Comando di esempio per impostare le autorizzazioni
Per concedere a un utente l'accesso amministrativo per le assegnazioni dei criteri del sistema operativo, esegui la seguente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Sostituisci quanto segue:
Crea un'assegnazione dei criteri del sistema operativo
Per creare ed eseguire il deployment di un'assegnazione dei criteri del sistema operativo, completa i seguenti passaggi:
Implementazioni
Le assegnazioni dei criteri del sistema operativo vengono implementate in base a una frequenza di implementazione. Questo significa che il deployment delle assegnazioni che hanno come target un insieme di VM può essere eseguito gradualmente e non vengono applicate subito a tutte le VM. Le modifiche vengono implementate gradualmente per darti la possibilità di intervenire e annullare un'implementazione se le nuove modifiche causano regressioni.
Quando le chiamate ai metodi di un'API potrebbero richiedere molto tempo per essere completate, l'API restituisce un'operazione a lunga esecuzione (LRO). Per ulteriori informazioni sulle operazioni a lungo termine, consulta Operazioni a lungo termine.
L'API OS Config crea un LRO ogni volta che crei, aggiorni o elimini un'assegnazione di criteri del sistema operativo. Ogni LRO restituisce una risorsa dell'operazione. Questa operazione è simile alla seguente:
Create request issued for: [my-os-policy-assignment] Check operation [projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa] for status.
Ogni operazione di creazione, aggiornamento o eliminazione genera anche nuova revisione dell'assegnazione dei criteri del sistema operativo. Per visualizzare le revisioni di un'assegnazione di criteri del sistema operativo, consulta Elenca le revisioni delle assegnazioni dei criteri del sistema operativo.
Puoi utilizzare Google Cloud CLI per ottenere i dettagli di un'implementazione, oppure per annullare un'implementazione.
Visualizzare i dettagli di un'implementazione
Per ottenere i dettagli di un'implementazione, utilizza il comando
os-config os-policy-assignments operations describe
.gcloud compute os-config os-policy-assignments operations describe FULLY_QUALIFIED_OPERATION_NAME
Sostituisci
FULLY_QUALIFIED_OPERATION_NAME
con la un nome di risorsa qualificato per l'operazione restituita dalla creazione, un'operazione di aggiornamento o eliminazione.Esempio
gcloud compute os-config os-policy-assignments operations describe \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Output di esempio
done: true metadata: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignmentOperationMetadata apiMethod: CREATE osPolicyAssignment: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment@cfb78790-41d8-40d1-b8a1-1eaf6011b909 rolloutStartTime: '2021-04-15T00:53:52.963569Z' rolloutState: SUCCEEDED rolloutUpdateTime: '2021-04-15T00:53:53.094041Z' name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/cfb78790-41d8-40d1-b8a1-1eaf6011b909 response: '@type': type.googleapis.com/google.cloud.osconfig.$$api-version$$.OSPolicyAssignment baseline: true description: My test policy instanceFilter: inclusionLabels: - labels: label-key-not-targeting-instances: label-value-not-targeting-instances name: projects/3841234882888/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment osPolicies: - id: q-test-policy mode: ENFORCEMENT resourceGroups: - osFilter: osShortName: centos osVersion: '7' resources: - id: add-repo repository: yum: baseUrl: https://packages.cloud.google.com/yum/repos/google-cloud-ops-agent-el7-x86_64-all
Annullare un'implementazione
Console
gcloud
Per annullare un'implementazione, utilizza Comando
gcloud compute os-config os-policy-assignments operations cancel
.gcloud compute os-config os-policy-assignments operations cancel FULLY_QUALIFIED_OPERATION_NAME
Sostituisci
FULLY_QUALIFIED_OPERATION_NAME
con la un nome di risorsa qualificato per l'operazione restituita dalla creazione, un'operazione di aggiornamento o eliminazione.Esempio
gcloud compute os-config os-policy-assignments operations cancel \ projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Se il comando ha esito positivo, non viene restituito alcun output.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-10-14 UTC.
-