Niet-compatibele resources herstellen met Azure Policy

Resources die niet compatibel zijn met beleidsregels met deployIfNotExists - of wijzigingseffecten , kunnen in een compatibele status worden geplaatst via Herstel. Herstel wordt uitgevoerd via hersteltaken die de sjabloon deployIfNotExists implementeren of de bewerkingen wijzigen van het toegewezen beleid voor uw bestaande resources en abonnementen, ongeacht of deze toewijzing zich in een beheergroep, abonnement, resourcegroep of afzonderlijke resource bevindt. In dit artikel worden de stappen beschreven die nodig zijn voor het begrijpen en uitvoeren van herstel met Azure Policy.

Hoe hersteltoegangsbeheer werkt

Wanneer Azure Policy een sjabloonimplementatie start bij het evalueren van deployIfNotExists-beleid of een resource wijzigt bij het evalueren van beleid voor wijzigen, gebeurt dit met behulp van een beheerde identiteit die is gekoppeld aan de beleidstoewijzing. Beleidstoewijzingen maken gebruik van beheerde identiteiten voor Azure-resourceautorisatie. U kunt een door het systeem toegewezen beheerde identiteit gebruiken gemaakt door de beleidsservice of een door de gebruiker toegewezen identiteit die door de gebruiker wordt geleverd. Aan de beheerde identiteit moet(en) de minimaal op rollen gebaseerde RBAC-rol(len) worden toegewezen die nodig zijn om resources te herstellen. Als er rollen ontbreken in de beheerde identiteit, wordt er een fout weergegeven in de portal tijdens de toewijzing van het beleid of een initiatief. Als u de portal gebruikt, verleent Azure Policy de beheerde identiteit automatisch de vermelde rollen nadat de toewijzing is gestart. Als u een Azure Software Development Kit (SDK) gebruikt, moeten de rollen handmatig worden verleend aan de beheerde identiteit. De locatie van de beheerde identiteit heeft geen invloed op de werking ervan met Azure Policy.

Notitie

Als u een beleidsdefinitie wijzigt, wordt de toewijzing of de bijbehorende beheerde identiteit niet automatisch bijgewerkt.

Herstelbeveiliging kan worden geconfigureerd met de volgende stappen:

De beleidsdefinitie configureren

Als vereiste moet de beleidsdefinitie de rollen definiëren die deployIfNotExists en wijzigen nodig hebben om de inhoud van de opgenomen sjabloon te implementeren. Er is geen actie vereist voor een ingebouwde beleidsdefinitie omdat deze rollen vooraf zijn ingevuld. Voeg voor een aangepaste beleidsdefinitie onder de eigenschap details een eigenschap roleDefinitionIds toe. Deze eigenschap is een matrix met tekenreeksen die overeenkomen met rollen in uw omgeving. Zie het voorbeeld deployIfNotExists of de voorbeelden voor wijzigen voor een volledig voorbeeld.

"details": {
    ...
    "roleDefinitionIds": [
        "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleGUID}",
        "/providers/Microsoft.Authorization/roleDefinitions/{builtinroleGUID}"
    ]
}

De eigenschap roleDefinitionIds gebruikt de volledige resource-id en neemt niet de korte roleName van de rol op. Gebruik de volgende Azure CLI-code om de id voor de rol 'Inzender' in uw omgeving op te halen:

az role definition list --name "Contributor"

Belangrijk

Machtigingen moeten worden beperkt tot de kleinst mogelijke set bij het definiëren van roleDefinitionIds binnen een beleidsdefinitie of het handmatig toewijzen van machtigingen aan een beheerde identiteit. Zie aanbevelingen voor best practices voor beheerde identiteiten voor meer aanbevolen procedures.

De beheerde identiteit configureren

Elke Azure Policy toewijzing kan aan slechts één beheerde identiteit worden gekoppeld. Aan de beheerde identiteit kunnen echter meerdere rollen worden toegewezen. Configuratie vindt plaats in twee stappen: maak eerst een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit en verwijs deze vervolgens de benodigde rollen toe.

Notitie

Bij het maken van een beheerde identiteit via de portal worden rollen automatisch toegewezen aan de beheerde identiteit. Als roleDefinitionIds later worden bewerkt in de beleidsdefinitie, moeten de nieuwe machtigingen handmatig worden verleend, zelfs in de portal.

De beheerde identiteit maken

Wanneer u een toewijzing maakt met behulp van de portal, kunt Azure Policy een door het systeem toegewezen beheerde identiteit genereren en deze de rollen toewijzen die zijn gedefinieerd in de roleDefinitionIds van de beleidsdefinitie. U kunt ook een door de gebruiker toegewezen beheerde identiteit opgeven die dezelfde roltoewijzing ontvangt.

Schermopname van een beleidstoewijzing die een door het systeem toegewezen beheerde identiteit maakt in VS - oost met inzendermachtigingen voor Log Analytics.

