Поделиться через


Управление политикой Azure с помощью модуля политики Azure Stack Hub

Модуль политики Azure Stack Hub позволяет настроить подписку Azure с той же версией и доступностью служб, что и Azure Stack Hub. Модуль использует командлет New-AzPolicyDefinition PowerShell для создания политики Azure, которая ограничивает типы ресурсов и службы, доступные в подписке. Затем вы создаете назначение политики в соответствующей области с помощью командлета New-AzPolicyAssignment. После настройки политики вы можете использовать подписку Azure для разработки приложений, предназначенных для Azure Stack Hub.

Заметка

Модуль политики Azure Stack Hub предназначен для использования в общедоступной среде Azure в качестве теста для развертывания в Azure Stack Hub.

Установка модуля

  1. Установите требуемую версию модуля Az PowerShell, как описано в шаге 1 установки PowerShell для Azure Stack Hub.

  2. Скачайте средства Azure Stack Hub изGitHub.

  3. Настройка Azure Stack Hub для использования сPowerShell.

  4. Импортируйте модуль AzureStack.Policy.psm1:

    Import-Module .\Policy\AzureStack.Policy.psm1
    

Применение политики к подписке Azure

Для применения политики Azure Stack Hub по умолчанию к подписке Azure можно использовать следующие команды. Перед выполнением этих команд замените Azure subscription name именем подписки Azure.

Connect-AzAccount
$s = Select-AzSubscription -SubscriptionName "Azure subscription name"
$policy = New-AzPolicyDefinition -Name AzureStackPolicyDefinition -Policy (Get-AzsPolicy)
$subscriptionID = $s.Subscription.SubscriptionId
New-AzPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subscriptionID

Применение политики к группе ресурсов

Вам может потребоваться применить политики, которые более детализированные. Например, у вас могут быть другие ресурсы, работающие в той же подписке. Вы можете ограничить приложение политики определенной группой ресурсов, что позволяет протестировать приложения для Azure Stack Hub с помощью ресурсов Azure. Перед выполнением следующих команд замените Azure subscription name именем подписки Azure:

Connect-AzAccount
$rgName = 'myRG01'
$s = Select-AzSubscription -SubscriptionName "Azure subscription name"
$policy = New-AzPolicyDefinition -Name AzureStackPolicyDefinition -Policy (Get-AzsPolicy)
$subscriptionID = $s.Subscription.SubscriptionId
New-AzPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subscriptionID/resourceGroups/$rgName

Политика в действии

После развертывания политики Azure при попытке развернуть ресурс, запрещенный политикой, возникает ошибка:

результат сбоя развертывания ресурсов из-за ограничения политики

Дальнейшие действия