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

Este artigo explica como configurar uma função personalizada no Azure para migrações de bases de dados SQL Server. Uma função personalizada terá apenas as permissões necessárias para criar e executar uma instância de Azure Database Migration Service com SQL do Azure Base de Dados como destino.

Utilize a secção AssignableScopes da cadeia JSON de definição de função para controlar onde as permissões aparecem na IU Adicionar atribuição de função no portal do Azure. Para evitar a desorganização da IU com funções adicionais, poderá querer definir a função ao nível do grupo de recursos ou até mesmo o nível do recurso. O recurso a que 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"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

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

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

Permissões necessárias para migrar para a Base de Dados do SQL do Azure

Ação de permissão Description
Microsoft.Sql/servers/read Devolva a lista de recursos da base de dados SQL ou obtenha as propriedades da base de dados SQL especificada.
Microsoft.Sql/servers/write Crie uma base de dados SQL com os parâmetros especificados ou atualize as propriedades ou etiquetas da base de dados SQL especificada.
Microsoft.Sql/servers/databases/read Obter uma base de dados SQL existente.
Microsoft.Sql/servers/databases/write Crie uma nova base de dados ou atualize uma base de dados existente.
Microsoft.Sql/servers/databases/delete Eliminar uma base de dados SQL existente.
Microsoft.DataMigration/locations/operationResults/read Obtenha os resultados 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 os resultados da operação de serviço.
Microsoft.DataMigration/databaseMigrations/write Criar ou atualizar um recurso de migração de base de dados.
Microsoft.DataMigration/databaseMigrations/read Obter um recurso de migração de base de dados.
Microsoft.DataMigration/databaseMigrations/delete Eliminar um 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/sqlMigrationServices/write Crie um novo serviço ou altere as propriedades de um serviço existente.
Microsoft.DataMigration/sqlMigrationServices/delete Eliminar um 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 chaves de autenticação.
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action Anular o registo do nó do runtime de integração.
Microsoft.DataMigration/sqlMigrationServices/listMonitoringData/action Liste os dados de monitorização de 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.

Atribuir uma função

Para atribuir uma função a um utilizador ou ID de aplicação:

  1. Na portal do Azure, aceda ao recurso.

  2. No menu esquerdo, selecione Controlo de acesso (IAM) e, em seguida, desloque-se para encontrar 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 utilizador ou da aplicação aparece agora no separador Atribuições de funções .

Passos seguintes