Een door het systeem toegewezen beheerde identiteit instellen in de portal:

  1. Controleer op het tabblad Herstel van de weergave toewijzing maken/bewerken onder Typen beheerde identiteiten of door het systeem toegewezen beheerde identiteit is geselecteerd.

  2. Geef de locatie op waarop de beheerde identiteit zich moet bevinden.

Een door de gebruiker toegewezen beheerde identiteit instellen in de portal:

  1. Zorg ervoor dat op het tabblad Herstel van de weergave toewijzing maken/bewerken onder Typen beheerde identiteiten de optie Door de gebruiker toegewezen beheerde identiteit is geselecteerd.

  2. Geef het bereik op waarin de beheerde identiteit wordt gehost. Het bereik van de beheerde identiteit hoeft niet gelijk te zijn aan het bereik van de toewijzing, maar moet zich in dezelfde tenant bevinden.

  3. Selecteer onder Bestaande door de gebruiker toegewezen identiteiten de beheerde identiteit.

Machtigingen verlenen aan de beheerde identiteit via gedefinieerde rollen

Belangrijk

Als de beheerde identiteit niet over de benodigde machtigingen beschikt om de vereiste hersteltaak uit te voeren, krijgt deze alleen automatisch machtigingen via de portal. U kunt deze stap overslaan als u een beheerde identiteit maakt via de portal.

Voor alle andere methoden moet de beheerde identiteit van de toewijzing handmatig toegang krijgen via het toevoegen van rollen, anders mislukt de herstelimplementatie.

Voorbeeldscenario's waarvoor handmatige machtigingen zijn vereist:

  • Als de toewijzing is gemaakt via een Azure Software Development Kit (SDK)
  • Als een resource die is gewijzigd door deployIfNotExists of wijzigen , buiten het bereik van de beleidstoewijzing valt
  • Als de sjabloon toegang heeft tot eigenschappen voor resources die buiten het bereik van de beleidstoewijzing vallen

Er zijn twee manieren om de beheerde identiteit van een toewijzing de gedefinieerde rollen toe te kennen met behulp van de portal: met behulp van Toegangsbeheer (IAM) of door het beleid of de initiatieftoewijzing te bewerken en Opslaan te selecteren.

Voer de volgende stappen uit om een rol toe te voegen aan de beheerde identiteit van de toewijzing:

  1. Start de Azure Policy-service in Azure Portal door Alle services te selecteren en dan Beleid te zoeken en te selecteren.

  2. Selecteer Toewijzingen in het linkerdeelvenster van de Azure Policy-pagina.

  3. Zoek de toewijzing met een beheerde identiteit en selecteer de naam.

  4. Zoek de eigenschap Toewijzings-id op de bewerkingspagina. De toewijzings-id ziet er ongeveer als volgt uit:

    /subscriptions/{subscriptionId}/resourceGroups/PolicyTarget/providers/Microsoft.Authorization/policyAssignments/2802056bfc094dfb95d4d7a5
    

    De naam van de beheerde identiteit is het laatste gedeelte van de toewijzingsresource-id, zoals 2802056bfc094dfb95d4d7a5 in dit voorbeeld. Kopieer dit gedeelte van de resource-id van de toewijzing.

  5. Navigeer naar de resource of de bovenliggende resourcecontainer (resourcegroep, abonnement, beheergroep) waaraan de roldefinitie handmatig moet worden toegevoegd.

  6. Selecteer de koppeling Toegangsbeheer (IAM) op de pagina resources en selecteer vervolgens + Roltoewijzing toevoegen bovenaan de pagina voor toegangsbeheer.

  7. Selecteer de juiste rol die overeenkomt met een roleDefinitionId in de beleidsdefinitie. Laat Toegang toewijzen op de standaardwaarde 'Azure AD gebruiker, groep of toepassing' staan. Plak of typ in het vak Selecteren het gedeelte van de toewijzingsresource-id dat u eerder hebt gevonden. Zodra de zoekopdracht is voltooid, selecteert u het object met dezelfde naam om id te selecteren en selecteert u Opslaan.

Een hersteltaak maken

Start de Azure Policy-service in Azure Portal door Alle services te selecteren en dan Beleid te zoeken en te selecteren.

Schermopname van het zoeken naar Beleid in Alle services.

Stap 1: het maken van een hersteltaak starten

Er zijn drie manieren om een hersteltaak te maken via de portal.

Optie 1: Een hersteltaak maken op de pagina Herstel

  1. Selecteer Herstel aan de linkerkant van de Azure Policy pagina.

    Schermopname van het knooppunt Herstel op de pagina Beleid.

  2. Alle deployIfNotExists- en wijzigingsbeleidstoewijzingen worden weergegeven op het tabblad Te herstellen beleidsregels. Selecteer er een met resources die niet-compatibel zijn om de pagina Nieuwe hersteltaak te openen.

  3. Volg de stappen om details van de hersteltaak op te geven.

