使用 ADS 從 SQL Server 移轉至 Azure SQL 受控執行個體所運用的自訂角色
本文說明如何在 Azure 中設定自訂角色以進行 SQL Server 資料庫移轉。 自訂角色僅具有所需的權限,以建立和執行以 Azure SQL 受控執行個體為目標的 Azure 資料庫移轉服務執行個體。
使用角色定義 JSON 字串的 AssignableScopes
區段來控制權限在 Azure 入口網站 [新增角色指派] UI 中的顯示位置。 如果要避免額外角色使 UI 變得雜亂無章,則建議您在資源群組,或甚至是資源等級定義角色。 自訂角色套用的資源不會執行實際的角色指派。
{
"properties": {
"roleName": "DmsCustomRoleDemoForMI",
"description": "",
"assignableScopes": [
"/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
"/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<managedInstanceRG>",
"/subscriptions/<DMSSubscription>/resourceGroups/<dmsServiceRG>"
],
"permissions": [
{
"actions": [
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/listkeys/action",
"Microsoft.Storage/storageAccounts/blobServices/read",
"Microsoft.Storage/storageAccounts/blobServices/write",
"Microsoft.Storage/storageAccounts/blobServices/containers/read",
"Microsoft.Sql/managedInstances/read",
"Microsoft.Sql/managedInstances/write",
"Microsoft.Sql/managedInstances/databases/read",
"Microsoft.Sql/managedInstances/databases/write",
"Microsoft.Sql/managedInstances/databases/delete",
"Microsoft.DataMigration/locations/operationResults/read",
"Microsoft.DataMigration/locations/operationStatuses/read",
"Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read",
"Microsoft.DataMigration/databaseMigrations/write",
"Microsoft.DataMigration/databaseMigrations/read",
"Microsoft.DataMigration/databaseMigrations/delete",
"Microsoft.DataMigration/databaseMigrations/cancel/action",
"Microsoft.DataMigration/databaseMigrations/cutover/action",
"Microsoft.DataMigration/sqlMigrationServices/write",
"Microsoft.DataMigration/sqlMigrationServices/delete",
"Microsoft.DataMigration/sqlMigrationServices/read",
"Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action",
"Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action",
"Microsoft.DataMigration/sqlMigrationServices/deleteNode/action",
"Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action",
"Microsoft.DataMigration/sqlMigrationServices/listMigrations/read",
"Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 Azure REST API 來建立角色。
如需詳細資訊,請參閱使用 Azure 入口網站建立或更新 Azure 自訂角色和 Azure 自訂角色。
移轉至 Azure SQL 受控執行個體所需的權限描述
權限動作 | 描述 |
---|---|
Microsoft.Storage/storageAccounts/read |
傳回儲存體帳戶的清單,或取得指定之儲存體帳戶的屬性。 |
Microsoft.Storage/storageAccounts/listkeys/action |
傳回指定儲存體帳戶的存取金鑰。 |
Microsoft.Storage/storageAccounts/blobServices/read |
列出 Blob 服務。 |
Microsoft.Storage/storageAccounts/blobServices/write |
傳回放置 Blob 服務屬性的結果。 |
Microsoft.Storage/storageAccounts/blobServices/containers/read |
傳回容器清單。 |
Microsoft.Sql/managedInstances/read |
傳回受控執行個體的清單,或取得指定受控執行個體的屬性。 |
Microsoft.Sql/managedInstances/write |
使用指定參數建立受控執行個體,或更新指定受控執行個體的屬性或標籤。 |
Microsoft.Sql/managedInstances/databases/read |
取得現有的受控資料庫。 |
Microsoft.Sql/managedInstances/databases/write |
建立新的資料庫或更新現有資料庫。 |
Microsoft.Sql/managedInstances/databases/delete |
刪除現有的受控資料庫。 |
Microsoft.DataMigration/locations/operationResults/read |
取得與「202 已接受」回應相關的長時間執行作業狀態。 |
Microsoft.DataMigration/locations/operationStatuses/read |
取得與「202 已接受」回應相關的長時間執行作業狀態。 |
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read |
擷取服務作業結果。 |
Microsoft.DataMigration/databaseMigrations/write |
建立或更新資料庫移轉資源。 |
Microsoft.DataMigration/databaseMigrations/read |
擷取資料庫移轉資源。 |
Microsoft.DataMigration/databaseMigrations/delete |
刪除資料庫移轉資源。 |
Microsoft.DataMigration/databaseMigrations/cancel/action |
停止資料庫進行中的移轉。 |
Microsoft.DataMigration/databaseMigrations/cutover/action |
資料庫完全線上移轉作業。 |
Microsoft.DataMigration/sqlMigrationServices/write |
建立新服務,或變更現有服務的屬性 |
Microsoft.DataMigration/sqlMigrationServices/delete |
刪除現有的服務。 |
Microsoft.DataMigration/sqlMigrationServices/read |
擷取移轉服務的詳細資料。 |
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action |
擷取驗證金鑰清單。 |
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action |
重新產生驗證金鑰。 |
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action |
取消註冊 IR 節點。 |
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action |
列出所有移轉的監視資料。 |
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read |
列出使用者的移轉。 |
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read |
擷取監視資料。 |
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read |
擷取 SQL 虛擬機器的詳細資料。 |
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write |
建立新服務,或變更現有 SQL 虛擬機器的屬性。 |
您可以取得範例指令碼,並使用 Windows 驗證或 SQL Server 驗證為 VMware、Hyper-V 或實體伺服器建立登入並佈建必要權限。
角色指派
將角色指派給使用者或應用程式識別碼:
在 Azure 入口網站中,移至資源。
在左側功能表中,選取 [存取控制] (IAM),然後捲動以尋找您建立的自訂角色。
選取待指派的角色,再選取使用者或應用程式識別碼,然後儲存變更。
使用者或應用程式識別碼現在會出現在 [角色指派] 索引標籤上。