Dela via


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

  1. Installera den nödvändiga versionen av Az PowerShell-modulen enligt beskrivningen i steg 1 i Installera PowerShell för Azure Stack Hub.

  2. Ladda ned Azure Stack Hub-verktygen från GitHub.

  3. Konfigurera PowerShell för användning med Azure Stack Hub.

  4. 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:

Resultat av resursdistributionsfel på grund av principbegränsningar

Nästa steg