Use políticas de SO para manter configurações de software consistentes em instâncias de máquinas virtuais (VMs) Linux e Windows.
Antes de começar
- Reveja a política do SO e a atribuição da política do SO.
- Reveja as quotas de configuração do SO.
- Para gerar registos de auditoria para eventos do VM Manager, ative os registos de auditoria de acesso a dados.
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
- Set a default region and zone.
Terraform
Para usar os exemplos do Terraform nesta página num ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure as credenciais predefinidas da aplicação com as suas credenciais de utilizador.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para mais informações, consulte Set up authentication for a local development environment.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Sistemas operativos compatíveis
Para ver uma lista completa dos sistemas operativos e das versões que suportam as políticas de SO, consulte os detalhes do sistema operativo.
Autorizações
Uma vez que pode usar políticas do SO para instalar e gerir pacotes de software numa VM, a criação e a gestão de políticas do SO equivalem a conceder acesso à execução de código remoto numa VM. Quando configura políticas do SO, as autorizações de IAM são usadas para controlar o acesso aos recursos da política e as atividades são registadas em auditoria.
Os proprietários de um projeto têm acesso total para criar e gerir atribuições de políticas de SO. Para todos os outros utilizadores, tem de conceder autorizações. Pode conceder uma das seguintes funções detalhadas:
- Administrador de OSPolicyAssignment (
roles/osconfig.osPolicyAssignmentAdmin
). Contém autorizações para criar, eliminar, atualizar, obter e listar atribuições de políticas do SO. - Editor de atribuições de políticas do SO (
roles/osconfig.osPolicyAssignmentEditor
). Contém autorizações para atualizar, obter e listar atribuições de políticas do SO. - Visualizador de atribuições de políticas de SO (
roles/osconfig.osPolicyAssignmentViewer
). Contém autorizações para acesso só de leitura para obter e listar atribuições de políticas de SO.
Exemplo de comando para definir autorizações
Para conceder acesso de administrador a um utilizador para atribuições de políticas do SO, 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:
PROJECT_ID
: o ID do projetoUSER_ID
: o nome de utilizador do Google Workspace do utilizador
Crie uma atribuição de política de SO
Para criar e implementar uma atribuição de política do SO, conclua os seguintes passos:
- Configure o Gestor de VMs.
- Atribua as autorizações necessárias aos utilizadores.
- Reveja a política do SO e a atribuição da política do SO.
- Crie os recursos da política do SO.
Para criar e implementar a atribuição da política de SO, use um dos seguintes métodos:
Consola
Para criar e implementar uma atribuição de política do SO, conclua os seguintes passos:
- No cliente local, crie ou transfira uma política de SO. Tem de ser um ficheiro JSON ou YAML. Para mais informações sobre a criação de políticas de SO ou para ver exemplos de políticas de SO, consulte o artigo Políticas de SO.
Na Trusted Cloud consola, aceda à página Políticas de SO.
Clique em Criar zonal.
Na secção ID de atribuição, indique um nome para a atribuição da política do SO. Consulte a Convenção de nomenclatura de recursos.
Na secção Políticas de SO, carregue o ficheiro de políticas de SO.
Na secção Instâncias de VM de destino, especifique as VMs de destino.
- Selecione a zona que contém as VMs às quais quer aplicar a política.
- Selecione as famílias de SO.
- Opcional: pode filtrar ainda mais as VMs especificando etiquetas de inclusão e exclusão.
Por exemplo, pode selecionar todas as VMs Ubuntu no seu ambiente de teste e excluir as que estão a executar 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 numa zona, conclua os seguintes passos:
Crie um recurso de atribuição de política do SO no formato JSON ou YAML. Este ficheiro define as políticas de SO que quer aplicar às suas VMs, as VMs de destino às quais quer aplicar as políticas e a taxa de implementação à qual quer aplicar as políticas de SO. Para mais informações sobre este ficheiro e exemplos de atribuições, consulte o artigo Atribuição de políticas de SO.
Use o comando
os-config os-policy-assignments create
para criar e implementar a atribuição da política do SO numa localização especificada.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 a Convenção de nomenclatura de recursos.ZONE
: zona na qual criar a atribuição da política do SO.OS_POLICY_ASSIGNMENT_FILE
: o caminho absoluto para o ficheiro de atribuição de políticas do SO que criou no passo anterior.
Exemplo
gcloud compute os-config os-policy-assignments create my-os-policy-assignment \ --location=asia-south1-a \ --file=/downloads/assignment-config.yaml \ --async
O resultado é 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.
Tome nota do nome do recurso totalmente qualificado para a operação. No exemplo anterior, o nome do recurso totalmente qualificado é:
projects/384123488288/locations/asia-south1-a/osPolicyAssignments/my-os-policy-assignment/operations/fb2011d6-61de-46f1-afdb-bc96bdb3fbaa
Pode usar este nome do recurso totalmente qualificado para obter detalhes de uma implementação, ou para cancelar uma implementação. Consulte a secção Implementações.
Terraform
Para criar uma atribuição de política de SO, use o
google_os_config_os_policy_assignment
recurso.O exemplo seguinte verifica se o servidor Web Apache está a ser executado em VMs do CentOS.
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
REST
Para criar uma atribuição de política de SO no seu cliente local, conclua os seguintes passos:
Crie uma atribuição de política de SO. Tem de ser um ficheiro JSON. Para mais informações sobre a criação de atribuições de políticas do SO ou para ver exemplos de atribuições de políticas do SO, consulte o artigo Atribuição de políticas do SO.
Se quiser usar a atribuição de política de SO YAML de exemplo, tem de a converter em JSON.
Na API, crie um pedido
POST
para o métodoprojects.locations.osPolicyAssignments.create
.No corpo do pedido, cole as especificações de atribuição da política do SO do passo 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 projetoOS_POLICY_ASSIGNMENT_ID
: nome da atribuição da política do SOJSON_OS_POLICY
: as especificações de atribuição de políticas do SO criadas no passo anterior. Tem de estar no formato JSON. Para mais informações sobre os parâmetros e o formato, consulteResource: OSPolicyAssignment
.ZONE
: zona na qual criar a atribuição da política do SO
Exemplo
Por exemplo, para criar uma atribuição de política de SO para o Google Cloud Observability que instala agentes de monitorização e registo em VMs selecionadas através da atribuição de política de SO de exemplo, conclua os seguintes passos:
- Converta o exemplo em JSON
- Faça o seguinte pedido:
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 } } }
Implementações
As atribuições de políticas de SO são implementadas de acordo com uma taxa de implementação. Isto significa que as atribuições que segmentam um conjunto de VMs podem ser implementadas 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 as novas alterações causarem regressões.
Quando as chamadas de métodos para uma API podem demorar muito tempo a serem concluídas, a API devolve operações de longa duração (LRO). Para mais informações acerca das LROs, consulte o artigo Operações de longa duração.
A API OS Config cria um LRO sempre que cria, atualiza ou elimina uma atribuição de política do SO. Cada LRO devolve 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 eliminação também gera uma nova revisão da atribuição de políticas do SO. Para ver as revisões de uma atribuição de política do SO, consulte o artigo Liste as revisões de atribuições de políticas do SO.
Pode usar a CLI Google Cloud para obter os detalhes de uma implementação ou cancelar uma implementação.
Obtenha detalhes de uma implementação
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 de recurso totalmente qualificado da operação devolvida pela operação de criação, atualização ou eliminaçã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 resultado
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
Cancele uma implementação
Consola
Na Trusted Cloud consola, aceda à página Políticas de SO.
Clique no separador Atribuições zonais.
Para a atribuição de política de SO cuja implementação quer cancelar, clique em Ação (> Cancelar implementação.
)Clique em Cancelar implementação.
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 de recurso totalmente qualificado da operação devolvida pela operação de criação, atualização ou eliminaçã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, não é devolvido nenhum resultado.
O que se segue?
- Saiba mais acerca das políticas de SO.
- Faça a gestão das atribuições de políticas do SO.
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-09-29 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-29 UTC."],[],[],null,[]] -