使用 Azure Stack Hub 原則模組管理 Azure 原則

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 的測試。

安裝模組

  1. 依據安裝 Azure Stack Hub 的 PowerShell 步驟 1 的說明,安裝必要的 Az PowerShell 模組版本。

  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 訂用帳戶名稱取代 Azure subscription name

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 訂用帳戶名稱取代 Azure subscription name

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 原則後,當您嘗試部署原則所禁止的資源時會收到錯誤:

資源部署結果因原則限制而失敗

後續步驟