Azure İlkesi tanım yapısı temelleri
Azure İlkesi tanımları, kaynak uyumluluk koşullarını ve bir koşul karşılandığında alınması gereken etkiyi açıklar. Koşul, kaynak özelliği alanını veya değerini gerekli bir değerle karşılaştırır. Kaynak özelliği alanlarına diğer adlar kullanılarak erişilir. Kaynak özelliği alanı bir dizi olduğunda, tüm dizi üyelerinden değerleri seçmek ve her birine bir koşul uygulamak için özel bir dizi diğer adı kullanılabilir. Koşullar hakkında daha fazla bilgi edinin.
İlke atamalarını kullanarak maliyetleri denetleyebilir ve kaynaklarınızı yönetebilirsiniz. Örneğin, yalnızca belirli sanal makine türlerine izin verileceğini belirtebilirsiniz. Alternatif olarak, kaynakların belirli bir etikete sahip olmasını da zorunlu kılabilirsiniz. Kapsamdaki atamalar, bu kapsamdaki ve altındaki tüm kaynaklar için geçerlidir. Bir kaynak grubuna ilke ataması uygulanırsa, o kaynak grubundaki tüm kaynaklara uygulanabilir.
JSON kullanarak öğeleri içeren bir ilke tanımı oluşturursunuz:
displayName
description
mode
version
metadata
parameters
policyRule
- mantıksal değerlendirmeler
effect
Örneğin, aşağıdaki JSON kaynak dağıtımını sınırlayan bir ilke gösterir:
{
"properties": {
"displayName": "Allowed locations",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
"mode": "Indexed",
"metadata": {
"version": "1.0.0",
"category": "Locations"
},
"parameters": {
"allowedLocations": {
"type": "array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources",
"strongType": "location",
"displayName": "Allowed locations"
},
"defaultValue": [
"westus2"
]
}
},
"policyRule": {
"if": {
"not": {
"field": "location",
"in": "[parameters('allowedLocations')]"
}
},
"then": {
"effect": "deny"
}
}
}
}
Daha fazla bilgi için ilke tanımı şemasına gidin. Azure İlkesi yerleşikler ve desenler Azure İlkesi örneklerde yer alır.
Görünen ad ve açıklama
İlke tanımını tanımlamak ve tanımın ne zaman kullanıldığına ilişkin bağlam sağlamak için ve description
kullanırsınızdisplayName
. en displayName
fazla 128 karakter uzunluğunda ve description
en fazla 512 karakter uzunluğundadır.
Not
İlke tanımının oluşturulması veya güncelleştirilmesi sırasında, id
, type
ve name
JSON dışındaki özellikler tarafından tanımlanır ve JSON dosyasında gerekli değildir. SDK aracılığıyla ilke tanımının getirilmesi JSON'un bir parçası olarak , type
ve name
özelliklerini döndürürid
, ancak her biri ilke tanımıyla ilgili salt okunur bilgilerdir.
Politika türü
Özelliği ayarlanamıyor policyType
olsa da SDK tarafından döndürülen ve portalda görünen üç değer vardır:
Builtin
: Microsoft bu ilke tanımlarını sağlar ve korur.Custom
: Müşteriler tarafından oluşturulan tüm ilke tanımları bu değere sahiptir.Static
: Microsoft Sahipliği ile bir Mevzuat Uyumluluğu ilke tanımını gösterir. Bu ilke tanımlarının uyumluluk sonuçları, Microsoft altyapısına yönelik Microsoft dışı denetimlerin sonuçlarıdır. Azure portalında bu değer bazen Microsoft tarafından yönetilen olarak görüntülenir. Daha fazla bilgi için bkz . Bulutta paylaşılan sorumluluk.
Mod
mode
, ilkenin bir Azure Resource Manager özelliğini mi yoksa Kaynak Sağlayıcısı özelliğini mi hedeflediğini bağlı olarak yapılandırılır.
Resource Manager modları
, mode
bir ilke tanımı için hangi kaynak türlerinin değerlendirileceğini belirler. Desteklenen modlar şunlardır:
all
: kaynak gruplarını, abonelikleri ve tüm kaynak türlerini değerlendirmeindexed
: yalnızca etiketleri ve konumu destekleyen kaynak türlerini değerlendirin
Örneğin, kaynak Microsoft.Network/routeTables
etiketleri ve konumu destekler ve her iki modda da değerlendirilir. Ancak, kaynak Microsoft.Network/routeTables/routes
etiketlenemez ve modda indexed
değerlendirilmez.
Çoğu durumda olarak ayarlamanızı mode
all
öneririz. Portal aracılığıyla oluşturulan tüm ilke tanımları modu kullanır all
. PowerShell veya Azure CLI kullanıyorsanız, parametresini mode
el ile belirtebilirsiniz. İlke tanımı bir mode
değer içermiyorsa, varsayılan olarak all
Azure PowerShell'de ve null
Azure CLI'da olarak belirlenir. Mod null
, geriye dönük uyumluluğu desteklemek için kullanmakla indexed
aynıdır.
indexed
etiketleri veya konumları zorunlu kılan ilkeler oluşturulurken kullanılmalıdır. Gerekli olmasa da, etiketleri ve konumları desteklemeyen kaynakların uyumluluk sonuçlarında uyumsuz olarak gösterilmesini engeller. Özel durum kaynak grupları ve abonelikleridir. Kaynak grubu veya abonelikte konumu veya etiketleri zorunlu kılan ilke tanımları veya türü olarak ayarlanmalıdır mode
ve özellikle hedeflenmelidir Microsoft.Resources/subscriptions
Microsoft.Resources/subscriptions/resourceGroups
.all
Örnek için bkz . Desen: Etiketler - Örnek #1. Etiketleri destekleyen kaynakların listesi için bkz . Azure kaynakları için etiket desteği.
Kaynak Sağlayıcısı modları
Aşağıdaki Kaynak Sağlayıcısı modları tam olarak desteklenir:
Microsoft.Kubernetes.Data
Kubernetes kümelerini ve podlar, kapsayıcılar ve girişler gibi bileşenleri yönetmek için. Azure Kubernetes Service kümeleri ve Azure Arc özellikli Kubernetes kümeleri için desteklenir. Bu Kaynak Sağlayıcısı modunu kullanan tanımlar, denetim, reddetme ve devre dışı efektleri kullanır.Microsoft.KeyVault.Data
Azure Key Vault'ta kasaları ve sertifikaları yönetmek için. Bu ilke tanımları hakkında daha fazla bilgi için bkz. Azure Key Vault'u Azure İlkesi ile tümleştirme.Microsoft.Network.Data
Azure İlkesi kullanarak Azure Sanal Ağ Manager özel üyelik ilkelerini yönetmek için.
Aşağıdaki Kaynak Sağlayıcısı modları şu anda önizleme olarak desteklenmektedir:
Microsoft.ManagedHSM.Data
Azure İlkesi kullanarak Yönetilen Donanım Güvenlik Modülü (HSM) anahtarlarını yönetmek için.Microsoft.DataFactory.Data
Azure İlkesi kullanarak Azure Data Factory giden trafik etki alanı adlarının izin verilenler listesinde belirtilmediğinden emin olun. Bu Kaynak Sağlayıcısı modu yalnızca zorlamadır ve genel önizlemede uyumluluğu bildirmez.Microsoft.MachineLearningServices.v2.Data
Azure Machine Learning modeli dağıtımlarını yönetmek için. Bu Kaynak Sağlayıcısı modu, yeni oluşturulan ve güncelleştirilen bileşenler için uyumluluğu bildirir. Genel önizleme sırasında uyumluluk kayıtları 24 saat boyunca kalır. Bu ilke tanımları atanmadan önce var olan model dağıtımları uyumluluğu raporlamaz.Microsoft.LoadTestService.Data
Azure Load Testing örneklerini özel uç noktalarla kısıtlamak için.
Not
Açıkça belirtilmediği sürece, Kaynak Sağlayıcısı modları yalnızca yerleşik ilke tanımlarını destekler ve muafiyetler bileşen düzeyinde desteklenmez.
Azure İlkesi sürüm oluşturma yayınlandığında, aşağıdaki Kaynak Sağlayıcısı modları yerleşik sürüm oluşturma işlemini desteklemez:
Microsoft.DataFactory.Data
Microsoft.MachineLearningServices.v2.Data
Microsoft.ManagedHSM.Data
Sürüm (önizleme)
Yerleşik ilke tanımları aynı definitionID
ile birden çok sürümü barındırabilir. Sürüm numarası belirtilmezse, tüm deneyimler tanımın en son sürümünü gösterir. Yerleşik bir sürümü görmek için API, SDK veya kullanıcı arabiriminde belirtilmesi gerekir. Atama içindeki tanımın belirli bir sürümüne başvurmak için bkz . atama içinde tanım sürümü
Azure İlkesi hizmeti, yerleşik ilke tanımına deprecated
veya girişimine durum ve değişiklik düzeyini iletmek için , preview
ve özelliklerini kullanırversion
. biçimi version
: {Major}.{Minor}.{Patch}
. İlke tanımı önizleme durumundayken, sonek önizleme özelliğine version
eklenir ve boole olarak kabul edilir. İlke tanımı kullanım dışı bırakıldığında, kullanımdan kaldırma kullanılarak tanımın meta verilerinde "deprecated": "true"
boole olarak yakalanır.
- Ana Sürüm (örnek: 2.0.0): Ana kural mantığı değişiklikleri, parametreleri kaldırma ve varsayılan olarak zorlama etkisi ekleme gibi önemli değişikliklere neden olur.
- İkincil Sürüm (örnek: 2.1.0): Küçük kural mantığı değişiklikleri, izin verilen yeni parametre değerleri ekleme, olarak değiştirme
roleDefinitionIds
, girişim içinde tanım ekleme veya taşıma gibi değişiklikleri tanıtın. - Yama Sürümü (örnek: 2.1.4): dize veya meta veri değişiklikleri ve kesme camı güvenlik senaryoları (nadir) tanıtın.
Azure İlkesi sürümleri hakkında daha fazla bilgi için bkz. Yerleşik sürüm oluşturma. İlkenin kullanım dışı veya önizleme aşamasında ne anlama geldiğini öğrenmek için bkz. İlkeleri önizleme ve kullanımdan kaldırma.
Meta veri
İsteğe bağlı metadata
özellik, ilke tanımı hakkındaki bilgileri depolar. Müşteriler içindeki kuruluşlarında metadata
yararlı olan tüm özellikleri ve değerleri tanımlayabilir. Ancak, Azure İlkesi ve yerleşik olarak kullanılan bazı yaygın özellikler vardır. Her metadata
özelliğin sınırı 1.024 karakterdir.
Ortak meta veri özellikleri
version
(dize): İlke tanımının içeriğinin sürümü hakkındaki ayrıntıları izler.category
(dize): azure portalında ilke tanımının hangi kategori altında görüntüleneceğini belirler.preview
(boole): İlke tanımı önizleme ise için true veya false bayrağı.deprecated
(boole): İlke tanımının kullanım dışı olarak işaretlenmesi için true veya false bayrağı.portalReview
(dize): Gerekli giriş ne olursa olsun parametrelerin portalda gözden geçirilip geçirilmeyeceğini belirler.
Tanım konumu
Girişim veya ilke oluşturulurken tanım konumunun belirtilmesi gerekir. Tanım konumu bir yönetim grubu veya abonelik olmalıdır. Bu konum, girişimin veya ilkenin atanabileceği kapsamı belirler. Kaynaklar, atama için hedeflenecek tanım konumu hiyerarşisinde doğrudan veya alt öğeleri olmalıdır.
Tanım konumu bir ise:
- Abonelik - yalnızca bu abonelik içindeki kaynaklara ilke tanımı atanabilir.
- Yönetim grubu - İlke tanımına yalnızca alt yönetim grupları ve alt abonelikler içindeki kaynaklar atanabilir. İlke tanımını birkaç aboneliğe uygulamayı planlıyorsanız, konumun her aboneliği içeren bir yönetim grubu olması gerekir.
Daha fazla bilgi için bkz. Azure İlkesi'nde kapsamı anlama.
Sonraki adımlar
- İlke tanımı yapısı hakkında daha fazla bilgi için parametreler, ilke kuralı ve diğer ad bölümüne gidin.
- Girişimler için girişim tanımı yapısı'na gidin.
- örnekleri Azure İlkesi gözden geçirin.
- İlkenin etkilerini anlama konusunu 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.
- Kaynaklarınızı Azure yönetim gruplarıyla düzenleme ile yönetim grubunun ne olduğunu gözden geçirin.