Azure Policy implementeren voor gedelegeerde abonnementen op schaal
Artikel
Als serviceprovider hebt u mogelijk meerdere klanttenants toegevoegd aan Azure Lighthouse. Met Azure Lighthouse kunnen serviceproviders bewerkingen op schaal in meerdere tenants tegelijk uitvoeren, wat beheertaken efficiënter maakt.
In dit onderwerp wordt uitgelegd hoe u Azure Policy gebruikt voor het implementeren van een beleidsdefinitie en beleidstoewijzing voor meerdere tenants met behulp van PowerShell-opdrachten. In dit voorbeeld zorgt de beleidsdefinitie ervoor dat opslagaccounts worden beveiligd door alleen HTTPS-verkeer toe te staan. U kunt hetzelfde algemene proces gebruiken voor elk beleid dat u wilt implementeren.
Azure Resource Graph gebruiken om query's uit te voeren op tenants van klanten
U kunt Azure Resource Graph gebruiken om query's uit te voeren op alle abonnementen in klanttenants die u beheert. In dit voorbeeld identificeren we alle opslagaccounts in deze abonnementen waarvoor momenteel geen HTTPS-verkeer is vereist.
PowerShell
$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
Een beleid implementeren voor meerdere tenants van klanten
In het volgende voorbeeld ziet u hoe u een Azure Resource Manager-sjabloon gebruikt om een beleidsdefinitie en beleidstoewijzing te implementeren voor gedelegeerde abonnementen in meerdere tenants van klanten. Voor deze beleidsdefinitie moeten alle opslagaccounts HTTPS-verkeer gebruiken. Hiermee voorkomt u dat er nieuwe opslagaccounts worden gemaakt die niet voldoen. Bestaande opslagaccounts zonder de instelling worden gemarkeerd als niet-compatibel.
PowerShell
Write-Output"In total, there are $($ManagedSubscriptions.Count) delegated customer subscriptions to be managed"foreach ($ManagedSubin$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
}
Notitie
Hoewel u beleidsregels voor meerdere tenants kunt implementeren, kunt u momenteel geen nalevingsdetails weergeven voor niet-compatibele resources in deze tenants.
De beleidsimplementatie valideren
Nadat u de Azure Resource Manager-sjabloon hebt geïmplementeerd, controleert u of de beleidsdefinitie is toegepast door een opslagaccount te maken met EnableHttpsTrafficOnly ingesteld op false in een van uw gedelegeerde abonnementen. Vanwege de beleidstoewijzing kunt u dit opslagaccount niet maken.