Automatiseer de overgang naar pay-as-you-go SQL-licenties op grote schaal

Van toepassing op:Azure SQL DatabaseAzure SQL Managed InstanceSQL Server op virtuele machines in AzureSQL Server ingeschakeld door Azure Arc

In dit artikel wordt beschreven hoe u het volgende kunt doen:

  • Bekijk en zet meerdere SQL-producten over naar pay-as-you-go-licenties met één PowerShell-script.
  • Handhaaf continu pay-as-you-go-licenties voor één type resource met Azure Policy.

De automatisering in dit artikel geldt voor SQL Server die wordt ingeschakeld door Azure Arc, SQL Server op virtuele machines in Azure, Azure SQL Database, en Azure SQL Managed Instance. Het script kan ook een Azure-SSIS Integration Runtime verwerken in Azure Data Factory (Azure-SSIS IR).

Het wijzigen van een licentieovereenkomst verandert niet het licentietype dat voor je SQL-bronnen is geconfigureerd. De workflows in dit artikel helpen u om middelen over te zetten naar pay-as-you-go facturering nadat SQL-licenties met Software Assurance, SQL-abonnementslicenties of Service Provider License Agreement (SPLA)-licenties niet langer van toepassing zijn.

Prerequisites

  • Een Azure-account met toegang tot de tenant en abonnementen die de SQL-bronnen bevatten.
  • PowerShell 5 of hoger met de Az PowerShell-module.
  • De Azure CLI wanneer je het PowerShell-script gebruikt om SQL-bronnen bij te werken.
  • De rol Contributor voor elk abonnement dat je aanpast. Voor alternatieven met minimale bevoegdheden, raadpleeg Machtigingen per resourcetype.
  • Voor de geplande modus is toestemming vereist om roltoewijzingen te maken binnen het bereik van het doelabonnement, of moeten de vereiste rollen vooraf zijn toegewezen aan de beheerde identiteit van het Automation-account.
  • De bevoegdheid om facturatie-instellingen te wijzigen en de licentievoorwaarden voor de doelbronnen te bevestigen.

Om te voorkomen dat je de tools lokaal installeert, voer je het script uit in Azure Cloud Shell. Cloud Shell bevat Azure PowerShell en de Azure CLI en authenticeert de sessie. Geef aan -TenantId wanneer je account toegang heeft tot meer dan één tenant.

Kies een automatiseringsmethode

Kies tussen:

  • PowerShell voor overgangen tussen resources naar pay-as-you-go-licenties.
  • Azure Policy voor doorlopende pay-as-you-go-afdwinging voor één resourcetype.

De volgende tabel geeft details over elke automatiseringsmethode:

Scenario Aanbevolen methode
Bekijk of pas pay-as-you-go wijzigingen toe op meerdere SQL-resourcetypes manage-payg-transition.ps1
Zet alle ondersteunde resources in een abonnement of tenant over naar pay-as-you-go-licentiëring manage-payg-transition.ps1
Voer een overgang naar het verbruikskostenmodel uit volgens een terugkerend schema manage-payg-transition.ps1 in geplande modus
Dwing doorlopend pay-as-you-go-licenties af voor één resourcetype en corrigeer drift Een resource-specifiek voorbeeld van Azure Policy
Verander één bron handmatig Het productspecifieke licentieartikel

Bekijk ondersteunde bronnen en licentiewaarden

De procedures in dit artikel stellen -TargetLicenseType in op PAYG. Het script vertaalt deze waarde naar de pay-as-you-go-waarde die elke resourceprovider vereist. De bronwaarden tonen gemeenschappelijke licentieconfiguraties die de overgang kan vervangen.

Hulpbron Pay-as-you-go doelwaarde Gemeenschappelijke bronwaarden Ondersteund door het script Azure Policy voorbeeld
SQL Server ingeschakeld door Azure Arc PAYG Paid, LicenseOnly Ja Naleving van Arc-enabled SQL Server-licentietypen
SQL Server op virtuele machines in Azure PAYG AHUB Ja Naleving van licentietypen voor SQL Server op Azure VMs
Azure SQL Database en elastic pools LicenseIncluded BasePrice Ja Naleving van het licentietype van Azure SQL Database
Azure SQL Managed Instance en instancepools LicenseIncluded BasePrice, HybridFailoverRights Ja Naleving van het licentietype van SQL Managed Instance
Azure-SSIS IR LicenseIncluded BasePrice Ja Niet behandeld in dit artikel

