Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A paraméterek leegyszerűsítik a szabályzatok kezelését a szabályzatdefiníciók számának csökkentésével. Gondoljon olyan paraméterekre, mint az űrlap mezői: name, address, city, state. Ezek a paraméterek mindig ugyanazok maradnak, de az értékük az űrlapot kitöltő egyén alapján változik. A paraméterek a szabályzatok létrehozásakor is ugyanígy működnek. Ha paramétereket használ egy szabályzatdefinícióban, akkor a szabályzat különböző forgatókönyvekben alkalmazható más értékek megadásával.
Paraméterek hozzáadása vagy eltávolítása
Paramétereket lehet hozzáadni egy meglévő és hozzárendelt definícióhoz. Az új paraméternek tartalmaznia kell a tulajdonságot defaultValue . Ez a tulajdonság megakadályozza, hogy a szabályzat vagy kezdeményezés meglévő hozzárendelései közvetetten érvénytelenek legyenek.
A paraméterek nem távolíthatók el a szabályzatdefiníciókból, mert előfordulhat, hogy egy hozzárendelés beállítja a paraméter értékét, és a hivatkozás megszakad. Egyes beépített szabályzatdefiníciók metaadatokkal "deprecated": trueelavultatják a paramétereket, ami elrejti a paramétert a definíció Azure Portalon való hozzárendelésekor. Bár ez a módszer nem támogatott az egyéni szabályzatdefiníciók esetében, egy másik lehetőség egy új egyéni szabályzatdefiníció paraméter nélküli duplikálása és létrehozása.
Paramétertulajdonságok
Egy paraméter a következő tulajdonságokat használja egy szabályzatdefinícióban:
-
name: A paraméter neve. A szabályzaton belüli bevezetési függvény használjaparameters. További információ: paraméterérték használata. -
type: Meghatározza, hogy a paraméter egystring,array,object,boolean,integer,floatvagydateTime. -
metadata: Az Azure Portal által elsősorban a felhasználóbarát információk megjelenítéséhez használt altulajdonságokat határozza meg:-
description: Annak magyarázata, hogy mire használja a paramétert. Használható elfogadható értékek példáinak megadására. -
displayName: A paraméter portálon megjelenő barátságos neve. -
strongType: (Nem kötelező) A szabályzatdefiníció portálon keresztüli hozzárendeléséhez használható. Környezetérzékeny listát biztosít. További információ: strongType. -
assignPermissions: (Nem kötelező) Állítsa be true értékre, hogy az Azure portál szerepkör-hozzárendeléseket hozzon létre a szabályzat-hozzárendelés során. Ez a tulajdonság akkor hasznos, ha a hozzárendelés hatókörén kívül szeretne engedélyeket hozzárendelni. A szabályzatban szerepkör-definíciónként egy szerepkör-hozzárendelés található (vagy szerepkör-definíciónként a kezdeményezés összes szabályzatában). A paraméter értékének érvényes erőforrásnak vagy hatókörnek kell lennie. -
deprecated: Logikai jelző, amely jelzi, hogy egy paraméter elavult-e egy beépített definícióban.
-
-
defaultValue: (Nem kötelező) Beállítja a paraméter értékét egy hozzárendelésben, ha nincs megadva érték. A hozzárendelt meglévő szabályzatdefiníciók frissítésekor szükséges. Objektumtípus-paraméterek esetén az értéknek meg kell egyeznie a megfelelő sémával. -
allowedValues: (Nem kötelező) A paraméter által a hozzárendelés során elfogadott értékek tömbje.- Kis- és nagybetűk érzékenysége: Az engedélyezett érték-összehasonlítások megkülönböztetik a kis- és nagybetűket a szabályzatok hozzárendelésekor, ami azt jelenti, hogy a hozzárendelésben kiválasztott paraméterértékeknek meg kell egyezniük a
allowedValuestömb értékeinek a definícióban szereplő tömbön belüli elrendezésével. Amikor azonban a hozzárendeléshez értékeket választanak ki, a használt feltételtől függően a karakterlánc-összehasonlítások kiértékelése kis- és nagybetű-érzékenység nélküli lehet. Ha például a paraméter engedélyezett címkeértékként van megadvaDevegy hozzárendelésben, és ezt az értéket összehasonlítja egy bemeneti sztringgel aequalsfeltétel használatával, akkor az Azure Policy később egy címkeértéketdevegyezésként értékel, még akkor is, ha kisbetűs, mertnotEqualsnem érzékeny a kis- és nagybetűkre. - Objektumtípus-paraméterek esetén az értékeknek meg kell egyeznie a megfelelő sémával.
- Kis- és nagybetűk érzékenysége: Az engedélyezett érték-összehasonlítások megkülönböztetik a kis- és nagybetűket a szabályzatok hozzárendelésekor, ami azt jelenti, hogy a hozzárendelésben kiválasztott paraméterértékeknek meg kell egyezniük a
-
schema: (Nem kötelező) A paraméterbemenetek ellenőrzését biztosítja a hozzárendelés során egy ön által definiált JSON-séma használatával. Ez a tulajdonság csak objektum típusú paraméterek esetén támogatott, és a Json.NET Schema 2019-09 implementációt követi. A sémák használatáról és a vázlatsémák https://json-schema.org/https://www.jsonschemavalidator.net/teszteléséről itt tudhat meg többet.
Mintaparaméterek
1. példa
Definiálhat például egy szabályzatdefiníciót, amely korlátozza az erőforrások üzembe helyezésének helyét. A szabályzatdefiníció számára egy paraméter lehet a allowedLocations, amelyet az adott szabályzatdefiníció minden hozzárendelése használhat az elfogadott értékek korlátozására. A strongType használata fejlettebb élményt nyújt a feladat portálon keresztüli teljesítésekor.
"parameters": {
"allowedLocations": {
"type": "array",
"metadata": {
"description": "The list of allowed locations for resources.",
"displayName": "Allowed locations",
"strongType": "location"
},
"defaultValue": [
"westus2"
],
"allowedValues": [
"eastus2",
"westus2",
"westus"
]
}
}
Ennek a tömbtípus-paraméternek a hozzárendelési időpontban (anélkül strongType) mintabemenete lehet ["westus", "eastus2"].
2. példa
Egy fejlettebb forgatókönyvben meghatározhat egy szabályzatot, amely megköveteli, hogy a Kubernetes-fürt podjai megadott címkéket használjanak. A szabályzatdefiníció paraméterét a szabályzatdefiníció labelSelector minden hozzárendelése használhatja a kérdéses Kubernetes-erőforrások címkekulcsok és értékek alapján történő megadásához:
"parameters": {
"labelSelector": {
"type": "Object",
"metadata": {
"displayName": "Kubernetes label selector",
"description": "Label query to select Kubernetes resources for policy evaluation. An empty label selector matches all Kubernetes resources."
},
"defaultValue": {},
"schema": {
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all resources.",
"type": "object",
"properties": {
"matchLabels": {
"description": "matchLabels is a map of {key,value} pairs.",
"type": "object",
"additionalProperties": {
"type": "string"
},
"minProperties": 1
},
"matchExpressions": {
"description": "matchExpressions is a list of values, a key, and an operator.",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"description": "key is the label key that the selector applies to.",
"type": "string"
},
"operator": {
"description": "operator represents a key's relationship to a set of values.",
"type": "string",
"enum": [
"In",
"NotIn",
"Exists",
"DoesNotExist"
]
},
"values": {
"description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"key",
"operator"
],
"additionalProperties": false
},
"minItems": 1
}
},
"additionalProperties": false
}
},
}
Az objektumtípus paraméter mintabemenete a hozzárendelés időpontjában JSON formátumú lenne, amelyet a megadott séma ellenőrizne, és a következő lehet:
{
"matchLabels": {
"poolID": "abc123",
"nodeGroup": "Group1",
"region": "southcentralus"
},
"matchExpressions": [
{
"key": "name",
"operator": "In",
"values": [
"payroll",
"web"
]
},
{
"key": "environment",
"operator": "NotIn",
"values": [
"dev"
]
}
]
}
Paraméterérték használata
A szabályzatszabályban a következő parameters függvényszintaxissal rendelkező paraméterekre kell hivatkozni:
{
"field": "location",
"in": "[parameters('allowedLocations')]"
}
Ez a minta a allowedLocations paramétertulajdonságokban bemutatott paraméterre hivatkozik.
erősTípus
Az metadata tulajdonságban a strongType segítségével adhat meg egy többválasztásos listát az Azure portálon.
strongType lehet támogatott erőforrástípus vagy engedélyezett érték. Annak megállapításához, hogy egy erőforrástípus érvényes-e, strongTypehasználja a Get-AzResourceProvider parancsot. Az erőforrástípus: strongType. Például: Microsoft.Network/virtualNetworks/subnets.
Egyes, a által nem visszaadott, Get-AzResourceProvider támogatottak. Ezek a típusok a következők:
Microsoft.RecoveryServices/vaults/backupPolicies
A nem erőforrástípus megengedett értékei a strongType következők:
locationresourceTypesstorageSkusvmSKUsexistingResourceGroups
Következő lépések
- A szabályzatdefiníció szerkezetéről további információt az alapismeretek, a szabályzatszabály és az alias című témakörben talál.
- A kezdeményezésekhez keresse fel a kezdeményezésdefiníciós struktúrát.
- Tekintse át az Azure Policy-minták példáit.
- A Szabályzatok hatásainak ismertetése.
- Megtudhatja, hogyan hozhat létre programozott módon szabályzatokat.
- Megtudhatja, hogyan kérhet le megfelelőségi adatokat.
- Megtudhatja, hogyan orvosolhatja a nem megfelelő erőforrásokat.
- Tekintse át, hogy mi az a menedzsment csoport az Azure menedzsment csoportokkal való erőforrások rendszerezése című részben.