Operações de manutenção do provedor de recursos SQLSQL resource provider maintenance operations

O provedor de recursos SQL é executado em uma VM (máquina virtual) bloqueada.The SQL resource provider runs on a locked down virtual machine (VM). Para habilitar as operações de manutenção, você precisa atualizar a segurança da VM.To enable maintenance operations, you need to update the VM's security. Para fazer isso usando a entidade de privilégio mínimo, use o ponto de extremidade do PowerShell Jea (administração suficiente) DBAdapterMaintenance.To do this using the principal of Least Privilege, use PowerShell Just Enough Administration (JEA) endpoint DBAdapterMaintenance. O pacote de instalação do provedor de recursos inclui um script para esta ação.The resource provider installation package includes a script for this action.

Aplicando patch e atualizandoPatching and updating

O provedor de recursos SQL não é atendido como parte do Hub Azure Stack porque ele é um componente complementar.The SQL resource provider isn't serviced as part of Azure Stack Hub because it's an add-on component. A Microsoft fornece atualizações para o provedor de recursos SQL, conforme necessário.Microsoft provides updates to the SQL resource provider as necessary. Quando um adaptador SQL atualizado é liberado, um script é fornecido para aplicar a atualização.When an updated SQL adapter is released, a script is provided to apply the update. Esse script cria uma nova VM do provedor de recursos, migrando o estado da VM do provedor antigo para a nova VM.This script creates a new resource provider VM, migrating the state of the old provider VM to the new VM. Para obter mais informações, consulte atualizar o provedor de recursos SQL.For more information, see Update the SQL resource provider.

VM do provedorProvider VM

Como o provedor de recursos é executado em uma VM de usuário , você precisa aplicar os patches e atualizações necessários quando eles são liberados.Because the resource provider runs on a user VM, you need to apply the required patches and updates when they're released. Use os pacotes do Windows Update que são fornecidos como parte do ciclo de patch e atualização para aplicar atualizações à VM.Use the Windows update packages that are provided as part of the patch-and-update cycle to apply updates to the VM.

Atualizando credenciais do SQLUpdating SQL credentials

Você é responsável por criar e manter contas sysadmin em seus servidores SQL.You're responsible for creating and maintaining sysadmin accounts on your SQL servers. O provedor de recursos precisa de uma conta com esses privilégios para gerenciar bancos de dados para usuários, mas ele não precisa de acesso a eles.The resource provider needs an account with these privileges to manage databases for users, but it doesn't need access to the users' data. Se você precisar atualizar as senhas sysadmin nos SQL Servers, poderá usar a interface de administrador do provedor de recursos para alterar uma senha armazenada.If you need to update the sysadmin passwords on your SQL servers, you can use the resource provider's administrator interface to change a stored password. Essas senhas são armazenadas em um Key Vault em sua instância de Hub de Azure Stack.These passwords are stored in a Key Vault on your Azure Stack Hub instance.

Para modificar as configurações, selecione procurar > recursos administrativos > servidores de hospedagem SQL > logons do SQL e selecione um nome de usuário.To modify the settings, select Browse > ADMINISTRATIVE RESOURCES > SQL Hosting Servers > SQL Logins and select a user name. A alteração deve ser feita na instância do SQL primeiro (e em todas as réplicas, se necessário). Em configurações, selecione senha.The change must be made on the SQL instance first (and any replicas, if necessary.) Under Settings, select Password.

Atualizar a senha do administrador do SQL

Rotação de segredosSecrets rotation

Estas instruções se aplicam somente a sistemas integrados de Hub Azure Stack.These instructions only apply to Azure Stack Hub Integrated Systems.

Ao usar os provedores de recursos do SQL e MySQL com sistemas integrados de Hub Azure Stack, o operador de Hub de Azure Stack é responsável por girar os segredos da infraestrutura do provedor de recursos a seguir para garantir que eles não expirem:When using the SQL and MySQL resource providers with Azure Stack Hub integrated systems, the Azure Stack Hub operator is responsible for rotating the following resource provider infrastructure secrets to ensure that they don't expire:

  • Certificado SSL externo fornecido durante a implantação.External SSL certificate provided during deployment.
  • A senha da conta do administrador local da VM do provedor de recursos fornecida durante a implantação.The resource provider VM local admin account password provided during deployment.
  • Senha do usuário de diagnóstico do provedor de recursos (dbadapterdiag).Resource provider diagnostic user (dbadapterdiag) password.
  • (versão >= 1.1.47.0) Key Vault certificado gerado durante a implantação.(version >= 1.1.47.0) Key Vault certificate generated during deployment.

Exemplos do PowerShell para rotação de segredosPowerShell examples for rotating secrets