Optie 2: Een hersteltaak maken vanuit een niet-compatibele beleidstoewijzing

  1. Selecteer Naleving aan de linkerkant van de pagina Azure Policy.

  2. Selecteer een niet-compatibele beleids- of initiatieftoewijzing met deployIfNotExists of wijzigingseffecten .

  3. Selecteer de knop Hersteltaak maken boven aan de pagina om de pagina Nieuwe hersteltaak te openen.

  4. Volg de stappen om details van de hersteltaak op te geven.

Optie 3: Een hersteltaak maken tijdens beleidstoewijzing

Als de toe te wijzen beleids- of initiatiefdefinitie het effect deployIfNotExists of Wijzigen heeft, biedt het tabblad Herstel van de wizard de optie Een hersteltaak maken , waarmee tegelijkertijd met de beleidstoewijzing een hersteltaak wordt gemaakt.

Notitie

Dit is de meest gestroomlijnde benadering voor het maken van een hersteltaak en wordt ondersteund voor beleidsregels die zijn toegewezen aan een abonnement. Voor beleidsregels die zijn toegewezen aan een beheergroep, moeten hersteltaken worden gemaakt met optie 1 of optie 2 nadat de evaluatie de resourcecompatibiliteit heeft bepaald.

  1. Ga vanuit de toewijzingswizard in de portal naar het tabblad Herstel . Schakel het selectievakje voor Een hersteltaak maken in.

  2. Als de hersteltaak wordt gestart vanuit een initiatieftoewijzing, selecteert u het beleid dat u wilt herstellen in de vervolgkeuzelijst.

  3. Configureer de beheerde identiteit en vul de rest van de wizard in. De hersteltaak wordt gemaakt wanneer de toewijzing wordt gemaakt.

Stap 2: Details van hersteltaak opgeven

Deze stap is alleen van toepassing wanneer u optie 1 of optie 2 gebruikt om het maken van hersteltaken te starten.

  1. Als de hersteltaak wordt gestart vanuit een initiatieftoewijzing, selecteert u het beleid dat u wilt herstellen in de vervolgkeuzelijst. Eén deployIfNotExists - of wijzigingsbeleid kan worden hersteld via één hersteltaak tegelijk.

  2. Wijzig eventueel de herstelinstellingen op de pagina Nieuwe hersteltaak :

    • Percentage foutdrempel : wordt gebruikt om op te geven of de hersteltaak moet mislukken als het percentage fouten de opgegeven drempelwaarde overschrijdt. Opgegeven als een getal tussen 0 en 100. Standaard is de drempelwaarde voor fouten 100%.
    • Aantal resources : bepaalt hoeveel niet-compatibele resources moeten worden hersteld in een bepaalde hersteltaak. De standaardwaarde is 500 (de vorige limiet). Het maximumaantal is 50.000 resources.
    • Parallelle implementaties : bepaalt hoeveel resources tegelijkertijd moeten worden hersteld. De toegestane waarden zijn 1 tot 30 resources tegelijk. De standaardwaarde is 10.

    Notitie

    Deze instellingen kunnen niet worden gewijzigd nadat de hersteltaak is gestart.

  3. Filter op dezelfde pagina de resources die moeten worden hersteld met behulp van het beletselteken Bereik om onderliggende resources te kiezen waaruit het beleid wordt toegewezen (inclusief de afzonderlijke resourceobjecten). Gebruik ook de vervolgkeuzelijst Locaties om de resources verder te filteren.

    Schermopname van het knooppunt Herstellen en het raster met resources die moeten worden hersteld.

  4. Start de hersteltaak zodra de resources zijn gefilterd door Herstellen te selecteren. De pagina Beleidsnaleving wordt geopend op het tabblad Hersteltaken om de status van de voortgang van de taken weer te geven. Implementaties die door de hersteltaak zijn gemaakt, worden meteen gestart.

    Schermopname van het tabblad Hersteltaken en de voortgang van bestaande hersteltaken.

Stap 3: De voortgang van de hersteltaak bijhouden

  1. Navigeer naar het tabblad Hersteltaken op de pagina Herstel . Klik op een hersteltaak om details weer te geven over het gebruikte filter, de huidige status en een lijst met resources die worden hersteld.

  2. Klik op de pagina Details van de hersteltaak met de rechtermuisknop op een resource om de implementatie van de hersteltaak of de resource weer te geven. Selecteer aan het einde van de rij Gerelateerde gebeurtenissen om details, zoals een foutbericht, weer te geven.

    Schermopname van het contextmenu voor een resource op het tabblad Hersteltaak.

Resources die zijn geïmplementeerd via een hersteltaak , worden toegevoegd aan het tabblad Geïmplementeerde resources op de pagina met beleidstoewijzingsgegevens.

Volgende stappen