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ção no portal. É provável que queira definir a função ao nível do grupo de recursos ou até mesmo do recurso para evitar desorganização da IU com funções adicionais. Esta ação não efetua 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 Descrição
Microsoft. Armazenamento/storageAccounts/read Devolve a lista de contas de armazenamento ou obtém as propriedades da conta de armazenamento especificada.
Microsoft. Armazenamento/storageAccounts/listkeys/action Devolve as chaves de acesso para a conta de armazenamento especificada.
Microsoft. Armazenamento/storageAccounts/blobServices/read Listar serviços de blobs.
Microsoft. Armazenamento/storageAccounts/blobServices/write Devolve o resultado das propriedades do serviço put blob.
Microsoft. Armazenamento/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/bases de dados/escrita 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 de Base de Dados.
Microsoft. DataMigration/databaseMigrations/read Obtenha o recurso de Migração de 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 os 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 Des registe o 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 os detalhes da máquina virtual do 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 a 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