Use políticas de sistema operacional para manter configurações de software consistentes em instâncias de máquinas virtuais (VM) Linux e Windows.
Antes de começar
- Revise a política do SO e a atribuição da política do SO .
- Revise as cotas de configuração do sistema operacional .
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Administrador OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentAdmin
). Contém permissões para criar, excluir, atualizar, obter e listar atribuições de políticas do sistema operacional. - Editor OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentEditor
). Contém permissões para atualizar, obter e listar atribuições de políticas do sistema operacional. - Visualizador OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentViewer
). Contém permissões de acesso somente leitura para obter e listar atribuições de políticas do sistema operacional. -
PROJECT_ID
: o ID do projeto -
USER_ID
: o nome de usuário do Google Workspace do usuário - Configure o Gerenciador de VM .
- Atribua as permissões necessárias aos usuários.
- Revise a política do SO e a atribuição da política do SO .
- Crie os recursos de política do SO .
Para criar e implementar a atribuição de política de SO, utilize um dos seguintes métodos:
Console
Para criar e implementar uma atribuição de política de SO, conclua as seguintes etapas:
- No seu cliente local, crie ou baixe uma política de sistema operacional. Deve ser um arquivo JSON ou YAML. Para obter mais informações sobre a criação de políticas de SO ou para visualizar exemplos de políticas de SO, consulte Políticas de SO .
No console do Google Cloud, acesse a página de políticas do SO .
Clique em Criar atribuição de política de SO .
Na seção ID de Atribuição , forneça um nome para a atribuição de política do SO. Consulte Convenção de nomenclatura de recursos .
Na seção Políticas do SO , carregue o arquivo de políticas do SO.
Na seção Instâncias de VM de destino , especifique as VMs de destino.
- Selecione a zona que contém as VMs às quais você deseja aplicar a política.
- Selecione as famílias de sistemas operacionais.
- Opcional: você pode filtrar ainda mais as VMs especificando rótulos de inclusão e exclusão.
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
Especifique um plano de implementação.
- Especifique o tamanho da onda (também conhecido como orçamento de interrupção). Por exemplo, 10%.
- Especifique o tempo de espera. Por exemplo, 15 minutos.
Clique em Iniciar implementação .
gcloud
Para criar e implementar uma atribuição de política de SO em uma zona, conclua as etapas a seguir:
Crie um recurso de atribuição de política de SO no formato JSON ou YAML. Este arquivo define as políticas do sistema operacional que você deseja aplicar às suas VMs, as VMs de destino às quais você deseja aplicar as políticas e a taxa de implementação na qual as políticas do sistema operacional serão aplicadas. Para obter mais informações sobre esse arquivo e atribuições de exemplo, consulte Atribuição de política do sistema operacional .
Use o comando
os-config os-policy-assignments create
para criar e implementar a atribuição de política do sistema operacional em um local especificado.gcloud compute os-config os-policy-assignments create OS_POLICY_ASSIGNMENT_ID \ --location=ZONE \ --file=OS_POLICY_ASSIGNMENT_FILE \ --async
Substitua o seguinte:
-
OS_POLICY_ASSIGNMENT_ID
: nome da atribuição da política do SO. Consulte Convenção de nomenclatura de recursos . -
ZONE
: zona na qual criar a atribuição de política do SO. -
OS_POLICY_ASSIGNMENT_FILE
: o caminho absoluto para o arquivo de atribuição de política do SO que você criou na etapa anterior.
Exemplo
gcloud compute os-config os-policy-assignments create my-os-policy-assignment \ --location=asia-south1-a \ --file=/downloads/assignment-config.yaml \ --async
A saída é semelhante à seguinte:
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.
-
Anote o nome completo do recurso para a operação. No exemplo anterior, o nome completo do recurso é:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Você pode usar esse nome de recurso totalmente qualificado para obter detalhes de uma implementação ou para cancelar uma implementação. Consulte Implementações .
Terraforma
Para criar uma atribuição de política de SO, use o recurso
google_os_config_os_policy_assignment
.O exemplo a seguir verifica se o servidor web Apache está sendo executado em VMs CentOS.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .
DESCANSAR
Para criar uma atribuição de política de SO no seu cliente local, conclua as etapas a seguir:
Crie uma atribuição de política de SO. Este deve ser um arquivo JSON. Para obter mais informações sobre como criar atribuições de políticas de SO ou para visualizar exemplos de atribuições de políticas de SO, consulte Atribuição de políticas de SO .
Se quiser usar a atribuição de política do sistema operacional YAML de amostra, você deverá convertê-la em JSON.
Na API, crie uma solicitação
POST
para o métodoprojects.locations.osPolicyAssignments.create
.No corpo da solicitação, cole as especificações de atribuição de política do SO da etapa anterior.
POST https://osconfig.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/OSPolicyAssignments?osPolicyAssignmentId=OS_POLICY_ASSIGNMENT_ID { JSON_OS_POLICY }
Substitua o seguinte:
-
PROJECT_ID
: o ID do seu projeto -
OS_POLICY_ASSIGNMENT_ID
: nome da atribuição de política do SO -
JSON_OS_POLICY
: as especificações de atribuição de política do SO criadas na etapa anterior. Deve estar no formato JSON. Para obter mais informações sobre os parâmetros e o formato, consulteResource: OSPolicyAssignment
. -
ZONE
: zona para criar a atribuição de política do SO em
Exemplo
Por exemplo, para criar uma atribuição de política de SO para o Google Cloud Observability que instala agentes de monitoramento e registro em VMs selecionadas usando a atribuição de política de SO de exemplo , conclua as etapas a seguir:
- Converta a amostra em JSON
- Faça a seguinte solicitação:
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 } } }
-
No console do Google Cloud, acesse a página de políticas do SO .
Clique na guia Atribuições de políticas do SO .
Para a atribuição de política do SO cuja implementação você deseja cancelar, clique em Ação ( > Cancelar implementação .
)Clique em Cancelar implementação .
- Saiba mais sobre as políticas do sistema operacional .
- Gerenciar atribuições de políticas do SO .
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Sistemas operacionais suportados
Para obter uma lista completa de sistemas operacionais e versões que suportam políticas de SO, consulte Detalhes do sistema operacional .
Permissões
Como você pode usar políticas de SO para instalar e gerenciar pacotes de software em uma VM, a criação e o gerenciamento de políticas de SO equivalem a conceder acesso de execução remota de código em uma VM. Quando você configura políticas do sistema operacional, as permissões do IAM são usadas para controlar o acesso aos recursos da política e as atividades são registradas em log de auditoria.
Os proprietários de um projeto têm acesso total para criar e gerenciar atribuições de políticas de SO. Para todos os outros usuários, você precisa conceder permissões. Você pode conceder uma das seguintes funções granulares:
Comando de exemplo para definir permissões
Para conceder acesso de administrador a um usuário para atribuições de políticas do sistema operacional, execute o seguinte comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member user:USER_ID@gmail.com \ --role roles/osconfig.osPolicyAssignmentAdmin
Substitua o seguinte:
Criar uma atribuição de política de SO
Para criar e implementar uma atribuição de política de SO, conclua as seguintes etapas:
Lançamentos
As atribuições de políticas do sistema operacional são implantadas de acordo com uma taxa de implantação. Isto significa que as atribuições que visam um conjunto de VMs podem ser implantadas gradualmente e não são aplicadas a todas as VMs imediatamente. As alterações são implementadas gradualmente para lhe dar a oportunidade de intervir e cancelar uma implementação se novas alterações causarem regressões.
Quando as chamadas de método para uma API podem levar muito tempo para serem concluídas, a API retorna operações de longa duração (LRO). Para obter mais informações sobre LROs, consulte Operações de longa duração .
A API OS Config cria uma LRO sempre que você cria, atualiza ou exclui uma atribuição de política de SO. Cada LRO retorna um recurso de operação. Este recurso de operação é semelhante ao seguinte:
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.
Cada operação de criação, atualização ou exclusão também gera uma nova revisão de atribuição de política do sistema operacional. Para visualizar as revisões de uma atribuição de política de sistema operacional, consulte Listar revisões de atribuição de política de sistema operacional .
Você pode usar a CLI do Google Cloud para ver os detalhes de um lançamento ou para cancelar um lançamento.
Obtenha detalhes de um lançamento
Para obter detalhes de uma implementação, use o comando
os-config os-policy-assignments operations describe
.gcloud compute os-config os-policy-assignments operations describe FULLY_QUALIFIED_OPERATION_NAME
Substitua
FULLY_QUALIFIED_OPERATION_NAME
pelo nome completo do recurso para a operação retornada da operação de criação, atualização ou exclusão.Exemplo
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
Exemplo de saída
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
Cancelar um lançamento
Console
gcloud
Para cancelar uma implementação, use o comando
gcloud compute os-config os-policy-assignments operations cancel
.gcloud compute os-config os-policy-assignments operations cancel FULLY_QUALIFIED_OPERATION_NAME
Substitua
FULLY_QUALIFIED_OPERATION_NAME
pelo nome completo do recurso para a operação retornada da operação de criação, atualização ou exclusão.Exemplo
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 o comando for bem-sucedido, nenhuma saída será retornada.
O que vem a seguir?
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-