De beleidsvoorbeelden kunnen extra bronwaarden overschrijven, zoals DR voor SQL Server op Azure VM's. Bekijk het geselecteerde voorbeeld voordat je een beleidsopdracht inzet.

Begrijp hoe het PowerShell-script werkt

Je kunt het PowerShell-script gebruiken om alle resources binnen een resource group, alle resources binnen een abonnement, en alle resources binnen één of meer abonnementen binnen een hele tenant te wijzigen.

Het script is zelfstandig en werkt over de ondersteunde SQL-bronnen. Wanneer -TargetLicenseType is ingesteld op de standaard PAYG, vertaalt het die waarde naar de pay-as-you-go-waarde die vereist is voor elk resourcetype, zoals getoond in Review supported resources en licentiewaarden. Standaard blijft de gegenereerde werkmap bestaan nadat het script is voltooid. Om het na een uitvoering te verwijderen, geeft u -cleanDownloads $true op.

Het script print een samenvatting per resourcetype en vermeldt de oorzaak van elke mislukte of overgeslagen resource. Wanneer het script overeenkomende bronnen vindt, maakt het ook een ModifiedResources_<timestamp>.csv-rapport met kolommen UpdateResult en UpdateError.

De volgende parameters bepalen de reikwijdte en uitvoering van het script:

Parameter Geaccepteerde waarde of wanbetaling Purpose
-Target Arc, Azure, of Both (standaard) Selecteert SQL Server-resources die zijn ingeschakeld via Azure Arc, Azure SQL-resources en Azure-SSIS IR, of beide groepen.
-RunMode Single (standaard) of Scheduled Voert de overgang één keer uit of configureert dagelijks Azure Automation-runbooks.
-TargetLicenseType PAYG Selecteert pay-as-you-go als doellicentiemodel voor de procedures in dit artikel.
-targetSubscription Abonnements-ID; standaard alle toegankelijke abonnementen in de tenant Beperkt de overgang tot één abonnement.
-targetResourceGroup Naam van resourcegroepen; standaard alle resourcegroepen Beperkt de transitie tot één resourcegroep.
-TenantId Tenant-ID; standaard de huidige Az PowerShell-context Selecteert de Microsoft Entra-tenant.
-ReportOnly Switch; standaard uitgeschakeld Rapporteert kwalificerende bronnen zonder ze te wijzigen.
-WaitForCompletion Switch; standaard uitgeschakeld Wacht op ingediende wijzigingen totdat deze een eindstatus bereiken, indien ondersteund.
-UsePcoreLicense No (standaard) of Yes Beheert fysieke kernlicenties voor SQL Server mogelijk gemaakt door Azure Arc.
-AutomationAccResourceGroupName Vereist bij -RunMode Scheduled Selecteert de resourcegroep voor het Automation-account.
-AutomationAccountName aaccAzureArcSQLLicenseType standaard Stelt de naam van het Automation-account in.
-Location Vereist bij -RunMode Scheduled Selecteert de Azure-regio voor het Automation-account en de resourcegroep.
-cleanDownloads $false (standaard) of $true Verwijdert de gegenereerde werkmap nadat het script is voltooid.

Het standaard uitvoeringsgedrag hangt af van het type hulpbron:

Hulpbron Standaardgedrag Met -WaitForCompletion
Azure SQL Database, Azure SQL Managed Instance Dient een asynchroon verzoek in en rapporteert RequestSubmitted Wacht en rapporteert Updated
SQL Server ingeschakeld door Azure Arc Dient een asynchrone extensie-update in en rapporteert RequestSubmitted Peilt de extensie en rapporteert Succeeded, Failed, of TimedOut
SQL Server op virtuele machines in Azure Dient een direct verzoek en rapporten in voor Azure Resource ManagerRequestSubmitted Voert az sql vm update uit, wacht en rapporteert Updated
Azure-SSIS IR Wacht en rapporteert Updated Zelfde gedrag

Bekijk de pay-as-you-go overgang

Het manage-payg-transition.ps1 script biedt één instappunt voor Azure SQL en SQL Server die worden ingeschakeld door Azure Arc-resources.

