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 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 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.

Het script gebruikt Az.ConnectedMachine, Az.ResourceGraph, Az.SqlVirtualMachine, Az.Sql en Az.Accounts. Wanneer een vereiste module ontbreekt, vraagt het script om bevestiging voordat de module vanuit de PowerShell Gallery voor de huidige gebruiker wordt geïnstalleerd.

Je kunt het script uitvoeren in de PowerShell-omgeving in Azure Cloud Shell. 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

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

Gebruik het PowerShell-script om alle bronnen binnen een resourcegroep, alle bronnen binnen een abonnement, en alle bronnen binnen één of meer abonnementen binnen een hele tenant aan te passen.

Het script is zelfstandig en werkt over de ondersteunde SQL-bronnen. Wanneer je PAYG instelt op de standaardwaarde -TargetLicenseType, vertaalt het die waarde naar de pay-as-you-go-waarde die vereist is voor elk resourcetype, zoals weergegeven in Ondersteunde resources en licentiewaarden bekijken. In één enkele run maakt het één verbinding met de geselecteerde tenant en hergebruikt de sessie voor latere resource-operaties. Abonnementsdetectie is beperkt tot die tenant.

Wanneer het script een bestaande Azure-sessie hergebruikt, wordt je gevraagd om het account en de tenant te bevestigen. Bekijk deze details voordat je verder gaat. Voor onbeheerde uitvoeringen geeft u -Force op om prompts voor accountbevestiging en de installatie van ontbrekende modules over te slaan. Zonder -Force, stopt het script als het bevestiging nodig heeft in een niet-interactieve sessie. Deze schakelaar verleent geen rechten of vervangt authenticatie.

Het script probeert tijdelijke Azure-fouten en authenticatiefouten opnieuw uit, met steeds langere tussenpozen. Als het de geselecteerde abonnementen na een nieuwe poging niet kan oplossen, stopt het en rapporteert het de fout in plaats van de scope als leeg te behandelen.

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 die wordt ingeschakeld door Azure Arc-resources, Azure SQL-resources inclusief SQL Server op Azure VM's, 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.
-Force Switch; standaard uitgeschakeld Slaat de installatie van ontbrekende modules en prompts voor bevestiging van account en tenant over. Vereist voor onbemande runs waarvoor deze bevestigingen nodig zijn.
-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, elastic pools, Azure SQL Managed Instance, en instance pools Start een asynchrone PowerShell-taak met -AsJob 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 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-resources te verwerken, inclusief SQL Server op Azure VM's. 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 -WaitForCompletion weglaat, hebben asynchrone wijzigingen een UpdateResult van RequestSubmitted. Dit resultaat bevestigt niet dat het rijbewijstype volledig is veranderd. Updates voor SQL Server op Azure VM blijven altijd wachten en geven na een succesvolle update Updated weer.

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 Arc-enabled SQL Server-licentietypen 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 van 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 je kunt overschrijven 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.
SkippedNotRunning De SQL Server VM draait niet, dus het script heeft hem niet bijgewerkt. Start de VM wanneer dat nodig is, en voer de overgang opnieuw uit.

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.
  • Updates van SQL Server op Azure VM wachten altijd totdat de bewerking is voltooid, ongeacht of u -WaitForCompletion opgeeft.

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, bekijk dan de gerapporteerde fout, bevestig dat de vereiste Az PowerShell-modules beschikbaar zijn en controleer dat je account is geautoriseerd voor het doelabonnement.
  • Als een onbeheerde uitvoering stopt tijdens een installatie of accountbevestiging, controleer dan de tenant en het account en voer deze daarna opnieuw uit met -Force nadat je deze acties hebt goedgekeurd.
  • 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.

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
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.