Aangepaste rollen voor SQL Server van Azure SQL Managed Instance onlinemigraties
Azure Database Migration Service gebruikt een APP-id om te communiceren met Azure-services. Voor de APP-id is de rol Inzender op abonnementsniveau vereist (die door veel beveiligingsafdelingen van het bedrijf niet is toegestaan) of moet u aangepaste rollen maken die de specifieke machtigingen verlenen die Azure Database Migration Service vereist. Omdat er een limiet van 2000 aangepaste rollen in Azure Active Directory is, kunt u alle machtigingen die specifiek voor de APP-id zijn vereist, combineren in een of twee aangepaste rollen en vervolgens de aangepaste rol aan de APP-id verlenen voor specifieke objecten of resourcegroepen (vs. op abonnementsniveau). Als het aantal aangepaste rollen geen probleem is, kunt u de aangepaste rollen opsplitsen per resourcetype om in totaal drie aangepaste rollen te maken, zoals hieronder wordt beschreven.
In de sectie AssignableScopes van de JSON-tekenreeks van de roldefinitie kunt u bepalen waar de machtigingen worden weergegeven in de gebruikersinterface Roltoewijzing toevoegen in de portal. Waarschijnlijk wilt u de rol definiëren op het niveau van de resourcegroep of zelfs op resourceniveau om te voorkomen dat de gebruikersinterface vol komt te zitten met extra rollen. Houd er rekening mee dat hiermee niet de werkelijke roltoewijzing wordt uitvoeren.
Minimum aantal rollen
Momenteel wordt u aangeraden minimaal twee aangepaste rollen voor de APP-id te maken, één op resourceniveau en één op abonnementsniveau.
Notitie
De laatste aangepaste rolvereiste kan uiteindelijk worden verwijderd, omdat er SQL Managed Instance code wordt geïmplementeerd in Azure.
Aangepaste rol voor de APP-id. Deze rol is vereist voor Azure Database Migration Service-migratie op het niveau van de resource of resourcegroep die als host voor de Azure Database Migration Service wordt gebruikt .Zie het artikel De portal gebruiken om een Azure AD-toepassing en service-principalte maken die toegang hebben tot resources voor meer informatie over de APP-id.
{
"Name": "DMS Role - App ID",
"IsCustom": true,
"Description": "DMS App ID access to complete MI migrations",
"Actions": [
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageaccounts/blobservices/read",
"Microsoft.Storage/storageaccounts/blobservices/write",
"Microsoft.Sql/managedInstances/read",
"Microsoft.Sql/managedInstances/write",
"Microsoft.Sql/managedInstances/databases/read",
"Microsoft.Sql/managedInstances/databases/write",
"Microsoft.Sql/managedInstances/databases/delete",
"Microsoft.Sql/managedInstances/metrics/read",
"Microsoft.DataMigration/locations/*",
"Microsoft.DataMigration/services/*"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/<subscription_id>/ResourceGroups/<StorageAccount_rg_name>",
"/subscriptions/<subscription_id>/ResourceGroups/<ManagedInstance_rg_name>",
"/subscriptions/<subscription_id>/ResourceGroups/<DMS_rg_name>",
]
}
Aangepaste rol voor de APP-id - abonnement. Deze rol is vereist voor Azure Database Migration Service migratie op abonnementsniveau dat als host voor de SQL Managed Instance.
{
"Name": "DMS Role - App ID - Sub",
"IsCustom": true,
"Description": "DMS App ID access at subscription level to complete MI migrations",
"Actions": [
"Microsoft.Sql/locations/managedDatabaseRestoreAzureAsyncOperation/*"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/<subscription_id>"
]
}
De bovenstaande json moet worden opgeslagen in drie tekstbestanden en u kunt de AzureRM-, AZ PowerShell-cmdlets of Azure CLI gebruiken om de rollen te maken met New-AzureRmRoleDefinition (AzureRM) of New-AzRoleDefinition (AZ).
Zie het artikel Aangepaste Azure-rollen voor meer informatie.
Nadat u deze aangepaste rollen hebt gemaakt, moet u roltoewijzingen toevoegen aan gebruikers en APP-id('s) aan de juiste resources of resourcegroepen:
- De rol 'DMS-rol - App-id' moet worden toegekend aan de APP-id die wordt gebruikt voor de migraties, en ook aan het opslagaccount, Azure Database Migration Service-exemplaar en SQL Managed Instance resourceniveaus. Deze wordt verleend op het niveau van de resource of resourcegroep die als host voor de Azure Database Migration Service.
- De rol DMS-rol - App-id - Sub moet worden toegekend aan de APP-id op het abonnementsniveau dat als host voor de SQL Managed Instance wordt gebruikt (verlenen aan de resource of resourcegroep mislukt). Deze vereiste is tijdelijk totdat er een code-update wordt geïmplementeerd.
Uitgebreid aantal rollen
Als het aantal aangepaste rollen in uw Azure Active Directory geen probleem is, raden we u aan in totaal drie rollen te maken. U hebt nog steeds de rol DMS-rol - App-id – Sub nodig, maar de bovenstaande rol DMS-rol - App-id wordt per resourcetype gesplitst in twee verschillende rollen.
Aangepaste rol voor de APP-id voor SQL Managed Instance
{
"Name": "DMS Role - App ID - SQL MI",
"IsCustom": true,
"Description": "DMS App ID access to complete MI migrations",
"Actions": [
"Microsoft.Sql/managedInstances/read",
"Microsoft.Sql/managedInstances/write",
"Microsoft.Sql/managedInstances/databases/read",
"Microsoft.Sql/managedInstances/databases/write",
"Microsoft.Sql/managedInstances/databases/delete",
"Microsoft.Sql/managedInstances/metrics/read"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/<subscription_id>/resourceGroups/<ManagedInstance_rg_name>"
]
}
Aangepaste rol voor de APP-id voor Storage
{
"Name": "DMS Role - App ID - Storage",
"IsCustom": true,
"Description": "DMS App ID storage access to complete MI migrations",
"Actions": [
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageaccounts/blobservices/read",
"Microsoft.Storage/storageaccounts/blobservices/write"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/<subscription_id>/resourceGroups/<StorageAccount_rg_name>"
]
}
Roltoewijzing
Als u een rol wilt toewijzen aan gebruikers/APP-id, opent u de Azure Portal voert u de volgende stappen uit:
Navigeer naar de resourcegroep of resource (met uitzondering van de rol die moet worden verleend voor het abonnement), ga naar Access Control en scrol naar de aangepaste rollen die u zojuist hebt gemaakt.
Selecteer de juiste rol, selecteer de APP-id en sla de wijzigingen op.
Uw APP-id('s) worden nu weergegeven op het tabblad Roltoewijzingen.
Volgende stappen
- Lees de migratie-richtlijnen voor uw scenario in de Microsoft Database Migration Guide (Handleiding voor databasemigratie van Microsoft).