Dela via


Skydda din resurshierarki

Dina resurser, resursgrupper, prenumerationer, hanteringsgrupper och klientorganisation utgör resurshierarkin. Inställningar i rothanteringsgruppen, till exempel anpassade Azure-roller eller principtilldelningar, kan påverka varje resurs i resurshierarkin. Det är viktigt att skydda resurshierarkin från ändringar som kan påverka alla resurser negativt.

Hanteringsgrupper har hierarkiinställningar som gör att innehavaradministratören kan kontrollera dessa beteenden. Den här artikeln beskriver var och en av de tillgängliga hierarkiinställningarna och hur du ställer in dem.

Azure RBAC-behörigheter för hierarkiinställningar

För att konfigurera hierarkiinställningar krävs följande resursprovideråtgärder i rothanteringsgruppen:

  • Microsoft.Management/managementgroups/settings/write
  • Microsoft.Management/managementgroups/settings/read

De här åtgärderna representerar behörigheter för rollbaserad åtkomstkontroll i Azure (Azure RBAC). De tillåter bara att en användare läser och uppdaterar hierarkiinställningarna. De ger inte någon annan åtkomst till hanteringsgruppshierarkin eller till resurser i hierarkin.

Båda dessa åtgärder är tillgängliga i den inbyggda rollen Administratör för hierarkiinställningar i Azure.

Inställning: Definiera standardhanteringsgruppen

Som standard blir en ny prenumeration som du lägger till i en klientorganisation medlem i rothanteringsgruppen. Om du tilldelar principtilldelningar, Azure RBAC och andra styrningskonstruktioner till rothanteringsgruppen påverkar de omedelbart dessa nya prenumerationer. Därför tillämpar många organisationer inte dessa konstruktioner i rothanteringsgruppen, även om det är den önskade platsen att tilldela dem på. I andra fall vill en organisation ha en mer restriktiv uppsättning kontroller för nya prenumerationer men vill inte tilldela dem till alla prenumerationer. Den här inställningen stöder båda användningsfallen.

Genom att tillåta att standardhanteringsgruppen för nya prenumerationer definieras kan du använda organisationsomfattande styrningskonstruktioner i rothanteringsgruppen. Du kan definiera en separat hanteringsgrupp med principtilldelningar eller Azure-rolltilldelningar som passar bättre för en ny prenumeration.

Definiera standardhanteringsgruppen i portalen

  1. Logga in på Azure-portalen.

  2. Använd sökfältet för att söka efter och välja Hanteringsgrupper.

  3. Välj rothanteringsgruppen.

  4. Välj Inställningar till vänster på sidan.

  5. Välj knappen Ändra standardhanteringsgrupp.

    Om knappen Ändra standardhanteringsgrupp inte är tillgänglig är orsaken något av följande:

    • Den hanteringsgrupp som du visar är inte rothanteringsgruppen.
    • Säkerhetsobjektet har inte de behörigheter som krävs för att ändra hierarkiinställningarna.
  6. Välj en hanteringsgrupp i hierarkin och välj sedan knappen Välj .

Definiera standardhanteringsgruppen med hjälp av REST-API:et

Om du vill definiera standardhanteringsgruppen med hjälp av REST-API:et måste du anropa slutpunkten Hierarkiinställningar . Använd följande REST API-URI och brödtextformat. Ersätt {rootMgID} med ID:t för rothanteringsgruppen. Ersätt {defaultGroupID} med ID:t för hanteringsgruppen som blir standardhanteringsgruppen.

  • REST API-URI:

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
    
  • Begärandetext:

    {
        "properties": {
            "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/{defaultGroupID}"
        }
    }
    

Om du vill ange standardhanteringsgruppen tillbaka till rothanteringsgruppen använder du samma slutpunkt och anger defaultManagementGroup värdet /providers/Microsoft.Management/managementGroups/{rootMgID}.

Inställning: Kräv auktorisering

Alla användare kan som standard skapa nya hanteringsgrupper i en klientorganisation. Administratörer för en klientorganisation kanske bara vill ge dessa behörigheter till specifika användare för att upprätthålla konsekvens och överensstämmelse i hanteringsgruppshierarkin. För att skapa underordnade hanteringsgrupper måste Microsoft.Management/managementGroups/write en användare utföra åtgärden i rothanteringsgruppen.

Kräv auktorisering i portalen

  1. Logga in på Azure-portalen.

  2. Använd sökfältet för att söka efter och välja Hanteringsgrupper.

  3. Välj rothanteringsgruppen.

  4. Välj Inställningar till vänster på sidan.

  5. Aktivera växlingsknappen Behörigheter för att skapa nya hanteringsgrupper .

    Om växlingsknappen Kräv skrivbehörighet för att skapa nya hanteringsgrupper inte är tillgänglig är orsaken något av följande:

    • Den hanteringsgrupp som du visar är inte rothanteringsgruppen.
    • Säkerhetsobjektet har inte de behörigheter som krävs för att ändra hierarkiinställningarna.

Kräv auktorisering med hjälp av REST-API:et

Om du vill kräva auktorisering med hjälp av REST-API:et anropar du slutpunkten Hierarkiinställningar . Använd följande REST API-URI och brödtextformat. Det här värdet är ett booleskt värde, så ange antingen true eller false för värdet. Värdet true för aktiverar den här metoden för att skydda din hanteringsgruppshierarki.

  • REST API-URI:

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
    
  • Begärandetext:

    {
        "properties": {
            "requireAuthorizationForGroupCreation": true
        }
    }
    

Om du vill inaktivera inställningen använder du samma slutpunkt och anger requireAuthorizationForGroupCreation värdet false.

Azure PowerShell-exempel

Azure PowerShell har Az inget kommando för att definiera standardhanteringsgruppen eller kräva auktorisering. Som en lösning kan du använda REST-API:et med följande Azure PowerShell-exempel:

$root_management_group_id = "Enter the ID of root management group"
$default_management_group_id = "Enter the ID of default management group (or use the same ID of the root management group)"

$body = '{
     "properties": {
          "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/' + $default_management_group_id + '",
          "requireAuthorizationForGroupCreation": true
     }
}'

$token = (Get-AzAccessToken).Token
$headers = @{"Authorization"= "Bearer $token"; "Content-Type"= "application/json"}
$uri = "https://management.azure.com/providers/Microsoft.Management/managementGroups/$root_management_group_id/settings/default?api-version=2020-05-01"

Invoke-RestMethod -Method PUT -Uri $uri -Headers $headers -Body $body

Läs mer om hanteringslösningar här: