Exportera Azure Policy-resurser

Den här artikeln innehåller information om hur du exporterar befintliga Azure Policy resurser. Att exportera dina resurser är användbart och rekommenderat för säkerhetskopiering, men är också ett viktigt steg i din resa mot molnstyrning och att behandla principen som kod. Azure Policy resurser kan exporteras via Azure Portal, Azure CLI, Azure PowerShelloch var och en av DEDK:erna som stöds.

Exportera med Azure Portal

Anteckning

Export Azure Policy resurser från Azure Portal är inte tillgängligt för nationella Azure-moln.

Följ dessa steg om du Azure Portal exportera en principdefinition från en Azure Portal:

  1. Starta Azure Policy-tjänsten i Azure Portal genom att klicka på Alla tjänster och sedan söka efter och välja Princip.

  2. Välj Definitioner till vänster på Azure Policy sidan.

  3. Använd knappen Exportera definitioner eller välj ellipsen på raden i en principdefinition och välj sedan Exportera definition.

  4. Välj knappen Logga in GitHub inloggning. Om du ännu inte har autentiserats med GitHub för att ge Azure Policy behörighet att exportera resursen granskar du åtkomsten till GitHub-åtgärdsbehoven i det nya fönstret som öppnas och väljer Auktorisera AzureGitHubActions för att fortsätta med exportprocessen. När det är klart stängs det nya fönstret automatiskt.

  5. fliken Grundläggande inställningar anger du följande alternativ och väljer sedan fliken Principer eller knappen Nästa: Principer längst ned på sidan.

    • Lagringsplatsfilter: Ställ in på Mina lagringslager om du bara vill se de lagringslager som du äger eller Alla databaser för att se allt du har beviljat åtkomsten GitHub Åtgärd till.
    • Lagringsplats: Ställ in på den lagringsplats som du vill exportera Azure Policy resurser till.
    • Gren: Ange grenen i lagringsplatsen. Att använda en annan gren än standard är ett bra sätt att verifiera dina uppdateringar innan du sammanfogar ytterligare i källkoden.
    • Katalog: Rotnivåmappen som resurserna ska Azure Policy till. Undermappar under den här katalogen skapas baserat på vilka resurser som exporteras.
  6. På fliken Principer anger du sökomfånget genom att välja ellipsen och välja en kombination av hanteringsgrupper, prenumerationer eller resursgrupper.

  7. Använd knappen Lägg till principdefinitioner för att söka i omfånget för vilka objekt som ska exporteras. I sidofönstret som öppnas väljer du de objekt som ska exporteras. Filtrera markeringen efter sökruta eller typ. När du har valt alla objekt som ska exporteras använder du knappen Lägg till längst ned på sidan.

  8. För varje markerat objekt väljer du önskade exportalternativ, till exempel Endast definition eller Definition och Tilldelningar för en principdefinition. Välj sedan fliken Granska + exportera eller Nästa: Granska + exportera längst ned på sidan.

    Anteckning

    Om alternativet Definition och Tilldelningar väljs exporteras endast principtilldelningar inom det omfång som anges av filtret när principdefinitionen läggs till.

  9. På fliken Granska + exportera kontrollerar du informationsmatchning och använder sedan knappen Exportera längst ned på sidan.

  10. Kontrollera GitHub lagringsplatsen, grenen och rotnivåmappen för att se att de valda resurserna nu exporteras till din källkontroll.

De Azure Policy resurserna exporteras till följande struktur i den valda GitHub och rotnivåmappen:

|
|- <root level folder>/  ________________ # Root level folder set by Directory property
|  |- policies/  ________________________ # Subfolder for policy objects
|     |- <displayName>_<name>____________ # Subfolder based on policy displayName and name properties
|        |- policy.json _________________ # Policy definition
|        |- assign.<displayName>_<name>__ # Each assignment (if selected) based on displayName and name properties
|

Exportera med Azure CLI

Azure Policy, initiativ och tilldelningar kan exporteras som JSON med Azure CLI. Vart och ett av dessa kommandon använder en namnparameter för att ange vilket objekt som JSON ska hämtas för. Namnegenskapen är ofta ett GUID och är inte displayName för objektet.

Här är ett exempel på hur du hämtar JSON för en principdefinition med namnet VirtualMachineStorage:

az policy definition show --name 'VirtualMachineStorage'

Exportera med Azure PowerShell

Azure Policy, initiativ och tilldelningar kan exporteras som JSON med Azure PowerShell. Var och en av dessa cmdlets använder en Name-parameter för att ange vilket objekt som JSON ska hämta. Egenskapen Name är ofta ett GUID och är inte displayName för objektet.

Här är ett exempel på hur du hämtar JSON för en principdefinition med Namnet på VirtualMachineStorage:

Get-AzPolicyDefinition -Name 'VirtualMachineStorage' | ConvertTo-Json -Depth 10

Nästa steg