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.
Ez a cikk végigvezeti a szabályzatok programozott létrehozásának és kezelésének folyamatán. Az Azure Policy-definíciók különböző szabályokat és hatásokat kényszerítenek ki az erőforrásokon. A kényszerítés gondoskodik arról, hogy az erőforrások megfeleljenek a vállalati szabványoknak és a szolgáltatási szintű szerződéseknek.
A megfelelőségről további információt a megfelelőségi adatok lekéréséről talál.
Előfeltételek
Mielőtt hozzákezdene, győződjön meg arról, hogy a következő előfeltételek teljesülnek:
Ha még nem tette meg, telepítse az ARMClient eszközt. Ez egy olyan segédprogram, amely HTTP-kéréseket küld az Azure Resource Manager-alapú API-khoz.
Frissítse az Azure PowerShell-modult a legújabb verzióra. Részletes információkért tekintse meg az Azure PowerShell-modul telepítését ismertető témakört. A legújabb verzióval kapcsolatos további információkért lásd az Azure PowerShellt.
Regisztrálja az Azure Policy Insights erőforrás-szolgáltatót az Azure PowerShell használatával annak ellenőrzéséhez, hogy az előfizetés működik-e az erőforrás-szolgáltatóval. Erőforrás-szolgáltató regisztrálásához engedéllyel kell rendelkeznie az erőforrás-szolgáltató regisztrációs műveletének futtatásához. Ezt a műveletet a Közreműködői és Tulajdonosi szerepkörök magukba foglalják. Az erőforrás-szolgáltató regisztrálásához futtassa az alábbi parancsot:
Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'Az erőforrás-szolgáltatók regisztrálásával és megtekintésével kapcsolatos további információért tekintse meg az erőforrás-szolgáltatókat és típusaikat ismertető cikket.
Ha még nem tette meg, telepítse az Azure CLI-t. A legújabb verziót az Azure CLI windowsos telepítésekor szerezheti be.
Szabályzatdefiníció létrehozása és hozzárendelése
Az erőforrások jobb láthatóságának első lépése a szabályzatok létrehozása és hozzárendelése az erőforrásokhoz. A következő lépés a szabályzatok programozott létrehozásának és hozzárendelésének elsajátítása. A példaszabályzat a PowerShell, az Azure CLI és a HTTP-kérések használatával minden nyilvános hálózat számára nyitott tárfiókokat naplóz.
Szabályzatdefiníció létrehozása és hozzárendelése a PowerShell-lel
Az alábbi JSON-kódrészlettel hozzon létre egy JSON-fájlt AuditStorageAccounts.json néven.
{ "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction", "equals": "Allow" } ] }, "then": { "effect": "audit" } }További információ a szabályzatdefiníciók készítéséről: Azure Policy Definition Structure.
Futtassa a következő parancsot egy szabályzatdefiníció létrehozásához a AuditStorageAccounts.json fájl használatával.
New-AzPolicyDefinition -Name 'AuditStorageAccounts' -DisplayName 'Audit Storage Accounts Open to Public Networks' -Policy 'AuditStorageAccounts.json'A parancs létrehoz egy Audit Storage Accounts Open to Public Networks nevű szabályzatdefiníciót. További információ a használható egyéb paraméterekről: New-AzPolicyDefinition.
Helyparaméterek nélküli hívás esetén
New-AzPolicyDefinitionalapértelmezés szerint a szabályzat definícióját a munkamenetkörnyezet kiválasztott előfizetésében menti. Ha a definíciót egy másik helyre szeretné menteni, használja a következő paramétereket:- SubscriptionId – Mentés másik előfizetésbe. GUID-értéket igényel.
- ManagementGroupName: Mentés egy felügyeleti csoportba. Karakterlánc értéket igényel.
A szabályzatdefiníció létrehozása után a következő parancsok futtatásával hozhat létre szabályzat-hozzárendelést:
$rg = Get-AzResourceGroup -Name 'ContosoRG' $Policy = Get-AzPolicyDefinition -Name 'AuditStorageAccounts' New-AzPolicyAssignment -Name 'AuditStorageAccounts' -PolicyDefinition $Policy -Scope $rg.ResourceIdCserélje le a ContosoRG-t a kívánt erőforráscsoport nevére.
A
Scopeparaméter felügyeletiNew-AzPolicyAssignmentcsoporttal, előfizetéssel, erőforráscsoporttal vagy egyetlen erőforrással működik. A paraméter egy teljes erőforrás-elérési utat használ, amelyet aResourceIdtulajdonságGet-AzResourceGroupad vissza. Az egyes tárolókra vonatkozó mintázatScopea következő. Cserélje le a{rName},{rgName},{subId}, és{mgName}elemeket az erőforrás nevére, az erőforráscsoport nevére, az előfizetés azonosítójára és a felügyeleti csoport nevére.{rType}helyébe az erőforrás erőforrástípusát helyettesítik, példáulMicrosoft.Compute/virtualMachinesegy virtuális gép esetében.- Erőforrás -
/subscriptions/{subID}/resourceGroups/{rgName}/providers/{rType}/{rName} - Erőforráscsoport –
/subscriptions/{subId}/resourceGroups/{rgName} - Előfizetés-
/subscriptions/{subId} - Felügyeleti csoport –
/providers/Microsoft.Management/managementGroups/{mgName}
- Erőforrás -
Az erőforrás-szabályzatok Resource Manager PowerShell-modullal történő kezelésével kapcsolatos további információkért lásd: Az.Resources.
Szabályzatdefiníció létrehozása és hozzárendelése az ARMClient használatával
Szabályzatdefiníció létrehozásához használja az alábbi eljárást.
Másolja a következő JSON-kódrészletet egy JSON-fájl létrehozásához. A következő lépésben meghívja a fájlt.
"properties": { "displayName": "Audit Storage Accounts Open to Public Networks", "policyType": "Custom", "mode": "Indexed", "description": "This policy ensures that storage accounts with exposure to Public Networks are audited.", "parameters": {}, "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction", "equals": "Allow" } ] }, "then": { "effect": "audit" } } }Hozza létre a szabályzatdefiníciót az alábbi hívások egyikével:
# For defining a policy in a subscription armclient PUT "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/AuditStorageAccounts?api-version=2021-09-01" @<path to policy definition JSON file> # For defining a policy in a management group armclient PUT "/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/AuditStorageAccounts?api-version=2021-09-01" @<path to policy definition JSON file>Cserélje le az előzőt
{subscriptionId}az előfizetés azonosítójára vagy{managementGroupId}a felügyeleti csoport azonosítójára.További információt a lekérdezés szerkezetéről az alábbi témakörökben talál: Azure Policy Definíciók – Létrehozás vagy frissítés és Policy Definíciók – Létrehozás vagy frissítés a Felügyeleti Csoportnál.
Az alábbi eljárással hozzon létre egy szabályzat-hozzárendelést, és rendelje hozzá a szabályzatdefiníciót az erőforráscsoport szintjén.
Másolja a következő JSON-kódrészletet egy JSON-szabályzat-hozzárendelési fájl létrehozásához. A szimbólumokban szereplő <> példaadatokat cserélje le a saját értékeire.
{ "properties": { "description": "This policy assignment makes sure that storage accounts with exposure to Public Networks are audited.", "displayName": "Audit Storage Accounts Open to Public Networks Assignment", "parameters": {}, "policyDefinitionId": "/subscriptions/<subscriptionId>/providers/Microsoft.Authorization/policyDefinitions/Audit Storage Accounts Open to Public Networks", "scope": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>" } }Hozza létre a szabályzat-hozzárendelést a következő hívással:
armclient PUT "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Authorization/policyAssignments/Audit Storage Accounts Open to Public Networks?api-version=2021-09-01" @<path to Assignment JSON file>A szimbólumokban szereplő <> példaadatokat cserélje le a saját értékeire.
A HTTP-hívások REST API-ba való indításáról további információt az Azure REST API-erőforrásokban talál.
Szabályzatdefiníció létrehozása és hozzárendelése az Azure CLI-vel
Szabályzatdefiníció létrehozásához kövesse az alábbi eljárást:
Másolja a következő JSON-kódrészletet egy JSON-szabályzat-hozzárendelési fájl létrehozásához.
{ "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Storage/storageAccounts" }, { "field": "Microsoft.Storage/storageAccounts/networkAcls.defaultAction", "equals": "Allow" } ] }, "then": { "effect": "audit" } }További információ a szabályzatdefiníciók készítéséről: Azure Policy Definition Structure.
Szabályzatdefiníció létrehozásához futtassa a következő parancsot:
az policy definition create --name 'audit-storage-accounts-open-to-public-networks' --display-name 'Audit Storage Accounts Open to Public Networks' --description 'This policy ensures that storage accounts with exposures to public networks are audited.' --rules '<path to json file>' --mode AllA parancs létrehoz egy Audit Storage Accounts Open to Public Networks nevű szabályzatdefiníciót. További információt az egyéb paraméterekről, amelyeket használhat, lásd: az policy definition create.
Ha helyparaméterek nélkül hívják meg, a
az policy definition creationalapértelmezés szerint a szabályzatdefiníciót a munkameneti környezet kiválasztott előfizetésében menti. Ha a definíciót egy másik helyre szeretné menteni, használja a következő paramétereket:- előfizetés – Mentés másik előfizetésbe. Egy GUID érték szükséges az előfizetés azonosítójához, vagy egy sztring érték az előfizetés nevéhez.
- felügyeleti csoport – Mentés egy felügyeleti csoportba. Egy string értéket igényel.
Szabályzat-hozzárendelés létrehozásához használja az alábbi parancsot. Cserélje le a példaadatokat szögletes zárójelek szimbólumaiban
< >a saját értékeire.az policy assignment create --name '<name>' --scope '<scope>' --policy '<policy definition ID>'A
scopeparaméter felügyeletiaz policy assignment createcsoporttal, előfizetéssel, erőforráscsoporttal vagy egyetlen erőforrással működik. A paraméter egy teljes erőforrás-elérési utat használ. Azscopemintája az egyes tárolók esetében a következő. Cserélje le a{rName}erőforrás nevét, a{rgName}erőforráscsoport nevét, a{subId}előfizetés azonosítóját és a{mgName}felügyeleti csoport nevét. A{rType}az erőforrás erőforrástípusával lesz lecserélve, példáulMicrosoft.Compute/virtualMachinesegy virtuális gépnél.- Erőforrás-
/subscriptions/{subID}/resourceGroups/{rgName}/providers/{rType}/{rName} - Erőforráscsoport –
/subscriptions/{subID}/resourceGroups/{rgName} - Előfizetés-
/subscriptions/{subID} - Felügyeleti csoport –
/providers/Microsoft.Management/managementGroups/{mgName}
- Erőforrás-
Az Azure Policy Definition AZONOSÍTÓját a PowerShell használatával szerezheti be a következő paranccsal:
az policy definition show --name 'Audit Storage Accounts with Open Public Networks'
A létrehozott szabályzatdefiníció szabályzatdefiníció-azonosítójának az alábbi példához kell hasonlítania:
"/subscription/<subscriptionId>/providers/Microsoft.Authorization/policyDefinitions/Audit Storage Accounts Open to Public Networks"
Az erőforrás-szabályzatok Azure CLI-vel való kezelésével kapcsolatos további információkért lásd az Azure CLI erőforrásszabályzatait.
Következő lépések
A cikkben található parancsokkal és lekérdezésekkel kapcsolatos további információkért tekintse át az alábbi cikkeket.