你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

用于在 Azure Data Studio 中SQL Server Azure SQL数据库迁移的自定义角色

本文介绍如何在 Azure 中为 SQL Server 数据库迁移设置自定义角色。 自定义角色仅具有创建和运行以 Azure SQL Database 为目标的 Azure 数据库迁移服务 实例所需的权限。

使用角色定义 JSON 字符串的 AssignableScopes 部分,可以控制权限在 Azure 门户上“添加角色分配”UI 中的显示位置。 为了避免额外的角色使 UI 混乱,可能需要在资源组级别甚至资源级别定义角色。 自定义角色适用的资源不执行实际的角色分配。

{
    "properties": {
        "roleName": "DmsCustomRoleDemoForSqlDB",
        "description": "",
        "assignableScopes": [
            "/subscriptions/<SQLDatabaseSubscription>/resourceGroups/<SQLDatabaseResourceGroup>",
            "/subscriptions/<DatabaseMigrationServiceSubscription>/resourceGroups/<DatabaseMigrationServiceResourceGroup>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Sql/servers/read",
                    "Microsoft.Sql/servers/write",
                    "Microsoft.Sql/servers/databases/read",
                    "Microsoft.Sql/servers/databases/write",
                    "Microsoft.Sql/servers/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/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 SQL 数据库所需的权限

权限操作 说明
Microsoft.Sql/servers/read 返回 SQL 数据库资源列表,或获取指定 SQL 数据库的属性。
Microsoft.Sql/servers/write 使用指定的参数创建 SQL 数据库,或更新指定 SQL 数据库的属性或标记。
Microsoft.Sql/servers/databases/read 获取现有 SQL 数据库。
Microsoft.Sql/servers/databases/write 创建新数据库或更新除现有数据库。
Microsoft.Sql/servers/databases/delete 删除现有 SQL 数据库。
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/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 检索监视数据。

分配角色

向用户或应用 ID 分配角色:

  1. 在 Azure 门户中,转到资源。

  2. 在左侧菜单中,选择“访问控制 (IAM)”,然后滚动查找创建的自定义角色。

  3. 选择要分配的角色,选择用户或应用 ID,然后保存更改。

    用户或应用 ID 随即显示在“角色分配”选项卡上。

后续步骤