Met het PowerShell-script kun je één enkel abonnement specificeren om te scannen. Als je geen abonnement specificeert, scant het script alle abonnementen waar je rol toegang toe heeft.

  1. Download het script:

    $scriptUri = "https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/manage/manage-payg-transition/manage-payg-transition.ps1"
    Invoke-WebRequest -Uri $scriptUri -OutFile ".\manage-payg-transition.ps1"
    
  2. Log in bij de tenant die de bronnen bevat:

     Connect-AzAccount -TenantId "<tenant-id>"
    
  3. Voer een alleen-lezen preview uit voor één abonnement. Specificeer -TenantId zelfs als je al een Azure-context hebt, zodat het script niet de verkeerde tenant gebruikt:

    .\manage-payg-transition.ps1 `
        -Target Both `
        -TenantId "<tenant-id>" `
        -targetSubscription "<subscription-id>" `
        -TargetLicenseType PAYG `
        -ReportOnly
    
  4. Als het script bijpassende bronnen vindt, open dan het nieuwste ModifiedResources_<timestamp>.csv rapport. Bevestig dat elke vermelde bron moet veranderen:

    $report = Get-ChildItem -Filter "ModifiedResources_*.csv" |
        Sort-Object LastWriteTime -Descending |
        Select-Object -First 1
    
    Import-Csv $report.FullName | Format-Table
    

Bronnen die al pay-as-you-go-licenties gebruiken, verschijnen niet in het rapport. Als het script geen overeenkomende resources vindt, maakt het geen CSV-bestand aan. Om de scope te verkleinen, specificeer -targetResourceGroup. Stel -Target in op Azure om Azure SQL-bronnen en Azure-SSIS IR te verwerken. Stel deze in op Arc om alleen met Azure Arc ingeschakelde SQL Server-resources te verwerken.

Voer een eenmalige pay-as-you-go overgang uit met PowerShell

Voer de pay-as-you-go overgang pas uit nadat je de doelscope hebt bevestigd en elke bron in het preview-rapport hebt goedgekeurd.

  1. Verwijder -ReportOnly, en voeg -WaitForCompletion toe om te wachten op bevestigde uitkomsten waar de hulpbron hen ondersteunt:

    .\manage-payg-transition.ps1 `
        -Target Both `
        -TenantId "<tenant-id>" `
        -targetSubscription "<subscription-id>" `
        -TargetLicenseType PAYG `
        -WaitForCompletion
    
  2. Bekijk het gegenereerde CSV-rapport. Onderzoek elk Failed- of TimedOut-resultaat en bevestig de status van de resource voor elke ingediende wijziging.

De waarde PAYG stelt betalen naar gebruik in als doellicentiemodel.

Als je weglaat -WaitForCompletion, hebben de meeste geaccepteerde wijzigingen een UpdateResult van RequestSubmitted. Dit resultaat betekent dat Azure het verzoek heeft geaccepteerd, niet dat het licentietype volledig is veranderd. Azure-SSIS IR wacht altijd omdat het update-commando geen asynchrone uitvoering ondersteunt.

Plan terugkerende pay-as-you-go overgangen met PowerShell

Geplande modus maakt of werkt één Azure Automation-runbook aan voor elk geselecteerd doel, koppelt elk runbook aan een dagschema en start direct een eenmalige taak. Geef een resourcegroep voor het Automation-account en een Azure-regio op. De standaard naam van het Automation-account is aaccAzureArcSQLLicenseType. Geplande modus gebruikt de beheerde identiteit van het Automation-account.

  1. Plan de overgang voor Azure SQL en SQL Server, mogelijk gemaakt door Azure Arc-resources, in één abonnement:

    .\manage-payg-transition.ps1 `
        -Target Both `
        -RunMode Scheduled `
        -TenantId "<tenant-id>" `
        -targetSubscription "<subscription-id>" `
        -TargetLicenseType PAYG `
        -AutomationAccResourceGroupName "<automation-resource-group>" `
        -AutomationAccountName "<automation-account>" `
        -Location "<azure-region>"
    
  2. Controleer in het Automation-account dat de runbooks zijn gepubliceerd, gekoppeld aan een dagschema en in staat zijn een taak te starten met de geselecteerde parameters.

Als het Azure-doel SQL Managed Instance-pools bevat, wijs dan de rol Contributor of een aangepaste rol met Microsoft.Sql/instancePools/read en Microsoft.Sql/instancePools/write toe aan de beheerde identiteit van het Automation-account. De geplande installatie wijst geen ingebouwde rol toe die deze rechten verleent.

