Пользовательские роли для SQL Server миграции Управляемый экземпляр SQL Azure с помощью ADS

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

Управлять отображением разрешений в пользовательском интерфейсе назначения ролей на портале позволяет раздел AssignableScopes JSON-строки определения роли. Обычно роль определяется на уровне группы ресурсов или даже отдельных ресурсов, чтобы избежать загромождения пользовательского интерфейса лишними ролями. Это не выполняет фактическое назначение роли.

{
    "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, AZ PowerShell, Azure CLI или AZURE REST API.

Дополнительные сведения см. в статьях Создание настраиваемых ролей с помощью портал Azure и настраиваемых ролей Azure.

Описание разрешений, необходимых для миграции в Управляемый экземпляр SQL Azure

Действие разрешения Описание
Microsoft.Storage/storageAccounts/read Возвращает список учетных записей хранения или свойства указанной учетной записи хранения.
Microsoft.Storage/storageAccounts/listkeys/action Возвращает ключи доступа для указанной учетной записи хранения.
Microsoft.Storage/storageAccounts/blobServices/read Перечисление служб BLOB-объектов.
Microsoft.Storage/storageAccounts/blobServices/write Возвращает результат свойств службы BLOB-объектов put.
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 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/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.

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

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

  1. Перейдите к ресурсу, перейдите к контроль доступа, а затем прокрутите страницу, чтобы найти созданные настраиваемые роли.

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

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

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