Развертывание службы "Политика Azure" для делегированных подписок в масштабе
Как поставщик услуг вы можете подключить несколько клиентов к Azure Lighthouse. Azure Lighthouse позволяет поставщикам служб выполнять операции одновременно в нескольких арендаторах, что делает задачи управления более эффективными.
В этом разделе описано, как с помощью Политики Azure развернуть определение и назначение политики в нескольких арендаторах с использованием команд PowerShell. В этом примере определение политики обеспечивает защиту учетных записей хранения, разрешая только HTTPS-трафик. Вы можете использовать тот же общий процесс для любой политики, которую вы хотите развернуть.
Совет
Хотя в этом разделе мы будем упоминать поставщиков услуг и их заказчиков, предприятия, управляющие несколькими клиентами, могут использовать такие же процессы.
Отправка запросов между клиентами с помощью Azure Resource Graph
Azure Resource Graph позволяет отправлять запросы во всех подписках арендаторов клиентов, которыми вы управляете. В этом примере мы определим все учетные записи хранения в этих подписках, которые в настоящее время не требуют трафика HTTPS.
$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
Развертывание политики для нескольких клиентов
В следующем примере показано, как использовать шаблон Azure Resource Manager для развертывания определения политики и назначения политик в делегированных подписках в нескольких клиентах. Для этого определения политики требуются все учетные записи хранения для использования трафика HTTPS. Она предотвращает создание новых учетных записей хранения, которые не соответствуют требованиям. Все существующие учетные записи хранения без параметра помечены как несоответствующие.
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
}
Примечание.
Хотя вы можете развертывать политики для нескольких клиентов, в настоящее время вы не можете просматривать сведения о соответствии для несоответствующих ресурсов в этих клиентах.
Проверка развертывания политики
После развертывания шаблона Azure Resource Manager убедитесь, что определение политики успешно применено, пытаясь создать учетную запись хранения с параметром EnableHttpsTrafficOnly значение false в одной из делегированных подписок. Из-за назначения политики вы не сможете создать эту учетную запись хранения.
New-AzStorageAccount -ResourceGroupName (New-AzResourceGroup -name policy-test -Location eastus -Force).ResourceGroupName `
-Name (get-random) `
-Location eastus `
-EnableHttpsTrafficOnly $false `
-SkuName Standard_LRS `
-Verbose
Очистка ресурсов
По завершении можно удалить определение политики и назначение, созданное развертыванием.
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"
}
}
Следующие шаги
- Сведения о службе Политика Azure.
- Узнайте больше об интерфейсах управления для различных клиентов.
- Развертывание политики, которую можно исправить, в делегированной подписке.