Anpassade roller för SQL Server till Azure SQL Managed Instance onlinemigrering
Azure Database Migration Service använder ett APP-ID för att interagera med Azure-tjänster. APP-ID:t kräver antingen rollen Deltagare på prenumerationsnivå (vilket många företagssäkerhetsavdelningar inte tillåter) eller skapande av anpassade roller som beviljar de specifika behörigheter som Azure Database Migration Service kräver. Eftersom det finns en gräns på 2 000 anpassade roller i Azure Active Directory kanske du vill kombinera alla behörigheter som krävs specifikt av APP-ID:t till en eller två anpassade roller och sedan ge APP-ID:t den anpassade rollen för specifika objekt eller resursgrupper (jämfört med på prenumerationsnivå). Om antalet anpassade roller inte är något problem kan du dela upp de anpassade rollerna efter resurstyp för att skapa tre anpassade roller totalt enligt beskrivningen nedan.
I avsnittet AssignableScopes i json-strängen för rolldefinitionen kan du styra var behörigheterna visas i användargränssnittet för lägg till rolltilldelning i portalen. Du vill förmodligen definiera rollen på resursgruppsnivå eller till och med resursnivå för att undvika oreda i användargränssnittet med extra roller. Observera att detta inte utför den faktiska rolltilldelningen.
Minsta antal roller
Vi rekommenderar för närvarande att du skapar minst två anpassade roller för APP-ID:t, en på resursnivå och den andra på prenumerationsnivå.
Anteckning
Det senaste anpassade rollkravet kan så småningom tas bort när ny SQL Managed Instance distribueras till Azure.
Anpassad roll för APP-ID:t. Den här rollen krävs för Azure Database Migration Service-migrering på resurs- eller resursgruppsnivå som är värd för Azure Database Migration Service (mer information om APP-ID finns i artikeln Använda portalen för att skapa ett Azure AD-program och tjänstens huvudnamn som kan komma åt resurser).
{
"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>",
]
}
Anpassad roll för APP-ID – prenumeration. Den här rollen krävs för Azure Database Migration Service migrering på prenumerationsnivå som är värd för 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>"
]
}
Json-filen ovan måste lagras i tre textfiler och du kan använda antingen AzureRM-, AZ PowerShell-cmdlets eller Azure CLI för att skapa rollerna med antingen New-AzureRmRoleDefinition (AzureRM) eller New-AzRoleDefinition (AZ).
Mer information finns i artikeln om anpassade Azure-roller.
När du har skapat dessa anpassade roller måste du lägga till rolltilldelningar till användare och APP-ID:n till lämpliga resurser eller resursgrupper:
- Rollen "DMS-roll – app-ID" måste beviljas till det APP-ID som ska användas för migreringarna, och även på lagringskontot, Azure Database Migration Service-instansen och SQL Managed Instance-resursnivåerna. Den beviljas på resurs- eller resursgruppsnivå som är värd för Azure Database Migration Service.
- Rollen "DMS Role - App ID - Sub" måste beviljas till APP-ID:t på den prenumerationsnivå som är värd för SQL Managed Instance (det går inte att bevilja för resursen eller resursgruppen). Det här kravet är tillfälligt tills en koduppdatering har distribuerats.
Utökat antal roller
Om antalet anpassade roller i din Azure Active Directory inte är något problem rekommenderar vi att du skapar totalt tre roller. Du behöver fortfarande rollen "DMS-roll – app-ID – under", men rollen "DMS-roll – app-ID" ovan delas upp efter resurstyp i två olika roller.
Anpassad roll för APP-ID för 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>"
]
}
Anpassad roll för APP-ID för 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>"
]
}
Rolltilldelning
Om du vill tilldela en roll till användare/APP-ID öppnar Azure Portal genom att utföra följande steg:
Gå till resursgruppen eller resursen (förutom den roll som måste beviljas för prenumerationen), gå till Access Control och bläddra sedan för att hitta de anpassade roller som du nyss skapade.
Välj lämplig roll, välj APP-ID och spara sedan ändringarna.
Dina APP-ID:n visas nu på fliken Rolltilldelningar.
Nästa steg
- Granska migreringsvägledningen för ditt scenario i Migreringsguiden för Microsoft Database.