Handhaaf pay-as-you-go licenties met Azure Policy

Gebruik een resource-specifiek Azure Policy-voorbeeld om pay-as-you-go-licenties continu af te dwingen en configuratieafwijkingen te corrigeren. Elke sample bevat een beleidsdefinitie, een deploymentscript en een remediationscript.

Warning

Een beleidstoewijzing kan elke bijpassende bron in zijn scope wijzigen. Begin met een beperkt testabonnement en selecteer alleen de huidige licentietypen die je wilt vervangen.

De volgende tabel koppelt het beleidspakket en het deploymentscript voor elke bron:

Hulpbron Beleidspakket Uitrolscript
SQL Server ingeschakeld door Azure Arc Naleving van het SQL Server-licentietype met Arc ingeschakeld deployment.ps1
SQL Server op virtuele machines in Azure Naleving van licentietypen voor SQL Server op Azure VMs deployment.ps1
Azure SQL Managed Instance (een beheerde database-instantie van Azure) Naleving van het licentietype voor SQL Managed Instance deployment.ps1
Azure SQL Database Naleving van het licentietype van Azure SQL Database deployment.ps1

Gebruik de waarden en rollen voor het geselecteerde resourcetype:

Hulpbron Pay-as-you-go doelwaarde Bronwaarden die overschreven kunnen worden Primaire verplichte rol Belangrijke beperking
SQL Server ingeschakeld door Azure Arc PAYG Paid; De portaaldefinitie ondersteunt ook LicenseOnly Azure Extension for SQL Server Deployment De opdracht wijst één doel toe aan alle overeenkomende hosts en houdt geen rekening met edities. Breng gemengde omgevingen afzonderlijk in kaart.
SQL Server op virtuele machines in Azure PAYG AHUB, DR Inzender voor virtuele machines Het doelwit moet voldoen aan Azure Hybrid Benefit- of passieve high-availability- of disaster-recovery (HA/DR) licentievoorwaarden.
Azure SQL Managed Instance (een beheerde database-instantie van Azure) LicenseIncluded BasePrice, HybridFailoverRights SQL Managed Instance Contributor HybridFailoverRights stelt licenseType in op BasePrice en hybridSecondaryUsage op Passive.
Azure SQL Database LicenseIncluded BasePrice Inzender voor SQL DB Het beleid sluit master en basisdatabases uit. Azure SQL Database ondersteunt alleen licentietypewijzigingen voor geprovisioneerde vCore-databases, dus sluit andere databasetransactie-eenheid (DTU)-gebaseerde en serverloze databases uit of sluit deze uit van de toewijzing.

Elke opdracht vereist ook Lezer en Resource Policy Contributor. De deployment-scripts verlenen de vereiste rollen wanneer de ingelogde identiteit toestemming heeft om roltoewijzingen te maken. Gebruik -GrantMissingPermissions het herstelscript om ontbrekende rollen te controleren en toe te voegen.

De SQL VM-, SQL Managed Instance- en SQL Database-deploymentscripts vragen om bevestiging wanneer de doelwaarde een licentie-attestatie vereist. -SkipLicenseConfirmation Gebruik alleen in een geautomatiseerde pijplijn waar de exploitant al zijn geschiktheid heeft bevestigd en verantwoordelijkheid voor naleving aanvaardt.

Voor Arc-enabled SQL Server configureert een PAYG beleid ook terugkerende factureringstoestemming. De toestemming blijft op de uitbreiding staan als een latere toewijzing het licentietype wijzigt naar iets anders dan PAYG.

