Para garantir que os recursos da sua organização não estejam usando o agente de inicialização de contêiner (konlet) descontinuado e os metadados gce-container-declaration 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:
- Aplicar 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êiner.
- Monitorar o impacto da política da organização aplicando-a no modo de teste.
- Identificar projetos que tentam usar o agente de inicialização de contêiner descontinuado com a Análise de registros.
Aplicar 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êiner 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 Google Cloud console, 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 Google Cloud console do, 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 da restrição.
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 Restrição, selecione Ativada.
Opcional: para visualizar o impacto da mudança na política da organização antes de ela ser aplicada, clique em Testar mudanças. 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.
Para aplicar a política da organização no modo de simulação, clique em Definir política de simulação. Para mais informações, consulte Criar uma política da organização no modo de teste a partir de uma política ativa.
Depois de verificar se a política da organização no modo de teste funciona como esperado, defina a política ativa clicando em Definir política.
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_IDpelo ID da organização, ID da pasta, 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 aplica a política da organização para o projeto com um ID de
123456:name: projects/123456/policies/compute.managed.disableVmsWithContainerStartupAgent spec: rules: - enforce: true dryRunSpec: rules: - enforce: trueOpcional: para tornar a política da organização condicional em uma tag, adicione um bloco
conditionàsrules. 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
org-policies set-policycomando com adryRunSpecflag para definir a política da organização no modo de teste: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 teste, consulte Criar uma política da organização no modo de teste.
Use o
policy-intelligence simulate orgpolicycomando para visualizar o impacto da mudança na política da organização antes de ela ser 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_PATHpelo caminho completo para o 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 teste funciona como esperado, 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
organizations.policies.create
método.
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_IDpelo ID da organização, ID da pasta, 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 aplica a política da organização para o projeto com um ID de 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).
Monitorar 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, você pode aplicar a política no modo de teste. Essa configuração permite monitorar e registrar todas as 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 teste .
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 de inicialização de contêiner descontinuado, siga estas etapas:
No Google Cloud console do, 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 de inicialização de contêiner descontinuado revisando as entradas de registro. Os registros de violações de teste 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.disableVmsWithContainerStartupAgentestá incluída nos detalhes da violação.
- Eles estão relacionados a
Revise as informações nos registros de auditoria para entender onde e por que o agente de inicialização de contêiner 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 teste funciona como esperado, aplique a política mudando o estado de aplicação do modo de teste para o modo ativo.
Para mais informações sobre como usar a Análise de registros, consulte Ver registros usando a Análise de registros.