Online migrace vlastních rolí pro SQL Server do služby Azure SQL Managed Instance

Azure Database Migration Service používá k interakci se službami Azure ID APLIKACE. ID aplikace vyžaduje roli Přispěvatel na úrovni předplatného (které mnoho oddělení podnikového zabezpečení nepovolí) nebo vytvoření vlastních rolí, které udělují konkrétní oprávnění, která služba Azure Database Migration Service vyžaduje. Vzhledem k tomu, že v Microsoft Entra ID existuje limit 2 000 vlastních rolí, můžete chtít zkombinovat všechna oprávnění požadovaná konkrétně PODLE ID aplikace do jedné nebo dvou vlastních rolí a pak udělit ID APLIKACE vlastní roli pro konkrétní objekty nebo skupiny prostředků (vs. na úrovni předplatného). Pokud se nejedná o počet vlastních rolí, můžete vlastní role rozdělit podle typu prostředku a vytvořit tak tři vlastní role celkem, jak je popsáno níže.

Část AssignableScopes v řetězci JSON definice role umožňuje určit, kde se oprávnění zobrazují v uživatelském rozhraní pro přidání přiřazení role na portálu. Pravděpodobně budete chtít definovat roli ve skupině prostředků nebo dokonce na úrovni prostředků, abyste se vyhnuli nepotřebným uživatelským rozhraním s dalšími rolemi. Všimněte si, že se tím neprovádí skutečné přiřazení role.

Minimální počet rolí

V současné době doporučujeme vytvořit minimálně dvě vlastní role pro ID APLIKACE, jednu na úrovni prostředku a druhou na úrovni předplatného.

Poznámka:

Poslední požadavek na vlastní roli se může nakonec odebrat, protože se do Azure nasadí nový kód spravované instance SQL.

Vlastní role PRO ID APLIKACE Tato role se vyžaduje pro migraci služby Azure Database Migration Service na úrovni prostředku nebo skupiny prostředků, která je hostitelem služby Azure Database Migration Service (další informace o ID aplikace najdete v článku Použití portálu k vytvoření aplikace Microsoft Entra a instančního objektu, který má přístup k prostředkům).

{
  "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>",
  ]
}

Vlastní role PRO ID APLIKACE – předplatné. Tato role se vyžaduje pro migraci služby Azure Database Migration Service na úrovni předplatného , která hostuje spravovanou instanci SQL.

{
  "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>"
  ]
}

Výše uvedený kód JSON musí být uložený ve dvou textových souborech a k vytvoření rolí můžete použít rutiny AzureRM, AZ PowerShell nebo Azure CLI. K vytvoření rolí použijte Rutiny New-AzureRmRoleDefinition (AzureRM) nebo New-AzRoleDefinition (AZ).

Další informace najdete v článku Vlastní role Azure.

Po vytvoření těchto vlastních rolí musíte přidat přiřazení rolí uživatelům a ID aplikací k příslušným prostředkům nebo skupinám prostředků:

  • Roli DMS – ID aplikace musí být uděleno ID aplikace, které se bude používat pro migrace, a také v účtu úložiště, instanci služby Azure Database Migration Service a na úrovni prostředků služby SQL Managed Instance. Je udělena na úrovni prostředku nebo skupiny prostředků, která je hostitelem služby Azure Database Migration Service.
  • Role DMS – ID aplikace – Dílčí musí být udělena ID aplikace na úrovni předplatného, která je hostitelem spravované instance SQL (udělení prostředků nebo skupiny prostředků selže). Tento požadavek je dočasný, dokud se nenasadí aktualizace kódu.

Rozbalený počet rolí

Pokud počet vlastních rolí v ID Microsoft Entra není problém, doporučujeme vytvořit celkem tři role. Stále budete potřebovat roli DMS Role – ID aplikace – Dílčí, ale výše uvedená role ROLE DMS – ID aplikace je rozdělená podle typu prostředku do dvou různých rolí.

Vlastní role PRO ID APLIKACE pro spravovanou instanci SQL

{
  "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>"
  ]
}

Vlastní role PRO ID APLIKACE pro úložiště

{
  "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>"
  ]
}

Přiřazení role

Pokud chcete přiřadit roli uživatelům nebo ID aplikace, otevřete Azure Portal a proveďte následující kroky:

  1. Přejděte do skupiny prostředků nebo prostředku (s výjimkou role, kterou je potřeba udělit v předplatném), přejděte do řízení přístupu a posuňte se a vyhledejte vlastní role, které jste právě vytvořili.

  2. Vyberte příslušnou roli, vyberte ID APLIKACE a uložte změny.

Vaše ID aplikací se teď zobrazí na kartě Přiřazení rolí.

Další kroky