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:
No portal do Azure, vá para o recurso.
No menu à esquerda, selecione controlo de acesso (IAM)e, em seguida, desloque-se para localizar as funções personalizadas que criou.
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.