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 mais informações, consulte a definição de recursos 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 saber mais, consulte a definição de recursos
para OSPolicyAssignment
.
Política de SO
Uma política de SO é um arquivo JSON ou YAML que tem três seções:
modo de cada campo. O comportamento da política. Os dois modos a seguir estão disponíveis:
Validation
: para este modo, a política verifica se os recursos estão no estado pretendido, mas não realizam nenhuma ação.Enforcement
: nesse modo, a política verifica se os recursos estão no estado desejado e, se não estiverem, executa as ações necessárias para trazê-los para esse estado.
Para ambos os modos, o VM Manager informa a conformidade com a política do SO e os recursos associados.
Grupos de recursos. O nome e a versão do sistema operacional a que as especificações de recursos associadas se aplicam. Por exemplo, é possível 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 pretendida. É possível 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 do Linux e do Windowsrepository
: usado para especificar de quais pacotes de software de repositório podem ser instaladosexec
: usado para ativar a execução de um script ad hoc shell (/bin/sh
) ou PowerShell.file
: usado para gerenciar arquivos no sistema
Exemplo de políticas do SO
Os exemplos a seguir mostram como criar políticas de SO. É possível 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 comparativo de mercado do CIS em VMs que executam o Container-Optimized OS (COS). Para mais informações sobre como usar a política do SO para a verificação de comparativo de mercado do CIS, consulte Automatizar a ativação e a verificação do status de conformidade do CIS.
Para ver uma lista completa das políticas de SO de amostra que podem ser aplicadas no seu ambiente, consulte o repositório GoogleCloudPlatform/osconfig do GitHub.
Exemplo 1
Crie uma política do SO que instale um arquivo MSI do Windows transferido de um bucket do Cloud Storage.
Exemplo 2
Crie uma política de SO que verifique se o servidor da Web Apache está em execução nas VMs do Linux.
Exemplo 3
Crie uma política de SO que verifique se o servidor da Web Apache está em execução
nas VMs do 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 SO que instale os agentes do Google Cloud Observability nas VMs do CentOS.
Example 5
Configura a verificação periódica de CIS de nível 1 com o período padrão de uma vez por dia.
Atribuição de política do SO
Uma atribuição de política do SO tem as seguintes seções:
Políticas de SO. Uma ou mais políticas do SO que você quer aplicar à VM; Para fazer o download ou criar uma política, consulte as Políticas do SO.
VMs de destino. Um conjunto de VMs em uma única zona à qual você quer aplicar a política. Em uma zona, é possível limitar ou restringir as VMs usando famílias do SO e incluir ou excluir rótulos. É possível selecionar uma combinação das seguintes opções:
- Famílias de SO: especifica os sistemas operacionais de destino aplicáveis à política de SO. Para ver uma lista completa de sistemas operacionais e versões compatíveis com políticas de SO, consulte Detalhes do sistema operacional.
- Incluir conjunto: especifica as VMs a que a política do SO se aplica com base nos rótulos da VM ou do sistema.
- Excluir conjunto: especifica as VMs que a política de SO precisa ignorar com base nos rótulos da VM ou do sistema.
Para conjuntos de inclusão e exclusão de rótulos, um único rótulo de string será aceito se corresponder à convenção de nomenclatura usada pelo sistema. No entanto, a maioria dos rótulos é especificada em pares
key:value
. Para mais informações sobre rótulos, consulte Como rotular recursos.Por exemplo, é possível selecionar todas as VMs do Ubuntu no ambiente de teste e excluir aquelas que executam o Google Kubernetes Engine. Basta especificar o seguinte:
- Família do SO:
ubuntu
- Incluir:
env:test
,env:staging
- Excluir:
goog-gke-node
Uma taxa de lançamento. Especifica o ritmo em que as políticas do sistema operacional serão aplicadas às VMs. As políticas do SO são lançadas gradualmente para permitir que você acompanhe a integridade do sistema e faça modificações se as atualizações causarem regressões no seu ambiente. Um plano de lançamento tem os seguintes componentes:
- Tamanho da onda (orçamento de interrupção): o número fixo ou a porcentagem de VMs que podem passar por um lançamento de uma só vez. Isso significa que, a qualquer momento do lançamento, apenas um número específico de VMs é segmentado.
- Tempo de espera: o tempo entre o momento em que o serviço aplica políticas à VM e quando uma VM é removida do limite de interrupção. Por exemplo, um tempo de espera de 15 minutos significa que o processo de lançamento precisa aguardar 15 minutos após aplicar as políticas a uma VM antes de removê-la do limite de interrupção e o lançamento pode continuar. O tempo de espera ajuda a controlar a velocidade de um lançamento e também permite identificar e resolver possíveis problemas com antecedência. Selecione um período longo o suficiente para monitorar o status dos lançamentos.
Por exemplo, se você definir um destino de 10 VMs, definir o limite de interrupção para 20% e definir um tempo de preparação de 15 minutos, será preciso programar a atualização de apenas duas VMs a qualquer momento. Depois que cada VM é atualizada, 15 minutos precisam ser removidos para que ela seja removida do limite de interrupção e outra VM seja adicionada ao lançamento.
Para mais informações sobre lançamentos, consulte Lançamentos.
Exemplo de atribuição de políticas do SO
Os exemplos a seguir mostram como criar atribuições de política do SO. Você pode usar esses exemplos para criar atribuições de política do SO na Google Cloud CLI ou na 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 uma lista de atribuições de política de amostra do SO que podem ser aplicadas no seu ambiente, consulte o repositório GoogleCloudPlatform/osconfig do GitHub.
Exemplo 1
Crie uma atribuição de política de SO que instale um arquivo MSI do Windows transferido por download de um bucket do Cloud Storage.
Exemplo 2
Crie uma atribuição de política do SO que verifique se o servidor da Web Apache está em execução em todas as VMs do Linux.
Exemplo 3
Cria uma atribuição de política de SO que instale os agentes do Google Cloud Observability nas VMs do CentOS.
A seguir
- Saiba mais sobre as políticas do SO.
- Crie uma atribuição de política do SO.
- Gerencie políticas do SO.