Este documento descreve como gravar regras personalizadas usando a linguagem de política Rego. É possível usar essas regras no Workload Manager para avaliar suas cargas de trabalho em relação às práticas recomendadas definidas para sua organização.
Para mais informações, consulte Sobre regras personalizadas no Workload Manager.
Antes de começar
- Familiarize-se com a linguagem de política Rego.
Gravar regras personalizadas usando o Rego
O Google oferece um repositório de amostra do GitHub com um conjunto de regras predefinidas que podem ser usadas para avaliar suas cargas de trabalho. Essas amostras abrangem vários casos de uso.
Selecione regras no repositório ou crie um arquivo de regra (.rego) que descreva seus requisitos de avaliação.
Uma regra personalizada tem as seguintes seções:
Metadados. Os campos a seguir definem os metadados da regra:
DETAILS: uma breve descrição da regra.SEVERITY: um valor definido pelo usuário que define a gravidade da violação da regra. Por exemplo,HIGH,CRITICAL,MEDIUMouLOW.ASSET_TYPE: um dos recursos compatíveis. Consulte Fontes de dados compatíveis.TAGS: uma ou mais tags para a regra. Essas tags ajudam a filtrar as regras.
Declaração de pacote. Por exemplo,
templates.google.compute.instance.label.Instruções de importação. Por exemplo,
data.validator.google.lib as lib.Definições de regra. Um conjunto de instruções que define a regra.
Exemplo de regras
As regras de amostra a seguir estão disponíveis no repositório GoogleCloudPlatform/workload-manager do GitHub. É possível fazer upload dessas regras para o bucket do Cloud Storage e usá-las para executar as avaliações. Como alternativa, modifique as regras de acordo com as políticas da sua organização e, em seguida, faça upload dos arquivos para um bucket do Cloud Storage.
- Exemplo 1: garante que haja pelo menos um rótulo para suas VMs.
- Exemplo 2: garante que sua carga de trabalho não use a conta de serviço padrão do Compute Engine.
- Exemplo 3: garante que as VMs na sua carga de trabalho não usem um endereço IP externo.
Para uma lista completa de regras de amostra que podem ser usadas no Workload Manager, consulte o GoogleCloudPlatform/workload-manager repositório do GitHub.
Exemplo 1
Garante que haja pelo menos uma tag para os recursos do Compute Engine.
Exemplo 2
Garante que sua carga de trabalho não use a conta de serviço padrão do Compute Engine.
Exemplo 3
Garante que as VMs na sua carga de trabalho não usem um endereço IP externo.
Fazer upload da regra para um bucket do Cloud Storage
Depois de criar o arquivo .rego, faça upload dele para um bucket do Cloud Storage. O nível superior do bucket do Cloud Storage precisa incluir as pastas /lib e /rules:
libparameters.regoutils.rego
/rulesrule_name1.regorule_name2.rego
A seguir
- Saiba mais sobre as avaliações de carga de trabalho.
- Aprenda a criar e executar uma avaliação.