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 PowerShell-cmdleten New-AzPolicyDefinition för att skapa en Azure-princip som begränsar de 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 riktade till Azure Stack Hub.
Anteckning
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 version av Az PowerShell-modulen som krävs 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 på 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 omfångsbegrä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 felmeddelande när du försöker distribuera en resurs som är förbjuden av principen: