Azure Policy üzembe helyezése delegált előfizetésekhez nagy méretekben
Előfordulhat, hogy szolgáltatóként több ügyfélbérlőt is előkészített az Azure Lighthouse-hoz. Az Azure Lighthouse lehetővé teszi a szolgáltatók számára, hogy nagy léptékben, egyszerre több bérlőben hajtsanak végre műveleteket, így a felügyeleti feladatok hatékonyabbá válnak.
Ez a témakör azt ismerteti, hogyan helyezhet üzembe szabályzatdefiníciót és szabályzat-hozzárendelést több bérlőn PowerShell-parancsokkal az Azure Policy használatával. Ebben a példában a szabályzatdefiníció biztosítja, hogy a tárfiókok csak HTTPS-forgalom engedélyezésével legyenek biztonságosak. Ugyanazt az általános folyamatot használhatja minden olyan szabályzathoz, amelyet telepíteni szeretne.
Tipp.
Bár ebben a témakörben szolgáltatókra és ügyfelekre hivatkozunk, a több bérlőt kezelő vállalatok ugyanazokat a folyamatokat használhatják .
Ügyfélbérlemények lekérdezése az Azure Resource Graph használatával
Az Azure Resource Graph használatával lekérdezheti a felügyelt ügyfélbérlemények összes előfizetését. Ebben a példában minden olyan tárfiókot azonosítunk ezekben az előfizetésekben, amelyek jelenleg nem igényelnek HTTPS-forgalmat.
$MspTenant = "insert your managing tenantId here"
$subs = Get-AzSubscription
$ManagedSubscriptions = Search-AzGraph -Query "ResourceContainers | where type == 'microsoft.resources/subscriptions' | where tenantId != '$($mspTenant)' | project name, subscriptionId, tenantId" -subscription $subs.subscriptionId
Search-AzGraph -Query "Resources | where type =~ 'Microsoft.Storage/storageAccounts' | project name, location, subscriptionId, tenantId, properties.supportsHttpsTrafficOnly" -subscription $ManagedSubscriptions.subscriptionId | convertto-json
Szabályzat üzembe helyezése több ügyfél-bérlőn
Az alábbi példa bemutatja, hogyan helyezhet üzembe egy szabályzatdefiníciót és szabályzat-hozzárendelést egy Azure Resource Manager-sablon használatával több ügyfél-bérlő delegált előfizetésében. Ez a szabályzatdefiníció megköveteli, hogy az összes tárfiók HTTPS-forgalmat használjon. Megakadályozza a nem megfelelő új tárfiókok létrehozását. A beállítás nélküli meglévő tárfiókok nem megfelelőként vannak megjelölve.
Write-Output "In total, there are $($ManagedSubscriptions.Count) delegated customer subscriptions to be managed"
foreach ($ManagedSub in $ManagedSubscriptions)
{
Select-AzSubscription -SubscriptionId $ManagedSub.subscriptionId
New-AzSubscriptionDeployment -Name mgmt `
-Location eastus `
-TemplateUri "https://raw.githubusercontent.com/Azure/Azure-Lighthouse-samples/master/templates/policy-enforce-https-storage/enforceHttpsStorage.json" `
-AsJob
}
Feljegyzés
Bár a szabályzatokat több bérlőn is üzembe helyezheti, jelenleg nem tekintheti meg a nem megfelelő erőforrások megfelelőségi adatait ezekben a bérlőkben.
A házirend üzembe helyezésének ellenőrzése
Az Azure Resource Manager-sablon üzembe helyezése után győződjön meg arról, hogy a szabályzatdefiníció sikeresen alkalmazva lett, és megkísérelt létrehozni egy tárfiókot az EnableHttpsTrafficOnly beállítással hamisra az egyik delegált előfizetésben. A szabályzat-hozzárendelés miatt nem lehet létrehozni ezt a tárfiókot.
New-AzStorageAccount -ResourceGroupName (New-AzResourceGroup -name policy-test -Location eastus -Force).ResourceGroupName `
-Name (get-random) `
-Location eastus `
-EnableHttpsTrafficOnly $false `
-SkuName Standard_LRS `
-Verbose
Az erőforrások eltávolítása
Ha végzett, eltávolíthatja az üzembe helyezés által létrehozott szabályzatdefiníciót és -hozzárendelést.
foreach ($ManagedSub in $ManagedSubscriptions)
{
select-azsubscription -subscriptionId $ManagedSub.subscriptionId
Remove-AzSubscriptionDeployment -Name mgmt -AsJob
$Assignment = Get-AzPolicyAssignment | where-object {$_.Name -like "enforce-https-storage-assignment"}
if ([string]::IsNullOrEmpty($Assignment))
{
Write-Output "Nothing to clean up - we're done"
}
else
{
Remove-AzPolicyAssignment -Name 'enforce-https-storage-assignment' -Scope "/subscriptions/$($ManagedSub.subscriptionId)" -Verbose
Write-Output "Deployment has been deleted - we're done"
}
}
Következő lépések
- További információ az Azure Policyról.
- További információ a bérlők közötti felügyeleti szolgáltatásokról.
- Megtudhatja, hogyan helyezhet üzembe egy delegált előfizetésen belül szervizelhető szabályzatot.