Egyéni szerepkörök az SQL Serverhez az Azure SQL Managed Instance online migrálásához

Az Azure Database Migration Service alkalmazásazonosítót használ az Azure Services használatához. Az alkalmazásazonosítóhoz vagy az előfizetés szintjén közreműködői szerepkörre van szükség (amelyet számos vállalati biztonsági részleg nem fog engedélyezni), vagy olyan egyéni szerepköröket kell létrehoznia, amelyek biztosítják az Azure Database Migration Service által igényelt engedélyeket. Mivel a Microsoft Entra ID-ban 2000 egyéni szerepkör van korlátozva, érdemes lehet az alkalmazásazonosító által igényelt összes engedélyt egy vagy két egyéni szerepkörbe egyesíteni, majd megadni az alkalmazásazonosítónak az egyéni szerepkört adott objektumokon vagy erőforráscsoportokon (vagy az előfizetés szintjén). Ha az egyéni szerepkörök száma nem okoz problémát, az egyéni szerepköröket erőforrástípus szerint oszthatja fel, így összesen három egyéni szerepkört hozhat létre az alábbiak szerint.

A szerepkördefiníció json-sztringJének AssignableScopes szakasza lehetővé teszi annak szabályozását, hogy az engedélyek hol jelenjenek meg a szerepkör-hozzárendelés hozzáadása felhasználói felületen a portálon. Valószínűleg meg kell határoznia a szerepkört az erőforráscsoportban vagy akár az erőforrás szintjén, hogy ne legyen zsúfolt a felhasználói felület további szerepkörökkel. Vegye figyelembe, hogy ez nem végzi el a tényleges szerepkör-hozzárendelést.

Szerepkörök minimális száma

Jelenleg azt javasoljuk, hogy hozzon létre legalább két egyéni szerepkört az alkalmazásazonosítóhoz, egyet az erőforrás szintjén, a másikat az előfizetés szintjén.

Megjegyzés:

Előfordulhat, hogy az utolsó egyéni szerepkörre vonatkozó követelmény végül el lesz távolítva, mivel az új felügyelt SQL-példánykód üzembe van helyezve az Azure-ban.

Egyéni szerepkör az alkalmazásazonosítóhoz. Ez a szerepkör szükséges az Azure Database Migration Service migrálásához az Azure Database Migration Service-t futtató erőforrás- vagy erőforráscsoport-szinten (az alkalmazásazonosítóval kapcsolatos további információkért lásd a portálon az erőforrásokhoz hozzáférő Microsoft Entra-alkalmazás és szolgáltatásnév létrehozását ismertető cikket).

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

Egyéni szerepkör az alkalmazásazonosítóhoz – előfizetéshez. Ez a szerepkör szükséges a felügyelt SQL-példányt futtató előfizetési szintű Azure Database Migration Service-migráláshoz.

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

A fenti json-t két szöveges fájlban kell tárolni, és az AzureRM, az AZ PowerShell-parancsmagok vagy az Azure CLI használatával hozhatja létre a szerepköröket a New-AzureRmRoleDefinition (AzureRM) vagy a New-AzRoleDefinition (AZ) használatával.

További információkért tekintse meg az Egyéni Azure-szerepkörök című cikket.

Az egyéni szerepkörök létrehozása után szerepkör-hozzárendeléseket kell hozzáadnia a felhasználókhoz és az alkalmazásazonosító(ka)t a megfelelő erőforrásokhoz vagy erőforráscsoportokhoz:

  • A "DMS-szerepkör – Alkalmazásazonosító" szerepkört meg kell adni a migráláshoz használt alkalmazásazonosítónak, valamint a tárfiók, az Azure Database Migration Service-példány és a felügyelt SQL-példány erőforrásszintjén is. Az Azure Database Migration Service-t üzemeltető erőforrás- vagy erőforráscsoportszinten adható meg.
  • A "DMS-szerepkör – Alkalmazásazonosító – Al" szerepkört a felügyelt SQL-példányt futtató előfizetési szinten kell megadni az alkalmazásazonosítónak (az erőforrás vagy erőforráscsoport megadása sikertelen lesz). Ez a követelmény ideiglenes a kódfrissítés üzembe helyezéséig.

Szerepkörök kibontott száma

Ha a Microsoft Entra-azonosítóban szereplő egyéni szerepkörök száma nem okoz problémát, javasoljuk, hogy összesen három szerepkört hozzon létre. Továbbra is szüksége lesz a "DMS-szerepkör – Alkalmazásazonosító – Al" szerepkörre, de a fenti "DMS-szerepkör – Alkalmazásazonosító" szerepkör erőforrástípusonként két különböző szerepkörre van felosztva.

Egyéni szerepkör a felügyelt SQL-példányhoz tartozó alkalmazásazonosítóhoz

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

Egyéni szerepkör a storage-hoz készült ALKALMAZÁSazonosítóhoz

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

Role assignment

Ha szerepkört szeretne hozzárendelni a felhasználókhoz/alkalmazásazonosítóhoz, nyissa meg az Azure Portalt, és hajtsa végre a következő lépéseket:

  1. Keresse meg az erőforráscsoportot vagy erőforrást (kivéve az előfizetéshez szükséges szerepkört), lépjen a Hozzáférés-vezérlés elemre, majd görgessen az imént létrehozott egyéni szerepkörök megkereséséhez.

  2. Válassza ki a megfelelő szerepkört, válassza ki az alkalmazásazonosítót, majd mentse a módosításokat.

Az alkalmazásazonosító(k) ekkor megjelennek a Szerepkör-hozzárendelések lapon.

Következő lépések