使用 Azure Stack Hub 策略模块,可以使用与 Azure Stack Hub 相同的版本和服务可用性来配置 Azure 订阅。 该模块使用 New-AzPolicyDefinition PowerShell cmdlet 创建一个 Azure 策略,用于限制订阅中可用的资源类型和服务。 然后使用 New-AzPolicyAssignment cmdlet 在适当的范围内创建策略分配。 配置策略后,可以使用 Azure 订阅开发面向 Azure Stack Hub 的应用。
注释
Azure Stack Hub 策略模块旨在用作部署到 Azure Stack Hub 的测试。
安装 模块
安装 Az PowerShell 模块所需的版本,如 安装适用于 Azure Stack Hub 的 PowerShell 的步骤 1 中所述。
导入 AzureStack.Policy.psm1 模块:
Import-Module .\Policy\AzureStack.Policy.psm1
将策略应用到 Azure 订阅
可以使用以下命令将默认的 Azure Stack Hub 策略应用到 Azure 订阅。 在运行这些命令之前,请将Azure subscription name
替换为您的 Azure 订阅名称。
Connect-AzAccount -Environment AzureChinaCloud
$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 资源测试 Azure Stack Hub 的应用。 在运行以下命令之前,请将 Azure subscription name
替换为您的 Azure 订阅名称:
Connect-AzAccount -Environment AzureChinaCloud
$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 策略后,尝试部署策略禁止的资源时会收到错误: