Hantera Azure-princip med hjälp av Azure Stack Hub-principmodulen
Med principmodulen för Azure Stack Hub kan du konfigurera en Azure-prenumeration med samma versionshantering och tjänsttillgänglighet som Azure Stack Hub. Modulen använder cmdleten New-AzPolicyDefinition PowerShell för att skapa en Azure-princip som begränsar vilka resurstyper och tjänster som är tillgängliga i en prenumeration. Sedan skapar du en principtilldelning inom lämpligt omfång med hjälp av cmdleten New-AzPolicyAssignment. När du har konfigurerat principen kan du använda din Azure-prenumeration för att utveckla appar som är avsedda för Azure Stack Hub.
Not
Principmodulen för Azure Stack Hub är avsedd att användas i offentliga Azure som ett test för distribution till Azure Stack Hub.
Installera modulen
Installera den nödvändiga versionen av Az PowerShell-modulen enligt beskrivningen i steg 1 i Installera PowerShell för Azure Stack Hub.
Importera modulen AzureStack.Policy.psm1:
Import-Module .\Policy\AzureStack.Policy.psm1
Tillämpa princip på Azure-prenumeration
Du kan använda följande kommandon för att tillämpa en standardprincip för Azure Stack Hub för din Azure-prenumeration. Innan du kör dessa kommandon ersätter du Azure subscription name
med namnet på din Azure-prenumeration.
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
Tillämpa principen på en resursgrupp
Du kanske vill tillämpa principer som är mer detaljerade. Du kan till exempel ha andra resurser som körs i samma prenumeration. Du kan begränsa principprogrammet till en specifik resursgrupp, vilket gör att du kan testa dina appar för Azure Stack Hub med hjälp av Azure-resurser. Innan du kör följande kommandon ersätter du Azure subscription name
med namnet på din Azure-prenumeration:
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
Princip i praktiken
När du har distribuerat Azure-principen får du ett fel när du försöker distribuera en resurs som är förbjuden enligt principen: