Azure İlkesi tanımları reddetme etkisi
Bu deny
etki, ilke tanımı aracılığıyla tanımlı standartlara uymayan ve isteği başarısız olan bir kaynak isteğini önlemek için kullanılır.
Değerlendirmeyi reddet
Resource Manager modunda eşleşen bir kaynak oluştururken veya güncelleştirirken reddetme, kaynak sağlayıcısına gönderilmeden önce isteği engeller. İstek olarak 403 (Forbidden)
döndürülür. portalda, Forbidden
ilke ataması tarafından engellenen bir dağıtım durumu olarak görüntülenebilir. Kaynak Sağlayıcısı modu için kaynak sağlayıcısı, kaynağın değerlendirilmesini yönetir.
Mevcut kaynakların değerlendirmesi sırasında, bir deny
ilke tanımıyla eşleşen kaynaklar uyumsuz olarak işaretlenir.
Reddetme özellikleri
Resource Manager modu için, etkinin deny
ilke tanımının then
koşulunda kullanılacak başka özelliği yoktur.
bir Kaynak Sağlayıcısı modu Microsoft.Kubernetes.Data
deny
için, etkisi aşağıdaki alt özelliklerine details
sahiptir. templateInfo
kullanımı, kullanım dışı olduğu gibi constraintTemplate
yeni veya güncelleştirilmiş ilke tanımları için gereklidir.
templateInfo
(gerekli)- ile
constraintTemplate
kullanılamaz. sourceType
(gerekli)Kısıtlama şablonu için kaynak türünü tanımlar. İzin verilen değerler:
PublicURL
veyaBase64Encoded
.ise
PublicURL
, kısıtlama şablonunun konumunu sağlamak için özelliğiyleurl
eşleştirilir. Konum genel olarak erişilebilir olmalıdır.Uyarı
SAS URI'lerini veya belirteçlerini
url
gizli diziyi açığa çıkarabilecek başka bir yerde kullanmayın.ise
Base64Encoded
, temel 64 kodlanmış kısıtlama şablonunu sağlamak için özelliğiylecontent
eşleştirilir. Mevcut bir Açık İlke Aracısı (OPA) Ağ Geçidi Denetleyicisi v3 kısıtlama şablonundan özel bir tanım oluşturmak için bkz. Kısıtlama şablonundan ilke tanımı oluşturma.
- ile
constraint
(isteğe bağlı)- ile
templateInfo
kullanılamaz. - Kısıtlama şablonunun CRD uygulaması. aracılığıyla
values
{{ .Values.<valuename> }}
geçirilen parametreleri kullanır. Aşağıdaki 2. örnekte bu değerler ve{{ .Values.allowedContainerImagesRegex }}
değerleridir{{ .Values.excludedNamespaces }}
.
- ile
constraintTemplate
(kullanım dışı)- ile
templateInfo
kullanılamaz. - İlke tanımı oluşturulurken veya güncelleştirilirken ile
templateInfo
değiştirilmelidir. - Yeni Kısıtlamaları tanımlayan CustomResourceDefinition (CRD) Kısıtlama şablonu. Şablon, Azure İlkesi üzerinden
values
geçirilen Rego mantığını, Kısıtlama şemasını ve Kısıtlama parametrelerini tanımlar. Daha fazla bilgi için Ağ Geçidi Denetleyicisi kısıtlamaları'na gidin.
- ile
constraintInfo
(isteğe bağlı)- , ,
constraintTemplate
apiGroups
veyakinds
ileconstraint
kullanılamaz. - Sağlanamazsa
constraintInfo
, kısıtlama ve ilkesindentemplateInfo
oluşturulabilir. sourceType
(gerekli)Kısıtlama için kaynak türünü tanımlar. İzin verilen değerler:
PublicURL
veyaBase64Encoded
.ise
PublicURL
, kısıtlamanın konumunu sağlamak için özelliğiyleurl
eşleştirilir. Konum genel olarak erişilebilir olmalıdır.Uyarı
SAS URI'lerini veya belirteçlerini
url
gizli diziyi açığa çıkarabilecek başka bir yerde kullanmayın.
- , ,
namespaces
(isteğe bağlı)- İlke değerlendirmesini sınırlandırmak için bir Kubernetes ad alanı dizisi.
- Boş veya eksik bir değer, ilke değerlendirmesinin içinde tanımlananlar dışında tüm ad alanlarını içermesine
excludedNamespaces
neden olur.
excludedNamespaces
(gerekli)- İlke değerlendirmesinin dışında tutulacak bir Kubernetes ad alanı dizisi.
labelSelector
(gerekli)- Sağlanan etiketler ve
matchExpression
seçiciler ile eşleşen ilke değerlendirmesi için hangi Kubernetes kaynaklarının dahilleneceğini belirtmeye olanak sağlayan (nesne) ve (dizi) özellikleri içerenmatchLabels
bir nesne. - Boş veya eksik bir değer, ilke değerlendirmesinin içinde tanımlanan ad alanları dışında tüm etiketleri ve seçicileri içermesine
excludedNamespaces
neden olur.
- Sağlanan etiketler ve
apiGroups
(templateInfo kullanılırken gereklidir)- Eşleşecek API gruplarını içeren bir dizi. Boş bir dizi (
[""]
), çekirdek API grubudur. - apiGroups için tanımlamaya
["*"]
izin verilmiyor.
- Eşleşecek API gruplarını içeren bir dizi. Boş bir dizi (
kinds
(templateInfo kullanılırken gereklidir)- Değerlendirmeyi sınırlamak için Kubernetes nesnesinin türünü içeren bir dizi.
- Tür tanımlamaya
["*"]
izin verilmiyor.
values
(isteğe bağlı)- Kısıtlamaya geçirecek parametreleri ve değerleri tanımlar. Her değer Kısıtlama şablonu CRD'sinde bulunmalıdır.
Reddetme örneği
Örnek 1: Resource Manager modları için efekti kullanma deny
.
"then": {
"effect": "deny"
}
Örnek 2: bir Kaynak Sağlayıcısı modu için efekti kullanma deny
Microsoft.Kubernetes.Data
. içindeki details.templateInfo
ek bilgiler kullanımı PublicURL
bildirir ve izin verilen kapsayıcı görüntülerini sınırlamak için Kubernetes'te kullanılacak Kısıtlama şablonunun konumuna ayarlar url
.
"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"
]
}
}
Sonraki adımlar
- örnekleri Azure İlkesi gözden geçirin.
- Azure İlkesi tanımı yapısını gözden geçirin.
- Program aracılığıyla ilkelerin nasıl oluşturulacağını anlama.
- Uyumluluk verilerini almayı öğrenin.
- Uyumlu olmayan kaynakları düzeltmeyi öğrenin.
- Azure yönetim gruplarını gözden geçirin.