Un criterio del sistema operativo è un file che contiene la configurazione dichiarativa per le risorse del sistema operativo, come pacchetti, repository, file o risorse personalizzate definite dagli script. Per ulteriori informazioni, consulta la definizione della risorsa per OSPolicy
.
Un'assegnazione del criterio del sistema operativo è una risorsa API utilizzata da VM Manager per applicare i criteri del sistema operativo alle VM. Per ulteriori informazioni, consulta la definizione della risorsa per OSPolicyAssignment
.
Policy sistema operativo
Un criterio del sistema operativo è un file JSON o YAML con tre sezioni:
Modalità. Il comportamento del criterio. Sono disponibili le seguenti due modalità:
Validation
: in questa modalità, il criterio controlla se le risorse sono nello stato scelto, ma non esegue alcuna azione.Enforcement
: per questa modalità, il criterio controlla se le risorse sono nello stato scelto e, in caso contrario, esegue le azioni necessarie per impostarle su questo stato.
Per entrambe le modalità, VM Manager segnala la conformità al criterio del sistema operativo e alle risorse associate.
Gruppi di risorse. Il nome e la versione del sistema operativo a cui si applicano le specifiche delle risorse associate. Ad esempio, puoi definire un singolo criterio per installare o implementare un agente su diverse distribuzioni e versioni del sistema operativo.
Risorse. Le specifiche necessarie per consentire alla VM di raggiungere la configurazione selezionata. Puoi specificare un massimo di 10 ID risorsa in ogni gruppo di risorse. Sono supportati i seguenti tipi di risorse:
pkg
: utilizzato per installare o rimuovere pacchetti Linux e Windowsrepository
: utilizzato per specificare da quale repository è possibile installare i pacchetti softwareexec
: utilizzato per attivare l'esecuzione di una shell ad hoc (/bin/sh
) o di uno script PowerShellfile
: utilizzato per gestire i file sul sistema
Esempi di criteri del sistema operativo
Gli esempi riportati di seguito mostrano come creare criteri del sistema operativo. Puoi caricare questi criteri del sistema operativo nella console Google Cloud quando crei un'assegnazione di criteri del sistema operativo.
- Esempio 1: installa un pacchetto.
- Esempio 2: esegue uno script.
- Esempio 3: esegue uno script archiviato in un bucket Cloud Storage e copia il file di output in un altro bucket Cloud Storage.
- Esempio 4: specifica un repository di download e installa i pacchetti da quel repository.
- Esempio 5: configura la scansione del benchmark CIS sulle VM in esecuzione su Container-Optimized OS (COS). Per ulteriori informazioni sull'utilizzo dei criteri del sistema operativo per la scansione del benchmark CIS, consulta Automatizzare l'attivazione e il controllo dello stato di conformità al CIS.
Per un elenco completo di criteri di sistema operativo di esempio che puoi applicare nel tuo ambiente, consulta il repository GitHub GoogleCloudPlatform/osconfig.
Esempio 1
Crea un criterio del sistema operativo che installi un file MSI di Windows scaricato da un bucket Cloud Storage.
Esempio 2
Crea un criterio del sistema operativo che verifichi se il server web Apache è in esecuzione sulle tue VM Linux.
Esempio 3
Crea un criterio del sistema operativo che verifichi se il server web Apache è in esecuzione sulle tue VM Linux. In questo esempio, lo script apache-validate.sh
è archiviato in un bucket Cloud Storage. Per copiare l'output in un bucket Cloud Storage,
lo script apache-enforce.sh
deve includere un comando simile al seguente:
gcsutil cp my-exec-output-file gs://my-gcs-bucket
Esempio 4
Crea un criterio del sistema operativo che installi gli agenti di Google Cloud Observability sulle VM CentOS.
Esempio 5
Configura la scansione periodica CIS di Livello 1 con il periodo predefinito di una volta al giorno.
Assegnazione dei criteri del sistema operativo
Un'assegnazione dei criteri del sistema operativo contiene le seguenti sezioni:
Norme del sistema operativo. Uno o più criteri del sistema operativo da applicare alla VM. Per scaricare o creare un criterio, consulta Criteri del sistema operativo.
VM target. Un insieme di VM all'interno di un'unica zona a cui vuoi applicare il criterio. All'interno di una zona puoi limitare o restringere le VM utilizzando le famiglie di sistemi operativi e includere o escludere le etichette. Puoi selezionare una combinazione delle seguenti opzioni:
- Famiglie di sistemi operativi: specifica i sistemi operativi di destinazione a cui si applica il criterio del sistema operativo. Per un elenco completo dei sistemi operativi e delle versioni che supportano i criteri del sistema operativo, consulta Dettagli del sistema operativo.
- Set di inclusione: specifica le VM a cui si applica il criterio del sistema operativo in base alle etichette della VM o del sistema.
- Set di esclusione: specifica le VM che il criterio del sistema operativo deve ignorare in base alle etichette della VM o del sistema.
Per i set di etichette di inclusione ed esclusione, è accettata una singola etichetta di stringa se corrisponde alla convenzione di denominazione utilizzata dal sistema. Tuttavia, la maggior parte delle etichette viene specificata in coppie
key:value
. Per saperne di più sulle etichette, consulta Etichettare le risorse.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
- Sono inclusi:
env:test
,env:staging
- Escludi:
goog-gke-node
Una percentuale di implementazione. Specifica la velocità con cui applicare i criteri del sistema operativo alle VM. Le norme del sistema operativo vengono implementate gradualmente per consentirti di monitorare l'integrità del sistema e apportare modifiche se gli aggiornamenti causano regressioni nell'ambiente. Un piano di implementazione è costituito dai seguenti componenti:
- Dimensioni dell'ondata (budget di interruzione): il numero fisso o la percentuale di VM che possono essere implementate contemporaneamente. Ciò significa che in qualsiasi momento dell'implementazione viene scelto come target solo un numero specifico di VM.
- Tempo di attesa: il tempo che intercorre tra il momento in cui il servizio applica i criteri alla VM e il momento in cui una VM viene rimossa dalla soglia di interruzione. Ad esempio, un tempo di attesa di 15 minuti indica che il processo di implementazione deve attendere 15 minuti dopo l'applicazione dei criteri a una VM prima di poter rimuovere la VM dalla soglia di interruzione e procedere con l'implementazione. Il tempo di attesa consente di controllare la velocità di implementazione e anche di rilevare e risolvere tempestivamente potenziali problemi di implementazione. Seleziona un periodo di tempo sufficiente per monitorare lo stato degli implementamenti.
Ad esempio, se imposti un target di 10 VM, imposti la soglia di interruzione su 20% e imposti un tempo di applicazione di 15 minuti, in un determinato momento solo 2 VM sono programmate per essere aggiornate. Dopo l'aggiornamento di ogni VM, devono trascorrere 15 minuti prima che la VM venga rimossa dalla soglia di interruzione e un'altra VM venga aggiunta al rollout.
Per ulteriori informazioni sulle implementazioni, consulta la sezione Implementazioni.
Esempio di assegnazione dei criteri del sistema operativo
Gli esempi riportati di seguito mostrano come creare assegnazioni dei criteri del sistema operativo. Puoi utilizzare questi esempi per creare assegnazioni di criteri del sistema operativo da Google Cloud CLI o dall'API OS Config.
- Esempio 1: installa un pacchetto.
- Esempio 2: esegue uno script.
- Esempio 3: specifica un repository di download e installa i pacchetti da quel repository.
Per un elenco di esempi di assegnazioni di criteri del sistema operativo che puoi applicare nel tuo ambiente, consulta il repository GitHub GoogleCloudPlatform/osconfig.
Esempio 1
Crea un'assegnazione dei criteri del sistema operativo che installa un file MSI di Windows scaricato da un bucket Cloud Storage.
Esempio 2
Crea un'assegnazione dei criteri del sistema operativo che verifichi se il server web Apache è in esecuzione su tutte le tue VM Linux.
Esempio 3
Crea un'assegnazione dei criteri del sistema operativo che installa gli agenti di Google Cloud Observability sulle VM CentOS.
Passaggi successivi
- Scopri di più sui criteri del sistema operativo.
- Crea un'assegnazione dei criteri del sistema operativo.
- Gestisci i criteri del sistema operativo.