Niet-compatibele resources herstellen met Azure Policy

Resources die niet compatibel zijn met beleid met deployIfNotExists of wijzigingseffecten kunnen via herstel in een compatibele status worden geplaatst. Herstel wordt uitgevoerd via hersteltaken waarmee de sjabloon deployIfNotExists of de wijzigingsbewerkingen van het toegewezen beleid voor uw bestaande resources en abonnementen worden geïmplementeerd, ongeacht of deze toewijzing deel uitmaakt van een beheergroep, abonnement, resourcegroep of afzonderlijke resource. In dit artikel worden de stappen beschreven die nodig zijn om herstel met Azure Policy te begrijpen en uit te voeren.

Hoe hersteltoegangsbeheer werkt

Wanneer Azure Policy een sjabloonimplementatie start bij het evalueren van deployIfNotExists-beleid of een resource wijzigt bij het evalueren van beleidsregels , doet dit 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 bewerking met Azure Policy.

Notitie

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

Herstelbeveiliging kan worden geconfigureerd via de volgende stappen:

De beleidsdefinitie configureren

Als vereiste moet de beleidsdefinitie de rollen definiëren die deployIfNotExists implementeren en wijzigen de inhoud van de opgenomen sjabloon moeten implementeren. Er is geen actie vereist voor een ingebouwde beleidsdefinitie omdat deze rollen vooraf worden ingevuld. Voor een aangepaste beleidsdefinitie voegt u 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 wijzigingsvoorbeelden voor een volledig voorbeeld.

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

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

az role definition list --name "Contributor"

Belangrijk

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

De beheerde identiteit configureren

Elke Azure Policy-toewijzing kan worden gekoppeld aan slechts één beheerde identiteit. De beheerde identiteit kan 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 verdeel deze vervolgens de benodigde rollen.

Notitie

Bij het maken van een beheerde identiteit via de portal worden rollen automatisch verleend 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, kan Azure Policy een door het systeem toegewezen beheerde identiteit genereren en deze de rollen verlenen die zijn gedefinieerd in de roleDefinitionIds van de beleidsdefinitie. U kunt ook een door de gebruiker toegewezen beheerde identiteit opgeven die dezelfde roltoewijzing ontvangt.

Screenshot of a policy assignment creating a system-assigned managed identity in East US with Log Analytics Contributor permissions.

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

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

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

  3. Wijs geen bereik toe voor door het systeem toegewezen beheerde identiteit, omdat het bereik wordt overgenomen van het toewijzingsbereik.

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

  1. Controleer op het tabblad Herstel van de toewijzingsweergave maken/bewerken onder Typen beheerde identiteit of 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 beschikt over de machtigingen die nodig zijn om de vereiste hersteltaak uit te voeren, wordt deze automatisch alleen via de portal machtigingen verleend. 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 wordt 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 buiten het bereik van de beleidstoewijzing

Er zijn twee manieren om de beheerde identiteit van een toewijzing de gedefinieerde rollen te verlenen met behulp van de portal: met behulp van Toegangsbeheer (IAM) of door het beleid of 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 is ongeveer als volgt:

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

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

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

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

  7. Selecteer de juiste rol die overeenkomt met een roleDefinitionId in de beleidsdefinitie. Laat Toegang toewijzen staan om in te stellen op de standaardwaarde van 'Azure AD-gebruiker, -groep of -toepassing'. Plak of typ in het vak Selecteren het gedeelte van de resource-id van de toewijzing die u eerder hebt gevonden. Zodra de zoekopdracht is voltooid, selecteert u het object met dezelfde naam om de 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.

Screenshot of searching for Policy in All Services.

Stap 1: Het maken van hersteltaken initiëren

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.

    Screenshot of the Remediation node on the Policy page.

  2. Alle deployIfNotExists en het wijzigen van beleidstoewijzingen worden weergegeven op het tabblad Beleid om te herstellen . Selecteer een met resources die niet compatibel zijn om de pagina Nieuwe hersteltaak te openen.

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

Optie 2: Een hersteltaak maken op basis van een niet-compatibele beleidstoewijzing

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

  2. Selecteer een niet-compatibel beleid of initiatieftoewijzing met deployIfNotExists of pas effecten aan .

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

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

Optie 3: Een hersteltaak maken tijdens beleidstoewijzing

Als de beleids- of initiatiefdefinitie die moet worden toegewezen, een deployIfNotExists - of een wijzigingseffect heeft, biedt het tabblad Herstel van de wizard een optie Een hersteltaak maken, waarmee een hersteltaak wordt gemaakt op hetzelfde moment als de beleidstoewijzing.

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 resourcenaleving heeft vastgesteld.

  1. Navigeer 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 initiëren.

  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. U kunt eventueel herstelinstellingen op de pagina wijzigen. Zie de structuur van hersteltaken voor informatie over wat elke instelling bepaalt.

  3. Filter op dezelfde pagina de resources die u wilt herstellen met behulp van het beletselteken bereik om onderliggende resources te kiezen van waaruit het beleid is toegewezen (inclusief de afzonderlijke resourceobjecten). Gebruik ook de vervolgkeuzelijst Locaties om de resources verder te filteren.

    Screenshot of the Remediate node and the grid of resources to remediate.

  4. Begin de hersteltaak zodra de resources zijn gefilterd door Herstel 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, beginnen meteen.

    Screenshot of the Remediation tasks tab and progress of existing remediation tasks.

Stap 3: Voortgang van 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 Met 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 weer te geven, zoals een foutbericht.

    Screenshot of the context menu for a resource on the Remediate task tab.

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

Volgende stappen