你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
用于使用 ADS 从 SQL Server 迁移到 Azure 虚拟机的自定义角色
本文介绍如何在 Azure 中为数据库迁移设置自定义角色。 自定义角色将仅具有创建和运行以 Azure 虚拟机为目标的数据库迁移服务所需的权限。
使用角色定义 JSON 字符串的 AssignableScopes 节,可以控制权限在门户上“添加角色分配”UI 中的显示位置。 你可能想要在资源组甚至资源级别定义角色,以免额外的角色使 UI 变得杂乱无章。 这并不会执行实际的角色分配。
{
"properties": {
"roleName": "DmsCustomRoleDemoForVM",
"description": "",
"assignableScopes": [
"/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
"/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<virtualMachineRG>",
"/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.SqlVirtualMachine/sqlVirtualMachines/read",
"Microsoft.SqlVirtualMachine/sqlVirtualMachines/write",
"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 门户、AZ PowerShell、Azure CLI 或 Azure REST API 来创建角色。
有关详细信息,请参阅文章使用 Azure 门户创建自定义角色和 Azure 自定义角色。
迁移到虚拟机所需的权限说明
权限操作 | 说明 |
---|---|
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 虚拟机的属性。 |
角色分配
若要将角色分配给用户/应用 ID,请打开 Azure 门户并执行以下步骤:
导航到资源,转到“访问控制”,然后滚动查找创建的自定义角色。
选择相应的角色,选择“用户或应用 ID”,然后保存更改。
该“用户或应用 ID”随即显示在“角色分配”选项卡上。
后续步骤
- 在 Microsoft 数据库迁移指南中查看适用于具体方案的迁移指导。