Uma política do SO é um arquivo que contém a configuração declarativa para recursos do SO, como pacotes, repositórios, arquivos ou recursos personalizados definidos por scripts. Para obter mais informações, consulte a definição de recurso para OSPolicy
.
Uma atribuição de política de SO é um recurso de API usado pelo VM Manager para aplicar políticas de SO a VMs. Para obter mais informações, consulte a definição de recurso para OSPolicyAssignment
.
Política do sistema operacional
Uma política de sistema operacional é um arquivo JSON ou YAML que possui três seções:
Modo . O comportamento político. Os dois modos a seguir estão disponíveis:
-
Validation
: neste modo, a política verifica se os recursos estão no estado escolhido, mas não realiza nenhuma ação. -
Enforcement
: para este modo, a política verifica se os recursos estão no estado escolhido e, caso não estejam, executa as ações necessárias para trazê-los para esse estado escolhido.
Para ambos os modos, o VM Manager reporta conformidade com a política do SO e os recursos associados.
-
Grupos de recursos . O nome e a versão do sistema operacional aos quais as especificações de recurso associadas se aplicam. Por exemplo, você pode definir uma única política para instalar ou implantar um agente em diferentes distribuições e versões de sistemas operacionais.
Recursos . As especificações necessárias para que a VM atinja a configuração selecionada. Você pode especificar no máximo 10 IDs de recursos em cada grupo de recursos. Os seguintes tipos de recursos são suportados:
-
pkg
: usado para instalar ou remover pacotes Linux e Windows -
repository
: usado para especificar quais pacotes de software de repositório podem ser instalados -
exec
: usado para permitir a execução de um shell ad hoc (/bin/sh
) ou script do PowerShell file
: usado para gerenciar arquivos no sistema
-
Exemplo de políticas de sistema operacional
Os exemplos a seguir mostram como criar políticas de sistema operacional. Você pode fazer upload dessas políticas de SO para o console do Google Cloud ao criar uma atribuição de política de SO.
- Exemplo 1: instala um pacote.
- Exemplo 2: executa um script.
- Exemplo 3: executa um script armazenado em um bucket do Cloud Storage e copia o arquivo de saída para um bucket do Cloud Storage.
- Exemplo 4: especifica um repositório de download e instala pacotes desse repositório.
- Exemplo 5: configura a verificação de benchmark CIS em VMs que executam o Container-Optimized OS (COS). Para obter mais informações sobre como usar a política do sistema operacional para verificação de benchmark do CIS, consulte Automatizar a habilitação e a verificação do status de conformidade do CIS .
Para obter uma lista completa de exemplos de políticas de sistema operacional que você pode aplicar em seu ambiente, consulte o repositório GoogleCloudPlatform/osconfig GitHub.
Exemplo 1
Crie uma política de sistema operacional que instale um MSI do Windows baixado de um bucket do Cloud Storage.
Exemplo 2
Crie uma política de SO que verifique se o servidor web Apache está em execução nas suas VMs Linux.
Exemplo 3
Crie uma política de SO que verifique se o servidor web Apache está em execução nas suas VMs Linux. Neste exemplo, o script apache-validate.sh
é armazenado em um bucket do Cloud Storage. Para copiar a saída para um bucket do Cloud Storage, o script apache-enforce.sh
precisa incluir um comando semelhante a este:
gcsutil cp my-exec-output-file gs://my-gcs-bucket
Exemplo 4
Crie uma política de sistema operacional que instale agentes de observabilidade do Google Cloud em VMs CentOS.
Exemplo 5
Configura a verificação periódica do CIS Nível 1 com o período padrão de uma vez por dia.
Atribuição de política de sistema operacional
Uma atribuição de política de SO tem as seguintes seções:
Políticas de SO . Uma ou mais políticas de SO que você deseja aplicar à sua VM. Para baixar ou criar uma política, consulte Políticas de SO .
VMs de destino . Um conjunto de VMs em uma única zona à qual você deseja aplicar a política. Dentro de uma zona você pode limitar ou restringir VMs usando famílias de sistemas operacionais e incluir ou excluir rótulos. Você pode selecionar uma combinação das seguintes opções:
- Famílias de SO: especifica os sistemas operacionais de destino aos quais a política de SO se aplica. Para obter uma lista completa de sistemas operacionais e versões que suportam políticas de SO, consulte Detalhes do sistema operacional .
- Conjunto de inclusão: especifica as VMs às quais a política do sistema operacional se aplica com base em rótulos de VM ou de sistema.
- Conjunto de exclusão: especifica as VMs que a política do sistema operacional deve ignorar com base na VM ou nos rótulos do sistema.
Para conjuntos de rótulos de inclusão e exclusão, um único rótulo de string será aceito se corresponder à convenção de nomenclatura usada pelo sistema. No entanto, a maioria dos rótulos são especificados em pares
key:value
. Para obter mais informações sobre rótulos, consulte Rotulagem de recursos .Por exemplo, você pode selecionar todas as VMs do Ubuntu em seu ambiente de teste e excluir aquelas que executam o Google Kubernetes Engine, especificando o seguinte:
- Família de SO:
ubuntu
- Incluir:
env:test
,env:staging
- Excluir:
goog-gke-node
Uma taxa de implementação . Especifica o ritmo no qual as políticas de sistema operacional serão aplicadas às VMs. As políticas do sistema operacional são implementadas gradualmente para permitir que você monitore a integridade do sistema e faça modificações se as atualizações causarem regressões em seu ambiente. Um plano de implementação tem os seguintes componentes:
- Tamanho da onda (orçamento de interrupção): o número fixo ou porcentagem de VMs que podem passar por uma implementação de uma só vez. Isto significa que, em qualquer momento da implementação, apenas um número específico de VMs será direcionado.
- Tempo de espera: o tempo entre o momento em que o serviço aplica políticas à VM e o momento em que uma VM é removida do limite de interrupção. Por exemplo, um tempo de espera de 15 minutos significa que o processo de implementação deve esperar 15 minutos após a aplicação das políticas a uma VM antes de poder remover a VM do limite de interrupção e a implementação poder prosseguir. O tempo de espera ajuda a controlar a velocidade de uma implementação e também permite detectar e resolver possíveis problemas de implementação antecipadamente. Selecione um tempo que seja longo o suficiente para monitorar o status de suas implementações.
Por exemplo, se você definir uma meta de 10 VMs, definir o limite de interrupção em 20% e definir um tempo de preparação de 15 minutos, então, a qualquer momento, apenas 2 VMs serão agendadas para serem atualizadas. Após a atualização de cada VM, devem passar 15 minutos antes que a VM seja removida do limite de interrupção e outra VM seja adicionada à implementação.
Para obter mais informações sobre implementações, consulte Implementações .
Exemplo de atribuição de política de SO
Os exemplos a seguir mostram como criar atribuições de política de SO. Você pode usar estes exemplos para criar atribuições de políticas de SO a partir da CLI do Google Cloud ou da API OS Config.
- Exemplo 1: instala um pacote.
- Exemplo 2: executa um script.
- Exemplo 3: especifica um repositório de download e instala pacotes desse repositório.
Para obter uma lista de exemplos de atribuições de política de sistema operacional que você pode aplicar em seu ambiente, consulte o repositório GoogleCloudPlatform/osconfig GitHub.
Exemplo 1
Crie uma atribuição de política de SO que instale um MSI do Windows baixado de um bucket do Cloud Storage.
Exemplo 2
Crie uma atribuição de política de SO que verifique se o servidor web Apache está em execução em todas as suas VMs Linux.
Exemplo 3
Cria uma atribuição de política de SO que instala agentes de observabilidade do Google Cloud em VMs CentOS.
O que vem a seguir?
- Saiba mais sobre as políticas do sistema operacional .
- Crie uma atribuição de política de SO .
- Gerenciar políticas do sistema operacional .