Azure İlkesi uygun ölçekteki temsilci aboneliklerine dağıtma
Hizmet sağlayıcısı olarak Azure Lighthouse’a birden çok müşteri kiracısı eklemiş olabilirsiniz. Azure Lighthouse, hizmet sağlayıcılarının aynı anda birden fazla kiracıda büyük ölçekte işlem gerçekleştirerek yönetim görevlerini daha verimli hale getirmelerine imkan tanır.
Bu konuda, PowerShell komutlarını kullanarak birden çok kiracıya ilke tanımı ve ilke ataması dağıtmak için Azure İlkesi nasıl kullanılacağı açıklanmaktadır. Bu örnekte ilke tanımı, depolama hesaplarının yalnızca HTTPS trafiğine izin vererek güvenliğinin sağlanmasını sağlar. Dağıtmak istediğiniz tüm ilkeler için aynı genel işlemi kullanabilirsiniz.
İpucu
Bu konu başlığında hizmet sağlayıcılarına ve müşterilere başvursak da, birden çok kiracıyı yöneten kuruluşlar aynı işlemleri kullanabilir.
Müşteri kiracıları arasında sorgulama yapmak için Azure Kaynak Grafı kullanma
Yönettiğiniz müşteri kiracılarındaki tüm abonelikleri sorgulamak için Azure Kaynak Grafı kullanabilirsiniz. Bu örnekte, bu aboneliklerde şu anda HTTPS trafiği gerektirmeyen tüm depolama hesaplarını tanımlayacağız.
$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
Birden çok müşteri kiracısı arasında ilke dağıtma
Aşağıdaki örnekte, birden çok müşteri kiracısında temsilci abonelikler arasında ilke tanımı ve ilke ataması dağıtmak için Azure Resource Manager şablonunun nasıl kullanılacağı gösterilmektedir. Bu ilke tanımı, tüm depolama hesaplarının HTTPS trafiğini kullanmasını gerektirir. Uyumlu olmayan yeni depolama hesaplarının oluşturulmasını engeller. Ayarı olmayan tüm mevcut depolama hesapları uyumsuz olarak işaretlenir.
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
}
Not
İlkeleri birden çok kiracıya dağıtabilirsiniz ancak şu anda bu kiracılardaki uyumlu olmayan kaynakların uyumluluk ayrıntılarını görüntüleyemezsiniz.
İlke dağıtımını doğrulama
Azure Resource Manager şablonunu dağıttıktan sonra, temsilci aboneliklerinizden birinde EnableHttpsTrafficOnly ayarı false olarak ayarlanmış bir depolama hesabı oluşturmayı deneyerek ilke tanımının başarıyla uygulandığını onaylayın. İlke ataması nedeniyle bu depolama hesabını oluşturamamalısınız.
New-AzStorageAccount -ResourceGroupName (New-AzResourceGroup -name policy-test -Location eastus -Force).ResourceGroupName `
-Name (get-random) `
-Location eastus `
-EnableHttpsTrafficOnly $false `
-SkuName Standard_LRS `
-Verbose
Kaynakları temizleme
İşiniz bittiğinde, dağıtım tarafından oluşturulan ilke tanımını ve atamayı kaldırabilirsiniz.
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"
}
}
Sonraki adımlar
- Azure İlkesi hakkında bilgi edinin.
- Kiracılar arası yönetim deneyimleri hakkında bilgi edinin.
- Temsilci aboneliğinde düzeltilebilen bir ilkeyi dağıtmayı öğrenin.