De beleidspakketten gebruiken een gedeelde implementatiestroom:

  1. Download de mappen policy en scripts van het pakket door de instructies in de README te volgen.

  2. Log in bij de huurder die de toewijzingsscope bevat:

    Connect-AzAccount -TenantId "<tenant-id>"
    
  3. In de map van het gedownloade pakket implementeer je de definitie en toewijzing. Gebruik de pay-as-you-go doelwaarde voor jouw resourcetype uit de voorgaande tabel. Het volgende voorbeeld wijst het beleid toe op abonnementsniveau:

    .\scripts\deployment.ps1 `
        -SubscriptionId "<subscription-id>" `
        -TargetLicenseType "<pay-as-you-go-value>"
    

    Als je weglaat -SubscriptionId, gebruikt het script de scope van de managementgroep. Bekijk de standaardpakketten voordat je de deployment uitvoert.

  4. Bevestig dat de beleidstoewijzing een door het systeem toegewezen beheerde identiteit heeft en de vereiste rollen binnen de toewijzingsscope.

  5. Begin met sanering voor bestaande niet-conforme bronnen:

    .\scripts\start-remediation.ps1 `
        -SubscriptionId "<subscription-id>" `
           -TargetLicenseType "<pay-as-you-go-value>" `
        -GrantMissingPermissions
    
  6. Bekijk in Azure Policy de nalevingsresultaten en herstelopdracht van de opdracht. Controleer vervolgens het licentietype op de gesaneerde bronnen.

Controleer de overgang naar betalen naar gebruik

Het CSV-rapport bevat een UpdateResult en een UpdateError voor elke geselecteerde resource. Interpreteer veelvoorkomende resultaten als volgt:

Result Meaning Volgende actie
ReportOnly Het script identificeerde een kwalificerende bron in alleen-lezen-modus en diende geen wijziging in. Bevestig dat de bron pay-as-you-go-licenties moet gebruiken voordat je de overgang uitvoert.
RequestSubmitted Azure accepteerde een asynchroon verzoek. Wacht tot de resource-operatie klaar is en valideer dan de resource-status.
Updated of Succeeded Het script zag een succesvol eindresultaat. Bevestig het type licentie op de bron.
Failed De dienst weigerde de update of gaf een defecte terminaltoestand terug. Review UpdateError, corrigeer het probleem en voer de preview opnieuw uit.
TimedOut De Arc-uitbreiding bereikte geen eindstatus voordat de pollingslimiet werd bereikt. Controleer de status van de extensie. De update kan voltooid zijn nadat het script stopt met wachten.

Om het huidige licentietype en de provisioningstatus voor SQL Server met Azure Arc te controleren, voer je de volgende Azure Resource Graph-query uit:

Search-AzGraph -Query @"
resources
| where type =~ 'microsoft.hybridcompute/machines/extensions'
| where properties.type in~ ('WindowsAgent.SqlServer', 'LinuxAgent.SqlServer')
| project name = split(id, '/')[8],
          licenseType = properties.settings.LicenseType,
          state = properties.provisioningState
"@

Nadat de ingediende bewerkingen zijn voltooid, voer je dezelfde scope opnieuw uit met -ReportOnly:

.\manage-payg-transition.ps1 `
    -Target Both `
    -TenantId "<tenant-id>" `
    -targetSubscription "<subscription-id>" `
    -TargetLicenseType PAYG `
    -ReportOnly

Het script sluit middelen uit die al pay-as-you-go licenties gebruiken. Een scope die volledig is geconvergeerd, geeft aan dat er geen resources zijn om bij te werken. Onderzoek elke bron die nog verschijnt voordat je de overgang als voltooid beschouwt.

Bekijk beperkingen en factureringswaarborgen

  • SQL Server op Azure VM's moet draaien. Het script slaat gestopte of gedealviseerde VM's over en start ze niet.
  • Het script sluit SQL Server uit op Azure VM's die het DR licentietype gebruiken, dus het overschrijft de licentie-instelling voor een passieve HA/DR-replica niet.
  • Het script maakt de optie voor terugkerende facturering niet zichtbaar in de ingebouwde Arc-handler. Voor door CSP beheerde Arc-bronnen die terugkerende factureringstoestemming vereisen, gebruik het Arc-enabled SQL Server-licentietype compliancebeleid, dat toestemming configureert wanneer deze van toepassing PAYGis.
  • Een standaard asynchrone run geeft de voorkeur aan schaal boven directe bevestiging. Gebruik -WaitForCompletion wanneer je het script nodig hebt om de terminalresultaten te observeren voordat het afsluit.
  • Standaard gebruiken SQL Server op Azure VM-updates een asynchrone Azure Resource Manager-aanvraag. Als dat verzoek faalt, valt het script terug op az sql vm update, dat wacht tot de operatie is voltooid.

Automatiseringsfouten oplossen

