Partilhar via


Funções personalizadas para migrações do SQL Server para a Instância Gerenciada SQL do Azure usando o ADS

Este artigo explica como configurar uma função personalizada no Azure para migrações de banco de dados do SQL Server. A função personalizada só tem as permissões necessárias para criar e executar uma instância do Serviço de Migração de Banco de Dados do Azure com a Instância Gerenciada SQL do Azure como destino.

Use a seção AssignableScopes da cadeia de caracteres JSON de definição de função para controlar onde as permissões aparecem na interface do usuário da opção Adicionar atribuição de função no portal do Azure. Para evitar sobrecarregar a interface do usuário com funções extras, convém definir a função no nível do grupo de recursos ou até mesmo no nível do recurso. O recurso ao qual a função personalizada se aplica 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",
                    "Microsoft.DataMigration/SqlMigrationServices/tasks/read",
                    "Microsoft.DataMigration/SqlMigrationServices/tasks/write",
                    "Microsoft.DataMigration/SqlMigrationServices/tasks/delete"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Você pode usar o portal do Azure, o Azure PowerShell, a CLI do Azure ou a API REST do Azure para criar as funções.

Para obter mais informações, consulte Criar ou atualizar funções personalizadas do Azure usando o portal do Azure e funções personalizadas do Azure.

Descrição das permissões necessárias para migrar para a Instância Gerenciada SQL do Azure

Ação de permissão Descrição
Microsoft.Storage/storageAccounts/read Retorna a lista de contas de armazenamento ou obtém as propriedades da conta de armazenamento especificada.
Microsoft.Storage/storageAccounts/listkeys/action Retorna as chaves de acesso para a conta de armazenamento especificada.
Microsoft.Storage/storageAccounts/blobServices/read Listar os serviços de armazenamento de objetos binários.
Microsoft.Storage/storageAccounts/blobServices/write Retorna o resultado das propriedades do serviço "put blob".
Microsoft.Storage/storageAccounts/blobServices/containers/read Retorna lista de contêineres.
Microsoft.Sql/managedInstances/read Retorna a lista de instâncias gerenciadas ou obtém as propriedades da instância gerenciada especificada.
Microsoft.Sql/managedInstances/write Cria uma instância gerenciada com os parâmetros especificados ou atualiza as propriedades ou tags da instância gerenciada especificada.
Microsoft.Sql/managedInstances/databases/read Obtém o banco de dados gerenciado existente.
Microsoft.Sql/managedInstances/databases/write Cria um novo banco de dados ou atualiza um banco de dados existente.
Microsoft.Sql/managedInstances/databases/delete Exclui um banco de dados gerenciado existente.
Microsoft.DataMigration/locations/operationResults/read Obtenha o status de uma operação de longa duração relacionada a uma resposta 202 Aceita.
Microsoft.DataMigration/locations/operationStatuses/read Obtenha o status de uma operação de longa duração relacionada a uma resposta 202 Aceita.
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read Recuperar resultados da operação de serviço.
Microsoft.DataMigration/databaseMigrations/write Criar ou atualizar recurso de migração de banco de dados.
Microsoft.DataMigration/databaseMigrations/read Recupere o recurso de migração de banco de dados.
Microsoft.DataMigration/databaseMigrations/delete Excluir recurso de migração de banco de dados.
Microsoft.DataMigration/databaseMigrations/cancel/action Pare a migração contínua para o banco de dados.
Microsoft.DataMigration/databaseMigrations/cutover/action Operação de migração online de transição para a base de dados.
Microsoft.DataMigration/sqlMigrationServices/write Criar um novo ou alterar propriedades do Serviço existente
Microsoft.DataMigration/sqlMigrationServices/delete Exclua o Serviço existente.
Microsoft.DataMigration/sqlMigrationServices/read Recupere detalhes do Serviço de Migração.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Recupere a lista de chaves de autenticação.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Regenere as chaves de autenticação.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Cancele o registro do nó IR.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Lista os dados de monitoramento para todas as migrações.
Microsoft.DataMigration/sqlMigrationServices/listMigrations/read Lista as migrações para o usuário.
Microsoft.DataMigration/sqlMigrationServices/MonitoringData/read Recupere os dados de monitoramento.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read Recupere detalhes da máquina virtual SQL.
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write Crie uma nova ou altere as propriedades da máquina virtual SQL existente.
Microsoft.DataMigration/SqlMigrationServices/tasks/read Obter detalhes da tarefa do Serviço de Migração
Microsoft.DataMigration/SqlMigrationServices/tasks/write Criar ou atualizar tarefa do Serviço de Migração
Microsoft.DataMigration/SqlMigrationServices/tasks/delete Excluir tarefa do Serviço de Migração

Você pode obter um script de exemplo para criar um logon e provisioná-lo com as permissões necessárias, para VMware, Hyper-Vou servidores físicos, usando a autenticação do Windows ou a autenticação do SQL Server.

Atribuição de funções

Para atribuir uma função a um usuário ou a uma ID de aplicativo:

  1. No portal do Azure, vá para o recurso.

  2. No menu à esquerda, selecione controlo de acesso (IAM)e, em seguida, desloque-se para localizar as funções personalizadas que criou.

  3. Selecione as funções a atribuir, selecione o ID do utilizador ou da aplicação e, em seguida, guarde as alterações.

    O ID do usuário ou do aplicativo agora aparece no separador Atribuições de função.

  • Guia de migração de banco de dados