通过


使用 Azure Stack Hub 策略模块管理 Azure 策略

使用 Azure Stack Hub 策略模块,可以使用与 Azure Stack Hub 相同的版本和服务可用性来配置 Azure 订阅。 该模块使用 New-AzPolicyDefinition PowerShell cmdlet 创建一个 Azure 策略,用于限制订阅中可用的资源类型和服务。 然后使用 New-AzPolicyAssignment cmdlet 在适当的范围内创建策略分配。 配置策略后,可以使用 Azure 订阅开发面向 Azure Stack Hub 的应用。

注释

Azure Stack Hub 策略模块旨在用于公共 Azure,作为部署到 Azure Stack Hub 的测试。

安装 模块

  1. 安装 Az PowerShell 模块所需的版本,如 安装适用于 Azure Stack Hub 的 PowerShell 的步骤 1 中所述。

  2. 从 GitHub 下载 Azure Stack Hub 工具

  3. 配置 PowerShell 以用于 Azure Stack Hub

  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 资源测试 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 策略后,尝试部署策略禁止的资源时会收到错误:

由于策略约束而导致资源部署失败的结果

后续步骤