Noções básicas sobre restrições

Uma restrição é aplicada em um serviço do GCP ou em uma lista de serviços do GCP. Pense na restrição como um esquema que define quais comportamentos são controlados. Esse esquema é então aplicado a um node da hierarquia de recursos como uma política da organização, que implementa as regras definidas na restrição. O serviço do GCP mapeado para essa restrição e associado a esse node da hierarquia de recursos aplicará as restrições configuradas na política da organização.

Uma restrição tem um tipo, que determina os valores da política da organização que podem ser inseridos e usados para aplicar a aplicação. O serviço do GCP em aplicação avaliará o tipo e o valor da restrição para determinar o controle empregado.

Durante a avaliação da hierarquia, a política da organização definida no node da hierarquia de recursos entra em vigor. Se inheritFromParent for definido como TRUE, a mesclagem de herança entrará em vigor.

Atributos da restrição

Toda restrição é definida por estes atributos:

  • Nome: o nome exclusivo da restrição.
    • Por exemplo, constraints/compute.disableSerialPortAccess.
  • Nome de exibição: o nome legível da restrição
  • Descrição: detalhes sobre quais aplicações são implementadas e por quais serviços do GCP
  • Comportamento padrão: comportamento na ausência de configuração definida pelo usuário na política


Tipos de restrições

Restrição de lista

Com uma restrição de lista, é possível permitir ou não uma lista de valores definidos em uma política da organização. Essa lista de valores é expressa como uma string de subárvore de hierarquia. Com a string de subárvore, é feita a especificação do tipo de recurso a que se aplica. Por exemplo, uma lista de códigos de projeto na forma de projects/PROJECT_ID para constraints/compute.trustedImageProjects.

Veja, na tabela a seguir, algumas configurações de restrição comuns para aplicação da política:

Política Configuração da restrição
Permitir um conjunto específico de valores Definir o campo de valores permitidos (ListPolicy.allowed_values) para uma lista de strings
Definir ListPolicy.all_values como ALL_VALUES_UNSPECIFIED
Negar um conjunto específico de valores Definir o campo de valores negados (ListPolicy.denied_values) como uma lista de strings
Definir ListPolicy.all_values como ALL_VALUES_UNSPECIFIED
Negar um valor e todos os seus valores filhos Definir o campo de valores negados (ListPolicy.denied_values) para uma string de subárvore, como organizations/1234
Definir ListPolicy.all_values como ALL_VALUES_UNSPECIFIED
Permitir todos os valores válidos Definir ListPolicy.all_values como ALLOW
Não definir ListPolicy.allowed_values nem ListPolicy.denied_values
Negar todos os valores Definir ListPolicy.all_values como DENY
Não definir ListPolicy.allowed_values nem ListPolicy.denied_values

Os valores também podem receber um prefixo no formato “prefixo:valor”, que fornece o significado extra de valor:

  • is: - É aplicada uma comparação com o valor exato. Esse é o mesmo comportamento de quando não há um prefixo e é obrigatório quando o valor inclui o sinal de dois pontos.
  • under: - É aplicada uma comparação ao valor e a todos os seus valores filhos. Se um recurso for permitido ou negado com este prefixo, seus recursos filhos também serão negados. O valor fornecido precisa ser uma string de subárvore de hierarquia, como nos exemplos a seguir:
    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
    • projects/PROJECT_ID

Algumas restrições não são compatíveis com o uso de strings de subárvores de hierarquia como valores. Para informações sobre as restrições compatíveis com o uso de prefixos de valor da subárvore de hierarquia, veja Restrições da política da organização.

Os prefixos de valor da subárvore de hierarquia são um recurso beta, podem ser alterados tornando-se incompatíveis com versões anteriores e não estão sujeitos a SLAs ou políticas de suspensão de uso. Para mais informações sobre o uso de valores prefixados em restrições, consulte Configurar a aplicação em uma subárvore de hierarquia.

Se nenhuma lista de valores for fornecida, o padrão que entra em vigor, dependendo da restrição específica, poderá ser:

  • ALLOW: qualquer valor válido é permitido.
  • DENY: nenhum valor é permitido.

Restrição booleana

Uma restrição booleana está em aplicação ou não. A política é aplicada definindo Policy.enforced como True.

Por exemplo, constraints/compute.disableSerialPortAccess terá dois estados possíveis:

  • TRUE: a restrição disableSerialPortAccess é aplicada e o acesso à porta serial não é permitido.
  • FALSE: a restrição disableSerialPortAccess não é aplicada nem verificada, portanto, o acesso à porta serial é permitido.

Se nenhuma política for definida ou a política estiver definida como RestoreDefault, o acesso à porta serial será permitido, porque a restrição padrão é permitir.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Resource Manager