Altere todos os segredos ao mesmo tempo.Change all the secrets at the same time.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -DiagnosticsUserPassword $passwd `
    -DependencyFilesLocalPath $certPath `
    -DefaultSSLCertificatePassword $certPasswd  `
    -VMLocalCredential $localCreds `
    -KeyVaultPfxPassword $keyvaultCertPasswd

Altere a senha do usuário de diagnóstico.Change the diagnostic user password.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -DiagnosticsUserPassword  $passwd

Altere a senha da conta do administrador local da VM.Change the VM local admin account password.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -VMLocalCredential $localCreds

Altere a senha do certificado SSL.Change the SSL certificate password.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -DependencyFilesLocalPath $certPath `
    -DefaultSSLCertificatePassword $certPasswd

Altere a senha do certificado Key Vault.Change the Key Vault certificate password.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -KeyVaultPfxPassword $keyvaultCertPasswd

SecretRotationSQLProvider.ps1 parâmetrosSecretRotationSQLProvider.ps1 parameters

ParâmetroParameter DescriçãoDescription ComentárioComment
AzureEnvironmentAzureEnvironment O ambiente do Azure da conta de administrador de serviço usada para implantar Azure Stack Hub.The Azure environment of the service admin account used for deploying Azure Stack Hub. Necessário apenas para implantações do Azure AD.Required only for Azure AD deployments. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernment ou se estiver usando uma Azure Active Directory da China, AzureChinaCloud.Supported environment names are AzureCloud, AzureUSGovernment, or if using a China Azure Active Directory, AzureChinaCloud. OpcionalOptional
AzCredentialAzCredential Azure Stack credencial da conta de administrador do serviço Hub.Azure Stack Hub service admin account credential. ObrigatórioMandatory
CloudAdminCredentialCloudAdminCredential Credencial da conta de domínio administrador de nuvem do Hub Azure Stack.Azure Stack Hub cloud admin domain account credential. ObrigatórioMandatory
PrivilegedEndpointPrivilegedEndpoint Ponto de extremidade privilegiado para acessar Get-AzureStackStampInformation.Privileged Endpoint to access Get-AzureStackStampInformation. ObrigatórioMandatory
DiagnosticsUserPasswordDiagnosticsUserPassword Senha da conta de usuário de diagnóstico.Diagnostics user account password. OpcionalOptional
VMLocalCredentialVMLocalCredential Conta de administrador local na VM MySQLAdapter.Local admin account on the MySQLAdapter VM. OpcionalOptional
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword Senha padrão do certificado SSL (*. pfx).Default SSL certificate (*.pfx) password. OpcionalOptional
DependencyFilesLocalPathDependencyFilesLocalPath Caminho local dos arquivos de dependência.Dependency files local path. OpcionalOptional
KeyVaultPfxPasswordKeyVaultPfxPassword A senha usada para gerar o certificado de Key Vault para o adaptador de banco de dados.The password used for generating the Key Vault certificate for database adapter. OpcionalOptional

Problemas conhecidosKnown issues

Problema:Issue:
Logs de rotação de segredos.Secrets rotation logs. Os logs para a rotação de segredos não serão coletados automaticamente se o script personalizado de rotação secreta falhar quando for executado.The logs for secrets rotation aren't automatically collected if the secret rotation custom script fails when it's run.

Solução alternativa:Workaround:
Use o cmdlet Get-AzsDBAdapterLogs para coletar todos os logs de provedor de recursos, incluindo AzureStack.DatabaseAdapter.SecretRotation.ps1_ *. log, salvos em C:\Logs.Use the Get-AzsDBAdapterLogs cmdlet to collect all resource provider logs, including AzureStack.DatabaseAdapter.SecretRotation.ps1_*.log, saved in C:\Logs.

Atualizar o sistema operacional da VMUpdate the VM operating system

Use um dos métodos a seguir para atualizar o sistema operacional da VM.Use one of the following methods to update the VM operating system.

  • Instale o pacote mais recente do provedor de recursos usando uma imagem VM com patch no momento.Install the latest resource provider package using a currently patched VM image.
  • Instale um pacote de Windows Update durante a instalação do ou atualize para o provedor de recursos.Install a Windows Update package during the installation of, or update to, the resource provider.

Atualizar as definições de VM do Windows DefenderUpdate the VM Windows Defender definitions

Para atualizar as definições do Windows Defender:To update the Windows Defender definitions:

  1. Baixe a atualização de definições do Windows defender das atualizações de inteligência de segurança para Windows Defender.Download the Windows Defender definitions update from Security intelligence updates for Windows Defender.

    Na página atualização de definições, role para baixo até "baixar manualmente a atualização".On the definitions update page, scroll down to "Manually download the update". Baixe o arquivo "Windows Defender antivírus para Windows 10 e Windows 8.1" 64-bit.Download the "Windows Defender Antivirus for Windows 10 and Windows 8.1" 64-bit file.

    Você também pode usar esse link direto para baixar/executar o arquivo de fpam-fe.exe.You can also use this direct link to download/run the fpam-fe.exe file.

  2. Crie uma sessão do PowerShell para o ponto de extremidade de manutenção da VM do adaptador do provedor de recursos SQL.Create a PowerShell session to the SQL resource provider adapter VM's maintenance endpoint.

  3. Copie o arquivo de atualização de definições para a VM usando a sessão de ponto de extremidade de manutenção.Copy the definitions update file to the VM using the maintenance endpoint session.

  4. Na sessão do PowerShell de manutenção, execute o comando Update-DBAdapterWindowsDefenderDefinitions .On the maintenance PowerShell session, run the Update-DBAdapterWindowsDefenderDefinitions command.

  5. Depois de instalar as definições, recomendamos que você exclua o arquivo de atualização de definições usando o comando Remove-ItemOnUserDrive .After you install the definitions, we recommend you delete the definitions update file by using the Remove-ItemOnUserDrive command.

Exemplo de script do PowerShell para atualizar definiçõesPowerShell script example for updating definitions

Você pode editar e executar o script a seguir para atualizar as definições do defender.You can edit and run the following script to update the Defender definitions. Substitua os valores no script por valores do seu ambiente.Replace values in the script with values from your environment.

# Set credentials for local admin on the resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString "<local admin user password>" -AsPlainText -Force
$vmLocalAdminUser = "<local admin user name>"
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential `
    ($vmLocalAdminUser, $vmLocalAdminPass)

