Azure İlkesi tanımları denetim etkisi
Etkisi audit
, uyumlu olmayan bir kaynak değerlendirilirken etkinlik günlüğünde bir uyarı olayı oluşturmak için kullanılır, ancak isteği durdurmaz.
Denetim değerlendirmesi
Denetim, kaynağın oluşturulması veya güncelleştirildiği sırada Azure İlkesi tarafından denetlenen son etkidir. Resource Manager modu için Azure İlkesi kaynağı Kaynak Sağlayıcısı'na gönderir. Bir kaynak için oluşturma veya güncelleştirme isteğini değerlendirirken Azure İlkesi etkinlik günlüğüne bir Microsoft.Authorization/policies/audit/action
işlem ekler ve kaynağı uyumsuz olarak işaretler. Standart uyumluluk değerlendirme döngüsü sırasında yalnızca kaynakta uyumluluk durumu güncelleştirilir.
Denetim özellikleri
Resource Manager modunda, denetim etkisi ilke tanımının then
koşulunda kullanılacak başka bir özelliğe sahip değildir.
bir Kaynak Sağlayıcısı modu Microsoft.Kubernetes.Data
için, denetim 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, URL belirteçlerini veya gizli dizileri düz metin olarak kullanıma sunan başka bir şey 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
(kullanım dışı)- 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
,kinds
,scope
,namespaces
excludedNamespaces
veyalabelSelector
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 excludedNamespaces içinde tanımlanmamış tüm ad alanlarını içermesine neden olur.
excludedNamespaces
(isteğe bağlı)- İlke değerlendirmesinin dışında tutulacak bir Kubernetes ad alanı dizisi.
labelSelector
(isteğe bağlı)- Sağlanan etiketler ve seçicilerle eşleşen ilke değerlendirmesi için hangi Kubernetes kaynaklarının dahilleneceğini belirtmek için matchLabels (nesne) ve matchExpression (dizi) özelliklerini içeren bir nesne.
- Boş veya eksik bir değer, ilke değerlendirmesinin excludedNamespaces içinde tanımlanan ad alanları dışında tüm etiketleri ve seçicileri içermesine neden olur.
scope
(isteğe bağlı)- Küme kapsamlı veya ad alanı kapsamlı kaynakların eşleşip eşleşmediğini belirtmek için kapsam özelliğini içeren bir dize.
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ğerin mevcut olması ve Kısıtlama şablonu CRD'sinin doğrulama
openAPIV3Schema
bölümündeki bir özellikle eşleşmesi gerekir.
- Kısıtlamaya geçirecek parametreleri ve değerleri tanımlar. Her değerin mevcut olması ve Kısıtlama şablonu CRD'sinin doğrulama
Denetim örneği
Örnek 1: Resource Manager modları için denetim efektini kullanma.
"then": {
"effect": "audit"
}
Örnek 2: bir Kaynak Sağlayıcısı modu için denetim efektini Microsoft.Kubernetes.Data
kullanma. 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": "audit",
"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.