Partilhar via


Funções personalizadas para migrações do SQL Server para o Banco de Dados SQL do Azure no Azure Data Studio

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 o Banco de Dados 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 Adicionar atribuição de função interface do usuário 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": "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",
                    "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.

Permissões necessárias para migrar para o Banco de Dados SQL do Azure

Ação de permissão Descrição
Microsoft.Sql/servers/read Retornar a lista de recursos do banco de dados SQL ou obter as propriedades do banco de dados SQL especificado.
Microsoft.Sql/servers/write Crie um banco de dados SQL com os parâmetros especificados ou atualize as propriedades ou marcas do banco de dados SQL especificado.
Microsoft.Sql/servers/databases/read Obtenha um banco de dados SQL existente.
Microsoft.Sql/servers/databases/write Crie um novo banco de dados ou atualize um banco de dados existente.
Microsoft.Sql/servers/databases/delete Exclua um banco de dados SQL existente.
Microsoft.DataMigration/locations/operationResults/read Obtenha os resultados 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 Crie ou atualize um recurso de migração de banco de dados.
Microsoft.DataMigration/databaseMigrations/read Recupere um recurso de migração de banco de dados.
Microsoft.DataMigration/databaseMigrations/delete Exclua um 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/sqlMigrationServices/write Crie um novo serviço ou altere as propriedades de um serviço existente.
Microsoft.DataMigration/sqlMigrationServices/delete Excluir um serviço existente.
Microsoft.DataMigration/sqlMigrationServices/read Recupere os 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 Desregiste o nó de runtime da integração.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Liste 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.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, desça para encontrar as funções personalizadas que você 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 utilizador ou do aplicativo agora aparece no separador Atribuições de função.

  • Guia de migração de banco de dados