Definições de Política do Azure negam efeito
O deny
efeito é usado para impedir uma solicitação de recurso que não corresponde aos padrões definidos por meio de uma definição de política e falha na solicitação.
Negar avaliação
Ao criar ou atualizar um recurso correspondente em um modo do Gerenciador de Recursos, negar impede que a solicitação seja enviada ao Provedor de Recursos. A solicitação é retornada como um 403 (Forbidden)
arquivo . No portal, o Forbidden
pode ser visto como um status de implantação que foi impedido pela atribuição de política. Para um modo Provedor de Recursos, o provedor de recursos gerencia a avaliação do recurso.
Durante a avaliação dos recursos existentes, os recursos que correspondem a uma deny
definição de política são marcados como não conformes.
Negar propriedades
Para um modo Gerenciador de Recursos, o deny
efeito não tem mais propriedades para uso na then
condição da definição de política.
Para um modo Provedor de Recursos do Microsoft.Kubernetes.Data
, o deny
efeito tem as seguintes subpropriedades de details
. O uso de é necessário para definições de templateInfo
política novas ou atualizadas, conforme constraintTemplate
preterido.
templateInfo
(obrigatório)- Não pode ser usado com
constraintTemplate
. sourceType
(obrigatório)Define o tipo de fonte para o modelo de restrição. Valores permitidos:
PublicURL
ouBase64Encoded
.Se
PublicURL
, emparelhado com a propriedadeurl
para fornecer a localização do modelo de restrição. O local deve ser acessível ao público.Aviso
Não use URIs ou tokens SAS ou
url
qualquer outra coisa que possa expor um segredo.Se
Base64Encoded
, emparelhado com a propriedadecontent
para fornecer o modelo de restrição codificado base 64. Consulte Criar definição de política a partir do modelo de restrição para criar uma definição personalizada a partir de um modelo de restrição Gatekeeper v3 do Open Policy Agent (OPA) existente.
- Não pode ser usado com
constraint
(facultativo)- Não pode ser usado com
templateInfo
. - A implementação CRD do modelo Constraint. Usa parâmetros passados como
values
{{ .Values.<valuename> }}
. No exemplo 2 abaixo, esses valores são{{ .Values.excludedNamespaces }}
e{{ .Values.allowedContainerImagesRegex }}
.
- Não pode ser usado com
constraintTemplate
(preterido)- Não pode ser usado com
templateInfo
. - Deve ser substituído por
templateInfo
ao criar ou atualizar uma definição de política. - O modelo de restrição CustomResourceDefinition (CRD) que define novas restrições. O modelo define a lógica Rego, o esquema de Restrição e os parâmetros de Restrição que são passados da
values
Política do Azure. Para obter mais informações, vá para Restrições do Gatekeeper.
- Não pode ser usado com
constraintInfo
(facultativo)- Não pode ser usado com
constraint
,constraintTemplate
,apiGroups
, oukinds
. - Se
constraintInfo
não for fornecida, a restrição pode ser gerada a partir detemplateInfo
e política. sourceType
(obrigatório)Define o tipo de fonte para a restrição. Valores permitidos:
PublicURL
ouBase64Encoded
.Se
PublicURL
, emparelhado com a propriedadeurl
para fornecer a localização da restrição. O local deve ser acessível ao público.Aviso
Não use URIs ou tokens SAS ou
url
qualquer outra coisa que possa expor um segredo.
- Não pode ser usado com
namespaces
(facultativo)- Uma matriz de namespaces do Kubernetes para limitar a avaliação de políticas.
- Um valor vazio ou ausente faz com que a avaliação da política inclua todos os namespaces, exceto os definidos em
excludedNamespaces
.
excludedNamespaces
(obrigatório)- Uma matriz de namespaces do Kubernetes a serem excluídos da avaliação de políticas.
labelSelector
(obrigatório)- Um objeto que inclui
matchLabels
propriedades (objeto) ematchExpression
(matriz) para permitir especificar quais recursos do Kubernetes devem ser incluídos para avaliação de políticas que correspondam aos rótulos e seletores fornecidos. - Um valor vazio ou ausente faz com que a avaliação da política inclua todos os rótulos e seletores, exceto namespaces definidos em
excludedNamespaces
.
- Um objeto que inclui
apiGroups
(obrigatório ao usar templateInfo)- Uma matriz que inclui os grupos de API correspondentes . Uma matriz vazia (
[""]
) é o grupo principal da API. - A definição
["*"]
de apiGroups não é permitida.
- Uma matriz que inclui os grupos de API correspondentes . Uma matriz vazia (
kinds
(obrigatório ao usar templateInfo)- Uma matriz que inclui o tipo de objeto Kubernetes ao qual limitar a avaliação.
- A definição
["*"]
de tipos não é permitida.
values
(facultativo)- Define quaisquer parâmetros e valores a serem passados para a Restrição. Cada valor deve existir no modelo de restrição CRD.
Negar exemplo
Exemplo 1: Usando o efeito para os deny
modos do Gerenciador de Recursos.
"then": {
"effect": "deny"
}
Exemplo 2: Usando o deny
efeito para um modo de Provedor de Recursos de Microsoft.Kubernetes.Data
. As informações adicionais em details.templateInfo
declara o uso e PublicURL
define url
o local do modelo Restrição a ser usado no Kubernetes para limitar as imagens de contêiner permitidas.
"then": {
"effect": "deny",
"details": {
"templateInfo": {
"sourceType": "PublicURL",
"url": "https://store.policy.core.windows.net/kubernetes/container-allowed-images/v1/template.yaml",
},
"values": {
"imageRegex": "[parameters('allowedContainerImagesRegex')]"
},
"apiGroups": [
""
],
"kinds": [
"Pod"
]
}
}
Próximos passos
- Analise exemplos em Exemplos de Política do Azure.
- Reveja a estrutura de definição do Azure Policy.
- Entenda como criar políticas de forma programática.
- Saiba como obter dados de conformidade.
- Saiba como corrigir recursos não compatíveis.
- Revise os grupos de gerenciamento do Azure.