Funções personalizadas para migrações do SQL Server para Máquinas Virtuais 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 tem apenas as permissões necessárias para criar e executar um Serviço de Migração de Banco de Dados do Azure com uma Máquina Virtual do Azure como destino.
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 executa a atribuição de função de fato.
{
"properties": {
"roleName": "DmsCustomRoleDemoForVM",
"description": "",
"assignableScopes": [
"/subscriptions/<storageSubscription>/resourceGroups/<storageAccountRG>",
"/subscriptions/<ManagedInstanceSubscription>/resourceGroups/<virtualMachineRG>",
"/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.SqlVirtualMachine/sqlVirtualMachines/read",
"Microsoft.SqlVirtualMachine/sqlVirtualMachines/write",
"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"
],
"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.
Descrição das permissões necessárias para migrar para uma máquina virtual
Ação de permissão | Descrição |
---|---|
Microsoft.Storage/storageAccounts/read |
Retornar a lista de contas de armazenamento ou obter as propriedades da conta de armazenamento especificada. |
Microsoft.Storage/storageAccounts/listkeys/action |
Retornar as chaves de acesso da conta de armazenamento especificada. |
Microsoft.Storage/storageAccounts/blobServices/read |
Lista os serviços de blob. |
Microsoft.Storage/storageAccounts/blobServices/write |
Retorna o resultado da inserção de propriedades do serviço de blob. |
Microsoft.Storage/storageAccounts/blobServices/containers/read |
Retorna a lista de contêineres. |
Microsoft.Sql/managedInstances/read |
Retornar a lista de instâncias gerenciadas ou obter as propriedades para a instância gerenciada especificada. |
Microsoft.Sql/managedInstances/write |
Criar uma instância gerenciada com os parâmetros especificados ou atualizar as propriedades ou marcas para a instância gerenciada especificada. |
Microsoft.Sql/managedInstances/databases/read |
Obtém um 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 |
Obtém o status de uma operação de execução longa relacionada a uma resposta 202 – Aceito. |
Microsoft.DataMigration/locations/operationStatuses/read |
Obtém o status de uma operação de execução longa relacionada a uma resposta 202 – Aceito. |
Microsoft.DataMigration/locations/sqlMigrationServiceOperationResults/read |
Recupera resultados da operação de serviço. |
Microsoft.DataMigration/databaseMigrations/write |
Cria ou atualiza o recurso de Migração de Banco de Dados. |
Microsoft.DataMigration/databaseMigrations/read |
Recupera o recurso de Migração de Banco de Dados. |
Microsoft.DataMigration/databaseMigrations/delete |
Exclui o 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/databaseMigrations/cutover/action |
Operação de migração online de substituição para o banco de dados. |
Microsoft.DataMigration/sqlMigrationServices/write |
Cria uma propriedade nova ou alterada do Serviço existente |
Microsoft.DataMigration/sqlMigrationServices/delete |
Exclui o serviço existente. |
Microsoft.DataMigration/sqlMigrationServices/read |
Recupera detalhes do serviço de migração. |
Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action |
Recupera a lista de chaves de autenticação. |
Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action |
Regenera as chaves de autenticação. |
Microsoft.DataMigration/sqlMigrationServices/deleteNode/action |
Cancela o registro do nó de 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 |
Recupera os dados de monitoramento. |
Microsoft.SqlVirtualMachine/sqlVirtualMachines/read |
Recupera detalhes da máquina virtual do SQL. |
Microsoft.SqlVirtualMachine/sqlVirtualMachines/write |
Cria uma propriedade ou altera as propriedades de uma máquina virtual do SQL. |
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:
No portal do Azure, vá para o recurso.
No menu à esquerda, selecione Controle de acesso (IAM) e faça a rolagem para encontrar as funções personalizadas que você criou.
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.