# Provide the public IP address for the adapter VM.
$databaseRPMachine  = "<RP VM IP address>"
$localPathToDefenderUpdate = "C:\DefenderUpdates\mpam-fe.exe"

# Download the Windows Defender update definitions file from https://www.microsoft.com/wdsi/definitions.
Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/?LinkID=121721&arch=x64' `
    -Outfile $localPathToDefenderUpdate

# Create a session to the maintenance endpoint.
$session = New-PSSession -ComputerName $databaseRPMachine `
    -Credential $vmLocalAdminCreds -ConfigurationName DBAdapterMaintenance
# Copy the defender update file to the adapter VM.
Copy-Item -ToSession $session -Path $localPathToDefenderUpdate `
     -Destination "User:\"
# Install the update definitions.
Invoke-Command -Session $session -ScriptBlock `
    {Update-AzSDBAdapterWindowsDefenderDefinition -DefinitionsUpdatePackageFile "User:\mpam-fe.exe"}
# Cleanup the definitions package file and session.
Invoke-Command -Session $session -ScriptBlock `
    {Remove-AzSItemOnUserDrive -ItemPath "User:\mpam-fe.exe"}
$session | Remove-PSSession

Coletar dados de diagnósticoCollect diagnostic logs

Para coletar logs da VM bloqueada, use o ponto de extremidade do PowerShell JEA (administração suficiente) DBAdapterDiagnostics.To collect logs from the locked down VM, use the PowerShell Just Enough Administration (JEA) endpoint DBAdapterDiagnostics. Esse ponto de extremidade fornece os seguintes comandos:This endpoint provides the following commands:

  • Get-AzsDBAdapterLog.Get-AzsDBAdapterLog. Esse comando cria um pacote zip dos logs de diagnóstico do provedor de recursos e salva o arquivo na unidade de usuário da sessão.This command creates a zip package of the resource provider diagnostics logs and saves the file on the session's user drive. Você pode executar esse comando sem parâmetros e as últimas quatro horas de logs são coletadas.You can run this command without any parameters and the last four hours of logs are collected.
  • Remove-AzsDBAdapterLog.Remove-AzsDBAdapterLog. Esse comando remove os pacotes de log existentes na VM do provedor de recursos.This command removes existing log packages on the resource provider VM.

Processos e requisitos de ponto de extremidadeEndpoint requirements and process

Quando um provedor de recursos é instalado ou atualizado, a conta de usuário dbadapterdiag é criada.When a resource provider is installed or updated, the dbadapterdiag user account is created. Você usará essa conta para coletar logs de diagnóstico.You'll use this account to collect diagnostic logs.

Observação

A senha da conta dbadapterdiag é igual à senha usada para o administrador local na VM que é criada durante uma implantação ou atualização de provedor.The dbadapterdiag account password is the same as the password used for the local admin on the VM that's created during a provider deployment or update.

Para usar os comandos DBAdapterDiagnostics , crie uma sessão remota do PowerShell para a VM do provedor de recursos e execute o comando Get-AzsDBAdapterLog .To use the DBAdapterDiagnostics commands, create a remote PowerShell session to the resource provider VM and run the Get-AzsDBAdapterLog command.