Gebruik het gegenereerde rapport en de Azure-operatiestatus om resources te identificeren die niet zijn bijgewerkt.

  • Als het rapport leeg is, bevestig dan de tenant, het abonnement en de resourcegroep. Een leeg rapport wordt verwacht wanneer alle in-scope bronnen al pay-as-you-go-licenties gebruiken.
  • Als een Arc-geactiveerde resource wordt overgeslagen, herstel dan de connectiviteit voor de Azure Connected Machine-agent, bevestig dat de provisioningstatus voor de Azure-extensie voor SQL Server is Succeeded, en voer vervolgens de preview opnieuw uit.
  • Als UpdateResultRequestSubmitted is, behandel het verzoek dan niet als afgerond. Controleer de resourcestatus of voer de preview opnieuw uit nadat de Azure-operatie is voltooid.
  • Als een Azure SQL- of SQL Server-operatie op Azure VM faalt, bevestig dan dat Azure CLI is geïnstalleerd, is ingelogd bij dezelfde tenant en geautoriseerd is voor het doelabonnement.
  • Als de geplande modus faalt, controleer dan of de beheerde identiteit van het Automation-account de rollen bevat die in het bronvoorbeeld zijn vermeld.
  • Als beleidsremediatie PolicyAuthorizationFailed oplevert, controleer dan of de toewijzingsidentiteit op het bereik van de toewijzing beschikt over de productspecifieke rol Reader en Resource Policy Contributor. Het implementatiescript opnieuw uitvoeren, of het herstelscript opnieuw uitvoeren met -GrantMissingPermissions na de ingelogde identiteit, kan roltoewijzingen creëren.

Voor de volledige bron, zie manage-payg-transition.ps1. Voor de huidige beperkingen en testresultaten, zie het manage-payg-transition.ps1 testplan.

Machtigingen per resourcetype

Rechten voor het PowerShell-script

De Bijdrager-rol is een superset van de permissies die door het script in dit artikel vereist zijn en is de eenvoudigste optie. Voor toegang met minimale bevoegdheden wijs je de rollen toe die vereist zijn voor de resourcetypen die binnen de scope vallen:

Hulpmiddelsoort Rol of vereiste rechten
SQL Server op virtuele machines in Azure Inzender voor virtuele machines
Azure SQL Managed Instance (een beheerde database-instantie van Azure) SQL Managed Instance Contributor
Azure SQL Database Inzender voor SQL DB
Azure SQL Database elastic pools Inzender voor SQL Server
Azure SQL Managed Instance-groepen Bijdrager, of een aangepaste rol met Microsoft.Sql/instancePools/read en Microsoft.Sql/instancePools/write
SQL Server ingeschakeld door Azure Arc Resourcebeheerder van Azure Connected Machine
Azure-SSIS IR Data Factory-inzender
Lezen en opsommen van abonnementen en bronnen Lezer, tenzij een andere toegewezen rol de vereiste leesrechten verleent

Machtigingen voor Azure Policy

De identiteit waarop deployment.ps1 wordt uitgevoerd, heeft toestemming nodig om beleidsdefinities te maken in de geselecteerde beheergroep en om beleidstoewijzingen, hersteltaken, beheerde identiteiten en roltoewijzingen te maken binnen het toewijzingsbereik. Als het geen roltoewijzingen kan maken, wijs dan de vereiste rollen toe aan de beheerde identiteit van de beleidstoewijzing voordat je de herstelbewerking start, en voer deployment.ps1 uit met -SkipManagedIdentityRoleAssignment.

Standaard deployment.ps1 wordt een door het systeem toegewezen beheerde identiteit voor de beleidstoewijzing aangemaakt en drie rollen toegekend binnen de toewijzingsscope. De productspecifieke rol hangt af van het geselecteerde beleidsvoorbeeld:

Beleidsvoorbeeld Productspecifieke rol
SQL Server ingeschakeld door Azure Arc Azure Extension for SQL Server Deployment
SQL Server op virtuele machines in Azure Inzender voor virtuele machines
Azure SQL Managed Instance (een beheerde database-instantie van Azure) SQL Managed Instance Contributor
Azure SQL Database Inzender voor SQL DB

Elke identiteit van een beleidstoewijzing vereist ook Reader en Resource Policy Contributor. Het deploymentscript slaat automatische roltoewijzing alleen over wanneer je -SkipManagedIdentityRoleAssignment opgeeft.

Voordat je met de sanering begint, start-remediation.ps1 controleert hij de beleidsidentiteit voor alle drie de vereiste functies. Als er een rol ontbreekt, stopt het script. Wijs de rollen handmatig toe, of voer het herstelscript opnieuw uit met -GrantMissingPermissions vanuit een identiteit die roltoewijzingen kan maken binnen het bereik van de toewijzing.