使用 Azure Stack Hub 策略模块管理 Azure Policy
使用 Azure Stack Hub 策略模块,可为 Azure 订阅配置与 Azure Stack Hub 相同的版本控制和服务可用性。 该模块使用 New-AzPolicyDefinition PowerShell cmdlet 创建一项 Azure 策略,用于限制订阅中提供的资源类型和服务。 然后使用 New-AzPolicyAssignment cmdlet 在合适的范围内创建一个策略分配。 配置策略后,可以使用 Azure 订阅来开发针对 Azure Stack Hub 的应用。
注意
Azure Stack Hub 策略模块旨在用于公共 Azure,作为部署到 Azure Stack Hub 的测试。
安装模块
按照安装适用于 Azure Stack Hub 的 PowerShell 的步骤 1 中的说明,安装所需的 Az PowerShell 模块版本。
导入 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 资源测试 Azure Stack Hub 的应用。 在运行以下命令之前,请将 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 Policy 后,当尝试部署被策略禁止的资源时会收到错误: