Para garantir que os recursos na sua organização não estejam usando o agente de inicialização de contêiner descontinuado e os gce-container-declarationmetadados relacionados, o Google recomenda que você aplique uma política da organização. A restrição gerenciada compute.managed.disableVmsWithContainerStartupAgent, quando aplicada, desativa a criação de recursos que usam os metadados descontinuados.
Este documento explica como fazer o seguinte:
- Aplique uma política da organização para desativar a criação de instâncias do Compute Engine que usam o agente de inicialização de contêineres.
- Monitore o impacto da política da organização aplicando-a no modo de teste.
- Identifique os projetos que tentam usar o agente descontinuado com a Análise de registros.
Aplique a política da organização para desativar a criação de VMs que usam os metadados do contêiner.
Para evitar a criação de recursos que usam o agente de inicialização de contêineres descontinuado, o Google recomenda que você aplique uma política da organização.
A restrição constraints/compute.managed.disableVmsWithContainerStartupAgent impede que novos recursos sejam criados com a chave de metadados gce-container-declaration. Essa restrição não afeta
instâncias ou modelos de instância atuais.
É possível aplicar essa restrição usando o console Google Cloud , a Google Cloud CLI ou a API Compute Engine.
Console
Para definir a política da organização usando o console, siga estas etapas:
No console do Google Cloud , acesse a página Políticas da organização.
No seletor de projetos, selecione o projeto, a pasta ou a organização em que você quer editar as políticas da organização.
A página Políticas da organização mostra uma lista das restrições de políticas da organização disponíveis.
Selecione a restrição Desativar a criação de instâncias do Compute Engine que usam o agente de inicialização de contêiner descontinuado (konlet) na lista de restrições. A página Detalhes da política que aparece descreve a restrição e fornece informações sobre a aplicação dela.
Para atualizar a política da organização nesse recurso, clique em Gerenciar política.
Na página Editar política, clique em Substituir a política do recurso pai.
Selecione Adicionar uma regra.
Em Aplicação, selecione Ativada.
Se quiser visualizar o impacto da mudança na política da organização antes da aplicação, clique em Testar mudanças. Para mais informações sobre como testar mudanças nas políticas da organização, consulte Testar mudanças na política da organização com o Simulador de política.
Para aplicar a política da organização no modo de teste, clique em Definir política de simulação. Para mais informações, consulte Criar uma política da organização no modo de simulação com base em uma política ativa.
Depois de verificar se a política da organização no modo de simulação funciona como pretendido, clique em Definir política para definir a política ativa.
gcloud
Crie um arquivo YAML para definir a política da organização.
name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: trueSubstitua:
RESOURCE_TYPEpororganizations,foldersouprojects.RESOURCE_IDcom o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE.
O exemplo a seguir mostra um arquivo YAML que impõe a política da organização para o projeto com ID
123456:name: projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: truePara tornar a política da organização condicional em uma tag, adicione um bloco
conditionaorules. Se você adicionar uma regra condicional a uma política da organização, precisará incluir pelo menos uma regra não condicional. Caso contrário, a não será possível salvar a política. Para mais detalhes, consulte Como definir uma política da organização com tags.Execute o comando
org-policies set-policycom a flagdryRunSpecpara definir a política da organização no modo de simulação:gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpecSubstitua
POLICY_PATHpelo caminho completo para o arquivo YAML da política da organização.Para mais informações sobre políticas da organização de simulação, consulte Criar uma política da organização no modo de simulação.
Use o comando
policy-intelligence simulate orgpolicypara visualizar o impacto da mudança na política da organização antes que ela seja aplicada:gcloud policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --policies=POLICY_PATHSubstitua:
ORGANIZATION_IDpelo ID da organização, como1234567890123. Não é possível simular mudanças em várias organizações.POLICY_PATHcom o caminho completo do arquivo YAML da política da organização.
Para mais informações sobre como testar mudanças na política da organização, consulte Testar mudanças na política da organização com o Simulador de política.
Depois de verificar se a política da organização no modo de simulação funciona como pretendido, defina a política ativa com o comando
org-policies set-policye a flagspec:gcloud org-policies set-policy POLICY_PATH \ --update-mask=specSubstitua
POLICY_PATHpelo caminho completo para o arquivo YAML da política da organização.
REST
Para definir a política da organização, use o método
organizations.policies.create.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
O corpo JSON da solicitação contém a definição de uma política da organização.
Se essa restrição não aceitar parâmetros, omita o bloco parameters em rules.
{
"name": "RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
Substitua:
RESOURCE_TYPEpororganizations,foldersouprojects.RESOURCE_IDcom o ID da organização, da pasta, do ID do projeto ou o número do projeto, dependendo do tipo de recurso especificado emRESOURCE_TYPE.
O exemplo a seguir mostra um corpo de solicitação que impõe a política da organização para o projeto com o ID 123456:
{
"name": "projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent",
"spec": {
"rules": [
{
"enforce": true,
}
]
},
"dryRunSpec": {
"rules": [
{
"enforce": true,
}
]
}
}
```
Optionally, to make the organization policy conditional on a tag, add a
`condition` block to the `rules`. If you add a conditional rule to an
organization policy, you must add at least one unconditional rule or the
policy cannot be saved. For more details, see
[Setting an organization policy with tags](/resource-manager/docs/organization-policy/tags-organization-policy).
For more information about dry-run organization policies, see
[Create an organization policy in dry-run mode](/resource-manager/docs/organization-policy/dry-run-policy).
Monitore o uso dos metadados descontinuados aplicando a política no modo de teste.
Em vez de aplicar a política diretamente, o que bloqueia a criação de instâncias que usam os metadados de declaração de contêiner, é possível aplicar a política no modo de simulação. Essa configuração permite monitorar e registrar ações que a política pode bloquear, sem interferir nas operações. Para mais informações, consulte Criar uma política da organização no modo de simulação.
Quando uma ação aciona a política de teste (por exemplo, se você tentar
criar uma instância com a chave de metadados gce-container-declaration), uma entrada de
registro será gerada nos Registros de auditoria do Cloud.
Para identificar projetos que tentam usar o agente descontinuado, siga estas etapas:
No console do Google Cloud , acesse a página Análise de registros.
No painel Consulta, insira a seguinte consulta:
protoPayload.metadata.dryRun="true" protoPayload.methodName="CheckOrgPolicy" protoPayload.resourceName =~ "/compute.managed.disableVmsWithContainerStartupAgent"Clique em Executar consulta.
Identifique os projetos que tentam usar o agente descontinuado revisando as entradas de registro. Os registros de violações de simulação têm as seguintes características:
- Eles estão relacionados a
orgpolicy.googleapis.com. - O campo
protoPayload.metadata.dryRunestá definido comotrue. - A restrição
constraints/compute.managed.disableVmsWithContainerStartupAgenté incluída nos detalhes da violação.
- Eles estão relacionados a
Analise as informações nos registros de auditoria para entender onde e por que o agente descontinuado ainda está sendo usado. Essas informações podem orientar os esforços para migrar essas cargas de trabalho para alternativas compatíveis.
Depois de verificar se a política da organização no modo de simulação funciona como pretendido, aplique a política mudando o estado de aplicação do modo de simulação para ativo.
Para mais informações sobre como usar a Análise de registros, consulte Ver registros usando a Análise de registros.