Пользовательские роли для SQL Server миграции базы данных Azure SQL в Azure Data Studio

В этой статье объясняется, как настроить настраиваемую роль в Azure для миграции SQL Server баз данных. Пользовательская роль будет иметь только разрешения, необходимые для создания и запуска экземпляра Azure Database Migration Service с Azure SQL Database в качестве целевого объекта.

Используйте раздел AssignableScopes строки JSON определения роли, чтобы указать, где разрешения отображаются в пользовательском интерфейсе добавления назначения ролей в портал Azure. Чтобы избежать загромождения пользовательского интерфейса дополнительными ролями, может потребоваться определить роль на уровне группы ресурсов или даже на уровне ресурса. Ресурс, к которому применяется настраиваемая роль, не выполняет фактическое назначение роли.

{
    "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 Accepted.
Microsoft.DataMigration/locations/operationStatuses/read Получение состояния длительной операции, связанной с ответом 202 Accepted.
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 Получение данных мониторинга.

Назначение роли

Чтобы назначить роль пользователю или идентификатору приложения, выполните приведенные далее действия.

  1. В портал Azure перейдите к ресурсу.

  2. В меню слева выберите Управление доступом (IAM) и прокрутите страницу, чтобы найти созданные пользовательские роли.

  3. Выберите роли для назначения, выберите идентификатор пользователя или приложения, а затем сохраните изменения.

    Идентификатор пользователя или приложения теперь отображается на вкладке Назначения ролей .

Дальнейшие действия