Compartilhar via


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

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 é configurada apenas com as permissões necessárias para iniciar e executar migrações usando uma instância do Serviço de Migração de Banco de Dados do Azure, visando o Banco de Dados SQL do Azure. Para provisionar uma nova instância do Serviço de Migração de Banco de Dados do Azure, o usuário deve receber a função Proprietário ou Colaborador no nível da assinatura.

Use a seção AssignableScopes da cadeia de caracteres JSON de definição de função para controlar o local em que as permissões serão exibidas na interface do usuário de Adicionar atribuição de função no portal do Azure. Para evitar a desorganização da interface do usuário com funções extras, é necessário 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 realiza a atribuição real da função.

{
    "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, confira 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 Devolver a lista de recursos do banco de dados SQL ou obter as propriedades do banco de dados SQL especificado.
Microsoft.Sql/servers/write Criar um banco de dados SQL com os parâmetros especificados ou atualizar as propriedades ou marcas para o banco de dados SQL especificado.
Microsoft.Sql/servers/databases/read Obter um banco de dados SQL existente.
Microsoft.Sql/servers/databases/write Criar um novo banco de dados ou atualizar um existente.
Microsoft.Sql/servers/databases/delete Excluir um banco de dados SQL existente.
Microsoft.DataMigration/locations/operationResults/read Obter os resultados de uma operação de longa duração associada a uma resposta 202 Accepted.
Microsoft.DataMigration/locations/operationStatuses/read Obtém o status de uma operação de execução longa 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 Recuperar um recurso de migração de banco de dados.
Microsoft.DataMigration/databaseMigrations/delete Excluir um recurso de migração de banco de dados.
Microsoft.DataMigration/databaseMigrations/cancel/action Interrompe a migração contínua para o banco de dados.
Microsoft.DataMigration/sqlMigrationServices/write Criar um novo serviço ou alterar as propriedades de um serviço existente.
Microsoft.DataMigration/sqlMigrationServices/delete Excluir um serviço existente.
Microsoft.DataMigration/sqlMigrationServices/read Recuperar os detalhes do serviço de migração.
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action Recuperar a lista de chaves de autenticação.
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action Regenerar as chaves de autenticação.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Cancelar registro do nó do runtime de integração.
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 Recuperar os dados de monitoramento.
Microsoft.DataMigration/SqlMigrationServices/tasks/read Obter detalhes da Tarefa do Serviço de Migração
Microsoft.DataMigration/SqlMigrationServices/tasks/write Tarefa Criar ou Atualizar Serviço de Migração
Microsoft.DataMigration/SqlMigrationServices/tasks/delete Excluir Tarefa do Serviço de Migração

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

Atribuição de função

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

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

  2. No menu à esquerda, selecione Controle de acesso (IAM) e faça a rolagem para encontrar as funções personalizadas que você criou.

  3. Selecione a função para atribuir, selecione o usuário ou a ID do aplicativo e salve as alterações.

    Agora. os usuários ou as IDs de aplicativo são exibidas na guia Atribuições de função.