Funções personalizadas para SQL Server para Azure SQL Managed Instance migrações com ADS

Este artigo explica como configurar uma função personalizada no Azure para Migrações de Bases de Dados. A função personalizada terá apenas as permissões necessárias para criar e executar um Database Migration Service com SQL Managed Instance como destino.

A secção AssignableScopes da cadeia json de definição de função permite-lhe controlar onde as permissões aparecem na IU Adicionar Atribuição de Funções no portal. É provável que pretenda definir a função no grupo de recursos ou mesmo ao nível dos recursos para evitar a desorganização da IU com funções adicionais. Isto não executa a atribuição de função real.

{
    "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": []
            }
        ]
    }
}

Pode utilizar o portal do Azure, o AZ PowerShell, a CLI do Azure ou a API REST do Azure para criar as funções.

Para obter mais informações, veja os artigos Criar funções personalizadas com o portal do Azure e as funções personalizadas do Azure.

Descrição das permissões necessárias para migrar para Azure SQL Managed Instance

Ação de Permissão Description
Microsoft.Storage/storageAccounts/read Devolve a lista de contas de armazenamento ou obtém as propriedades da conta de armazenamento especificada.
Microsoft.Storage/storageAccounts/listkeys/action Devolve as chaves de acesso da conta de armazenamento especificada.
Microsoft.Storage/storageAccounts/blobServices/read Listar serviços de blobs.
Microsoft.Storage/storageAccounts/blobServices/write Devolve o resultado das propriedades do serviço put blob.
Microsoft.Storage/storageAccounts/blobServices/containers/read Devolve a lista de contentores.
Microsoft.Sql/managedInstances/read Devolva a lista de instâncias geridas ou obtenha as propriedades da instância gerida especificada.
Microsoft.Sql/managedInstances/write Cria uma instância gerida com os parâmetros especificados ou atualiza as propriedades ou etiquetas da instância gerida especificada.
Microsoft.Sql/managedInstances/databases/read Obtém a base de dados gerida existente.
Microsoft.Sql/managedInstances/databases/write Cria uma nova base de dados ou atualiza uma base de dados existente.
Microsoft.Sql/managedInstances/databases/delete Elimina uma base de dados gerida existente.
Microsoft.DataMigration/locations/operationResults/read Obtenha o estado de uma operação de execução prolongada relacionada com uma resposta 202 Aceite.
Microsoft.DataMigration/locations/operationStatuses/read Obtenha o estado de uma operação de execução prolongada relacionada com uma resposta 202 Aceite.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Obter Resultados da Operação de Serviço.
Microsoft.DataMigration/databaseMigrations/write Criar ou Atualizar recurso de Migração da Base de Dados.
Microsoft.DataMigration/databaseMigrations/read Obter o recurso de Migração da Base de Dados.
Microsoft.DataMigration/databaseMigrations/delete Eliminar recurso de Migração de Base de Dados.
Microsoft.DataMigration/databaseMigrations/cancel/action Pare a migração contínua para a base de dados.
Microsoft.DataMigration/databaseMigrations/cutover/action Operação de migração online de transferência para a base de dados.
Microsoft.DataMigration/sqlMigrationServices/write Criar uma propriedade nova ou alterar do Serviço existente
Microsoft.DataMigration/sqlMigrationServices/delete Elimine o Serviço existente.
Microsoft.DataMigration/sqlMigrationServices/read Obtenha detalhes do Serviço de Migração.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Obtenha a Lista de Chaves de Autenticação.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Regenerar as Chaves de Autenticação.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Anular o registo do nó do IR.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Lista os Dados de Monitorização para todas as migrações.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Lista as migrações para o utilizador.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read Obtenha os Dados de Monitorização.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read Obtenha detalhes da máquina virtual SQL.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Crie uma nova ou altere as propriedades da máquina virtual SQL existente.

Atribuição de função

Para atribuir uma função aos utilizadores/ID da APLICAÇÃO, abra o portal do Azure, execute os seguintes passos:

  1. Navegue para o recurso, aceda a Controlo de Acesso e, em seguida, desloque-se para encontrar as funções personalizadas que criou.

  2. Selecione a função adequada, selecione o ID de Utilizador ou APLICAÇÃO e, em seguida, guarde as alterações.

O(s) utilizador ou ID(s) da APLICAÇÃO aparece agora listado no separador Atribuições de funções .

Passos seguintes