Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O dispositivo de Migrações para Azure é uma ferramenta leve que descobre servidores locais e envia seus dados de configuração e desempenho para o Azure. Ele também executa o inventário de software, executa a análise de dependência sem agente e detecta cargas de trabalho como aplicativos Web e instâncias do SQL Server ou do MySQL Server.
Para usar esses recursos, adicione credenciais de servidor e convidado no gerenciador de configurações do dispositivo. Seguir o princípio do privilégio mínimo ajuda a manter a configuração segura e eficiente.
Descoberta da propriedade VMware
Para descobrir as configurações básicas dos servidores em execução na propriedade VMware, você precisa das permissões a seguir.
Permissões de conta do vCenter
Descoberta de metadados do servidor
- Para descobrir as configurações básicas do servidor em um ambiente VMware, você precisa dessas permissões:
- Somente leitura: Use a função somente leitura integrada ou crie uma cópia dela.
- Para descobrir metadados do servidor e habilitar o inventário de software, a análise de dependência e as avaliações de desempenho, você precisa dessas permissões:
- Somente leitura: Use a função somente leitura integrada ou crie uma cópia dela.
- Operações de convidado: Adicione privilégios de operações de convidado à função somente leitura.
Descoberta de escopo definido de servidores VMware
- Para descobrir VMs (máquinas virtuais) específicas, atribua permissões de leitura nas VMs individuais.
- Para descobrir todas as VMs em uma pasta, atribua permissões de leitura no nível da pasta e ative a opção Propagar para filhos .
- Para habilitar o inventário de software, a análise de dependência e as avaliações de desempenho, atribua permissões de operações de convidado à conta do vCenter juntamente com permissões de leitura.
- Dê acesso de leitura a todos os objetos pai que hospedam as máquinas virtuais, como o host, o cluster, a pasta de host, a pasta de cluster e o datacenter. Você não precisa aplicar essas permissões a todos os objetos filho.
- No cliente vSphere, verifique se as permissões de leitura estão definidas em objetos pai na exibição Hosts e Clusters e na exibição VMs &Templates .
Migração sem agente
Para executar a migração sem agente, verifique se a conta do vCenter que o dispositivo de Migrações para Azure usa tem permissões em todos os níveis necessários: datacenter, cluster, host, VM e armazenamento de dados. Aplique permissões em cada nível para evitar erros de replicação.
| Nome do privilégio do vSphere | Finalidade de privilégio | Obrigatório | Nome do privilégio da API |
|---|---|---|---|
| Explorar banco de dados | Permitir que os usuários naveguem pelos arquivos de log de VM para solucionar problemas na criação e exclusão de instantâneos. | Armazenamentos de dados | Datastore.Browse |
| Operações de arquivo de baixo nível | Permitir ações de leitura, gravação, exclusão e renomeação no navegador de armazenamento de dados para solucionar problemas de criação e exclusão de instantâneos | Armazenamentos de dados | Datastore.FileManagement |
| Alterar configuração - Alternar rastreamento de alterações de disco | Permitir que os usuários habilitem ou desabilitem o controle de alterações de discos de VM para efetuar pull de blocos de dados alterados entre instantâneos | Máquinas virtuais | VirtualMachine.Config.ChangeTracking |
| Alterar Configuração – Adquirir arrendamento de disco | Permitir que operações de concessão de disco em uma VM leiam o disco usando o VMware vSphere Virtual Disk Development Kit (VDDK) | Máquinas virtuais | VirtualMachine.Config.DiskLease |
| Provisionamento – Permitir acesso somente de leitura ao disco | Permitir acesso ao disco em modo somente leitura: acessar um disco em uma VM para leitura usando o VDDK. | Máquinas virtuais | VirtualMachine.Provisioning.DiskRandomRead |
| Provisionamento – Permitir acesso ao disco | Permitir a abertura de um disco em uma VM para ler o disco usando o VDDK | Máquinas virtuais | VirtualMachine.Provisioning.DiskRandomAccess |
| Provisionamento – Permitir o download da máquina virtual | Permitir o download das máquinas virtuais para que possam ser lidos os arquivos de VM, obtidos os logs e solucionados problemas e falhas. | Host raiz ou vCenter Server | VirtualMachine.Provisioning.GetVmFiles |
| Gerenciamento de instantâneo | Permitir descoberta, inventário de software e mapeamento de dependência em VMs | Máquinas virtuais | VirtualMachine.State.* |
| Operações de convidado | Permitir a criação e o gerenciamento de instantâneos de VM para replicação | Máquinas virtuais | VirtualMachine.GuestOperations.* |
| Interação Desligada | Permitir que a VM seja desativada durante a migração para o Azure | Máquinas virtuais | VirtualMachine.Interact.PowerOff |
Descoberta de convidado de software, dependências e cargas de trabalho instaladas
Para descobrir efetivamente o software, as dependências do aplicativo e as cargas de trabalho em servidores de destino, o dispositivo de Migrações para Azure requer credenciais do sistema operacional convidado (SO). Essas credenciais permitem que o dispositivo se conecte com segurança aos servidores e colete dados detalhados de inventário e desempenho.
Descoberta rápida de convidados
Para a descoberta rápida de inventário de software, dependências de servidor e instâncias de banco de dados, você precisa das seguintes permissões:
| Caso de uso | Metadados descobertos | Tipo de credencial | Permissões seguras |
|---|---|---|---|
| Descoberta rápida de convidados | Inventário de software Dependências do servidor (dados limitados) Inventário de instâncias de banco de dados |
Windows Linux |
Conta de usuário convidado local Qualquer conta de usuário convidado não Sudo |
Observação
Você pode usar um convidado do Windows ou uma conta de usuário não Sudo do Linux para obter dados de mapeamento de dependência. Mas, com contas com menos privilégios, talvez você não colete informações do processo (como nome do processo ou nome do aplicativo) para alguns processos executados com privilégios mais altos. Esses processos aparecem como Desconhecidos no computador no modo de exibição de servidor único.
Descoberta aprofundada dos hóspedes
Para a descoberta detalhada de inventário de software, dependências de servidor e aplicativos Web, como .NET e Java Tomcat, você precisa das seguintes permissões:
| Caso de uso | Metadados descobertos | Tipo de credencial | Permissões necessárias |
|---|---|---|---|
| Descoberta aprofundada dos hóspedes | Inventário de software Dependências do servidor (dados completos) Inventário de instâncias de banco de dados Aplicativos Web como .NET e Java Tomcat |
Windows | Administradores |
| Descoberta aprofundada dos hóspedes | Inventário de software Dependências do servidor (dados completos) Inventário de instâncias de banco de dados Aplicativos Web como .NET e Java Tomcat |
Linux | As seguintes permissões sudo são necessárias para identificar as dependências do servidor: /usr/bin/netstat e /usr/bin/ls. Se netstat não estiver disponível, serão necessárias permissões Sudo em ss. Para a descoberta de aplicativos Web Java (servidores Tomcat), o usuário deve ter permissões de leitura e execução ( r-x) em todos os diretórios base do Catalina. Use o seguinte comando para localizar todas as casas Catalina: ps -ef \| grep catalina.home. Aqui está um comando de exemplo para configurar um usuário com menos privilégios: setfacl -m u:<username>:rx <catalina/home/path>. |
Descoberta da propriedade Hyper-V
Para encontrar as configurações básicas dos servidores em execução na infraestrutura do Hyper-V, você precisa de certas permissões. Em todos os hosts Hyper-V, crie um usuário local que faça parte desses três grupos:
- administradores do Hyper-V
- Usuários do monitor de desempenho
- Usuários de gerenciamento remoto
Use o script para preparar os hosts do Hyper-V.
Para uma exploração aprofundada da infraestrutura Hyper-V e para executar o inventário de software e a análise de dependência, as credenciais da conta de convidado são necessárias.
Descoberta de servidores físicos e de nuvem
Para descobrir e avaliar servidores físicos ou servidores hospedados em outras nuvens públicas, o dispositivo de Migrações para Azure requer credenciais com acesso menos privilegiado. Essas credenciais permitem que o dispositivo se conecte e colete os dados necessários sem exexpor demais as permissões confidenciais do sistema.
Descoberta rápida do servidor
Para a descoberta rápida de inventário de software, dependências de servidor e instâncias de banco de dados, você precisa das seguintes permissões:
| Caso de uso | Metadados descobertos | Tipo de credencial | Detalhes |
|---|---|---|---|
| Descoberta rápida do servidor | Inventário de software Análise de dependência sem agente (dados limitados) Inventário de carga de trabalho de bancos de dados e aplicativos Web |
Windows | Siga esses passos |
| Descoberta rápida do servidor | Inventário de software Análise de dependência sem agente (dados completos) Inventário de carga de trabalho de bancos de dados e aplicativos Web |
Linux | Siga esses passos |
Servidores Windows
Para a descoberta rápida de servidores Windows, crie uma conta de usuário do Windows que pertença aos seguintes grupos de usuários:
- Usuários de gerenciamento remoto
- Usuários do monitor de desempenho
- Usuários de log de desempenho
A conta de usuário convidado precisa de permissão para acessar o namespace CIMV2 e seus sub-namespaces no item controle WMI no Painel de Controle. Para definir o acesso, use as seguintes etapas:
No servidor Windows de destino, vá para o menu Iniciar , pesquise Executar e selecione-o.
Na caixa de diálogo Executar , digite
wmimgmt.msce pressione a tecla Enter.No console wmimgmt , clique com o botão direito do mouse em Controle WMI (Local) e selecione Propriedades.
Na caixa de diálogo Propriedades do Controle WMI (Local), selecione a guia Segurança .
Expanda a pasta Raiz na árvore de namespace e selecione o namespace CIMV2 .
Selecione Segurança para abrir a caixa de diálogo Segurança para ROOT\CIMV2 .
Na seção Grupo ou nomes de usuário , selecione Adicionar para abrir a caixa de diálogo Selecionar Usuários ou Grupos .
Pesquise a conta de usuário, selecione-a e selecione OK para retornar à caixa de diálogo Segurança para ROOT\CIMV2 .
Na seção Grupo ou nomes de usuário , selecione a conta de usuário convidado. Valide se as seguintes permissões são permitidas:
- Habilitar Conta
- Habilitação Remota
Selecione Aplicar para habilitar as permissões definidas na conta de usuário.
Reinicie o serviço WinRM depois de adicionar o novo usuário convidado.
Servidores Linux
Para descoberta rápida de servidores Linux:
Criar uma conta de usuário; por exemplo,
AzMigrateLeastprivuser.Conceda privilégios do Sudo ao usuário apenas para os comandos necessários adicionando a seguinte linha no
/etc/sudoersarquivo:AzMigrateLeastprivuser ALL=(ALL) NOPASSWD: /usr/sbin/dmidecode, /usr/sbin/fdisk -l, /usr/sbin/fdisk -l *, /usr/bin/ls -l /proc/*/exe, /usr/bin/netstat -atnp, /usr/sbin/lvdisplay "" Defaults:AzMigrateLeastprivuser !requiretty
Descoberta detalhada do servidor
Para a descoberta detalhada de inventário de software, dependências de servidor e aplicativos Web, como .NET e Java Tomcat, você precisa das seguintes permissões:
| Caso de uso | Metadados descobertos | Tipo de credencial | Comandos para configurar |
|---|---|---|---|
| Descoberta detalhada do servidor | Descoberta detalhada de aplicativos Web, como .NET e Java Tomcat Análise de dependência sem agente (dados completos) |
Windows Linux |
Permissões de administrador são necessárias. Para descobrir aplicativos Web Java em servidores Tomcat, a conta de usuário precisa de permissões de leitura e execução ( r-x) em todos os diretórios base do Catalina.Use o seguinte comando para localizar todas as casas Catalina: ps -ef \| grep catalina.home.Aqui está um comando de exemplo para configurar um usuário com menos privilégios: setfacl -m u:<username>:rx <catalina/home/path>. |
Descoberta de banco de dados
O inventário de software é necessário para iniciar a descoberta de carga de trabalho. Para habilitá-lo, verifique se as credenciais de convidado são adicionadas. As permissões para descobrir bancos de dados SQL e MySQL são as mesmas para todos os tipos de dispositivo: VMware, Hyper-V e servidores físicos.
Descubra instâncias e bancos de dados do SQL Server
Crie contas com privilégios mínimos em instâncias individuais do SQL Server. Use a autenticação do Windows e atribua apenas as permissões necessárias.
autenticação do Windows
-- Create a login to run the assessment.
use master;
DECLARE @SID NVARCHAR(MAX) = N'';
CREATE LOGIN [MYDOMAIN\MYACCOUNT] FROM WINDOWS;
SELECT @SID = N'0x'+CONVERT(NVARCHAR, sid, 2) FROM sys.syslogins where name = 'MYDOMAIN\MYACCOUNT'
IF (ISNULL(@SID,'') != '')
PRINT N'Created login [MYDOMAIN\MYACCOUNT] with SID = ' + @SID
ELSE
PRINT N'Login creation failed'
GO
-- Create a user in every database other than tempdb, model, and secondary AG databases (with connection_type = ALL) and provide minimal read-only permissions.
USE master;
EXECUTE sp_MSforeachdb '
USE [?];
IF (''?'' NOT IN (''tempdb'',''model''))
BEGIN
DECLARE @is_secondary_replica BIT = 0;
IF CAST(PARSENAME(CAST(SERVERPROPERTY(''ProductVersion'') AS VARCHAR), 4) AS INT) >= 11
BEGIN
DECLARE @innersql NVARCHAR(MAX);
SET @innersql = N''
SELECT @is_secondary_replica = IIF(
EXISTS (
SELECT 1
FROM sys.availability_replicas a
INNER JOIN sys.dm_hadr_database_replica_states b
ON a.replica_id = b.replica_id
WHERE b.is_local = 1
AND b.is_primary_replica = 0
AND a.secondary_role_allow_connections = 2
AND b.database_id = DB_ID()
), 1, 0
);
'';
EXEC sp_executesql @innersql, N''@is_secondary_replica BIT OUTPUT'', @is_secondary_replica OUTPUT;
END
IF (@is_secondary_replica = 0)
BEGIN
CREATE USER [MYDOMAIN\MYACCOUNT] FOR LOGIN [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON sys.sql_expression_dependencies TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW DATABASE STATE TO [MYDOMAIN\MYACCOUNT];
END
END'
GO
-- Provide server-level read-only permissions.
use master;
GRANT SELECT ON sys.sql_expression_dependencies TO [MYDOMAIN\MYACCOUNT];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [MYDOMAIN\MYACCOUNT];
GRANT EXECUTE ON OBJECT::sys.xp_instance_regread TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW DATABASE STATE TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW SERVER STATE TO [MYDOMAIN\MYACCOUNT];
GRANT VIEW ANY DEFINITION TO [MYDOMAIN\MYACCOUNT];
GO
-- Provide msdb-specific permissions.
use msdb;
GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [MYDOMAIN\MYACCOUNT];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [MYDOMAIN\MYACCOUNT];
GO
-- Clean up
--use master;
-- EXECUTE sp_MSforeachdb 'USE [?]; DROP USER [MYDOMAIN\MYACCOUNT]'
-- DROP LOGIN [MYDOMAIN\MYACCOUNT];
--GO
Autenticação do SQL Server
--- Create a login to run the assessment.
use master;
-- NOTE: SQL Server instances that host replicas of Always On availability groups must use the same SID for the SQL Server login.
-- After the account is created in one of the members, copy the SID output from the script and include this value when executing against the remaining replicas.
-- When the SID needs to be specified, add the value to the following @SID variable definition.
DECLARE @SID NVARCHAR(MAX) = N'';
IF (@SID = N'')
BEGIN
CREATE LOGIN [evaluator]
WITH PASSWORD = '<provide a strong password>'
END
ELSE
BEGIN
DECLARE @SQLString NVARCHAR(500) = 'CREATE LOGIN [evaluator]
WITH PASSWORD = ''<provide a strong password>''
, SID = ' + @SID
EXEC SP_EXECUTESQL @SQLString
END
SELECT @SID = N'0x'+CONVERT(NVARCHAR(100), sid, 2) FROM sys.syslogins where name = 'evaluator'
IF (ISNULL(@SID,'') != '')
PRINT N'Created login [evaluator] with SID = '''+ @SID +'''. If this instance hosts any Always On Availability Group replica, use this SID value when executing the script against the instances hosting the other replicas'
ELSE
PRINT N'Login creation failed'
GO
-- Create a user in every database other than tempdb, model, and secondary AG databases (with connection_type = ALL) and provide minimal read-only permissions.
USE master;
EXECUTE sp_MSforeachdb '
USE [?];
IF (''?'' NOT IN (''tempdb'',''model''))
BEGIN
DECLARE @is_secondary_replica BIT = 0;
IF CAST(PARSENAME(CAST(SERVERPROPERTY(''ProductVersion'') AS VARCHAR), 4) AS INT) >= 11
BEGIN
DECLARE @innersql NVARCHAR(MAX);
SET @innersql = N''
SELECT @is_secondary_replica = IIF(
EXISTS (
SELECT 1
FROM sys.availability_replicas a
INNER JOIN sys.dm_hadr_database_replica_states b
ON a.replica_id = b.replica_id
WHERE b.is_local = 1
AND b.is_primary_replica = 0
AND a.secondary_role_allow_connections = 2
AND b.database_id = DB_ID()
), 1, 0
);
'';
EXEC sp_executesql @innersql, N''@is_secondary_replica BIT OUTPUT'', @is_secondary_replica OUTPUT;
END
IF (@is_secondary_replica = 0)
BEGIN
CREATE USER [evaluator] FOR LOGIN [evaluator];
GRANT SELECT ON sys.sql_expression_dependencies TO [evaluator];
GRANT VIEW DATABASE STATE TO [evaluator];
END
END'
GO
-- Provide server-level read-only permissions.
USE master;
GRANT SELECT ON sys.sql_expression_dependencies TO [evaluator];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [evaluator];
GRANT EXECUTE ON OBJECT::sys.xp_instance_regread TO [evaluator];
GRANT VIEW DATABASE STATE TO [evaluator];
GRANT VIEW SERVER STATE TO [evaluator];
GRANT VIEW ANY DEFINITION TO [evaluator];
GO
-- Provide msdb-specific permissions.
USE msdb;
GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [evaluator];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [evaluator];
GO
-- Clean up
--use master;
-- EXECUTE sp_MSforeachdb 'USE [?]; BEGIN TRY DROP USER [evaluator] END TRY BEGIN CATCH PRINT ERROR_MESSAGE() END CATCH;'
-- BEGIN TRY DROP LOGIN [evaluator] END TRY BEGIN CATCH PRINT ERROR_MESSAGE() END CATCH;
--GO
Para obter informações sobre como configurar contas SQL personalizadas com privilégios mínimos em larga escala, consulte Provisionar contas personalizadas com privilégios mínimos para descoberta e avaliação do SQL Server.
Descoberta de instâncias e bancos de dados do MySQL Server
Para descobrir bancos de dados MySQL, adicione credenciais de banco de dados MySQL ao dispositivo.
Verifique se o usuário que corresponde às credenciais mySQL adicionadas tem os seguintes privilégios:
- Selecionar permissões nas tabelas
information_schema - Selecionar permissões nas tabelas
mysql.users
Para a descoberta do MySQL, verifique se o IP ou domínio do dispositivo é permitido configurando as regras de firewall necessárias e os privilégios de usuário do MySQL. O endereço de associação em my.cnf também deve ser definido para permitir conexões externas, se necessário.
Use os seguintes comandos para conceder os privilégios necessários ao usuário do MySQL:
GRANT USAGE ON *.* TO 'username'@'ip';
GRANT PROCESS ON *.* TO 'username'@'ip';
GRANT SELECT (User, Host, Super_priv, File_priv, Create_tablespace_priv, Shutdown_priv) ON mysql.user TO 'username'@'ip';
GRANT SELECT ON information_schema.* TO 'username'@'ip';
GRANT SELECT ON performance_schema.* TO 'username'@'ip';
Conteúdo relacionado
- Saiba como descobrir o inventário do VMware.
- Saiba como descobrir o ambiente Hyper-V.
- Saiba como descobrir servidores físicos ou servidores em execução em uma nuvem pública.