Defina o período de tempo para a coleta de log usando os parâmetros FromDate e ToDate .You set the time span for log collection by using the FromDate and ToDate parameters. Se você não especificar um ou ambos os parâmetros, serão usados os seguintes padrões:If you don't specify one or both of these parameters, the following defaults are used:

  • FromDate é de quatro horas antes da hora atual.FromDate is four hours before the current time.
  • A data final é a hora atual.ToDate is the current time.

Exemplo de script do PowerShell para coletar logsPowerShell script example for collecting logs

O script a seguir mostra como coletar logs de diagnóstico da VM do provedor de recursos.The following script shows how to collect diagnostic logs from the resource provider VM.

# Create a new diagnostics endpoint session.
$databaseRPMachineIP = '<RP VM IP address>'
$diagnosticsUserName = 'dbadapterdiag'
$diagnosticsUserPassword = '<Enter Diagnostic password>'

$diagCreds = New-Object System.Management.Automation.PSCredential `
        ($diagnosticsUserName, (ConvertTo-SecureString -String $diagnosticsUserPassword -AsPlainText -Force))
$session = New-PSSession -ComputerName $databaseRPMachineIP -Credential $diagCreds `
        -ConfigurationName DBAdapterDiagnostics

# Sample that captures logs from the previous hour.
$fromDate = (Get-Date).AddHours(-1)
$dateNow = Get-Date
$sb = {param($d1,$d2) Get-AzSDBAdapterLog -FromDate $d1 -ToDate $d2}
$logs = Invoke-Command -Session $session -ScriptBlock $sb -ArgumentList $fromDate,$dateNow

# Copy the logs to the user drive.
$sourcePath = "User:\{0}" -f $logs
$destinationPackage = Join-Path -Path (Convert-Path '.') -ChildPath $logs
Copy-Item -FromSession $session -Path $sourcePath -Destination $destinationPackage

# Clean up the logs.
$cleanup = Invoke-Command -Session $session -ScriptBlock {Remove-AzsDBAdapterLog}
# Close the session.
$session | Remove-PSSession

Configurar a extensão de Diagnóstico do Azure para o provedor de recursos SQLConfigure Azure Diagnostics extension for SQL resource provider

A extensão Diagnóstico do Azure é instalada na VM do adaptador do provedor de recursos SQL por padrão.Azure Diagnostics extension is installed on the SQL resource provider adapter VM by default. As etapas a seguir mostram como personalizar a extensão para coletar os logs de eventos operacionais do provedor de recursos SQL e os logs do IIS para fins de solução de problemas e auditoria.The following steps show how to customize the extension for gathering the SQL resource provider operational event logs and IIS logs for troubleshooting and auditing purpose.

  1. Entre no portal do administrador do Azure Stack Hub.Sign in to the Azure Stack Hub administrator portal.

  2. Selecione máquinas virtuais no painel à esquerda, procure a VM do adaptador do provedor de recursos SQL e selecione a VM.Select Virtual machines from the pane on the left, search for the SQL resource provider adapter VM and select the VM.

  3. Em configurações de diagnóstico da VM, vá para a guia logs e escolha personalizado para personalizar os logs de eventos que estão sendo coletados.In Diagnostics settings of the VM, go to the Logs tab and choose Custom to customize event logs being collected. Ir para configurações de diagnósticoGo to diagnostics settings

  4. Adicione *Microsoft-AzureStack-DatabaseAdapter/Operational * ! _ para coletar logs de eventos operacionais do provedor de recursos SQL.Add *Microsoft-AzureStack-DatabaseAdapter/Operational!* _ to collect SQL resource provider operational event logs. Adicionar logs de eventosAdd event logs

  5. Para habilitar a coleta de logs do IIS, marque _ logs do IIS* e logs de solicitação com falha.To enable the collection of IIS logs, check _ IIS logs* and Failed request logs. Adicionar logs do IISAdd IIS logs

  6. Por fim, selecione salvar para salvar todas as configurações de diagnóstico.Finally select Save to save all the Diagnostics settings.

Depois que os logs de eventos e a coleção de logs do IIS são configurados para o provedor de recursos SQL, os logs podem ser encontrados em uma conta de armazenamento do sistema chamada sqladapterdiagaccount.Once the event logs and IIS logs collection are configured for SQL resource provider, the logs can be found in a system storage account named sqladapterdiagaccount.

Para saber mais sobre a extensão de Diagnóstico do Azure, confira o que é diagnóstico do Azure extensão.To learn more about Azure Diagnostics extension, please see What is Azure Diagnostics extension.

Próximas etapasNext steps

Adicionar servidores de hospedagem SQL ServerAdd SQL Server hosting servers