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

O fornecedor de recursos SQL funciona numa máquina virtual bloqueada (VM).The SQL resource provider runs on a locked down virtual machine (VM). Para ativar as operações de manutenção, é necessário atualizar a segurança do VM.To enable maintenance operations, you need to update the VM's security. Para o fazer utilizando o principal da Menos Privilege, utilize a manutenção do ponto final DBAdapterMaintenance da PowerShell Just Enough Administration (JEA).To do this using the principal of Least Privilege, use PowerShell Just Enough Administration (JEA) endpoint DBAdapterMaintenance. O pacote de instalação do fornecedor de recursos inclui um script para esta ação.The resource provider installation package includes a script for this action.

Remendar e atualizarPatching and updating

O fornecedor de recursos SQL não é servido como parte do Azure Stack Hub porque é um componente de add-on.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 ao fornecedor de recursos SQL, se necessário.Microsoft provides updates to the SQL resource provider as necessary. Quando um adaptador SQL atualizado é lançado, é fornecido um script para aplicar a atualização.When an updated SQL adapter is released, a script is provided to apply the update. Este script cria um novo fornecedor de recursos VM, migrando o estado do antigo provedor VM para o novo 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 fornecedor de recursos SQL.For more information, see Update the SQL resource provider.

Provedor VMProvider VM

Como o fornecedor de recursos funciona num VM do utilizador, é necessário aplicar os patches e atualizações necessários quando são lançados.Because the resource provider runs on a user VM, you need to apply the required patches and updates when they're released. Utilize os pacotes de atualização do Windows fornecidos como parte do ciclo de patch e atualização para aplicar atualizações ao VM.Use the Windows update packages that are provided as part of the patch-and-update cycle to apply updates to the VM.

Atualizar credenciais SQLUpdating SQL credentials

É responsável por criar e manter contas sysadmin nos seus servidores SQL.You're responsible for creating and maintaining sysadmin accounts on your SQL servers. O fornecedor de recursos precisa de uma conta com estes privilégios para gerir bases de dados para os utilizadores, mas não precisa de acesso aos dados dos utilizadores.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 precisar de atualizar as palavras-passe sysadmin nos seus servidores SQL, pode utilizar a interface de administrador do fornecedor de recursos para alterar uma palavra-passe 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. Estas palavras-passe são armazenadas num Cofre de Chaves na sua instância Azure Stack Hub.These passwords are stored in a Key Vault on your Azure Stack Hub instance.

Para modificar as definições, selecione Procurar RECURSOS > ADMINISTRATIVOS > SQL Hosting Servers > SQL Logins e selecione um nome de utilizador.To modify the settings, select Browse > ADMINISTRATIVE RESOURCES > SQL Hosting Servers > SQL Logins and select a user name. A alteração deve ser feita primeiro na primeira instância SQL (e quaisquer réplicas, se necessário.) Em Definições, selecione Palavra-passe.The change must be made on the SQL instance first (and any replicas, if necessary.) Under Settings, select Password.

Atualizar a senha de administração SQL

Rotação de segredosSecrets rotation

Estas instruções aplicam-se apenas aos Sistemas Integrados Azure Stack Hub.These instructions only apply to Azure Stack Hub Integrated Systems.

Ao utilizar os fornecedores de recursos SQL e MySQL com sistemas integrados Azure Stack Hub, o operador Azure Stack Hub é responsável por rodar os seguintes segredos de infraestrutura do fornecedor de recursos para garantir que não expiram: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 de conta de administração local do fornecedor de recursos VM fornecida durante a implementação.The resource provider VM local admin account password provided during deployment.
  • Senha de diagnóstico do fornecedor de recursos (dbadapterdiag).Resource provider diagnostic user (dbadapterdiag) password.
  • (versão >= 1.1.47.0) Certificado de cofre de chaves gerado durante a implantação.(version >= 1.1.47.0) Key Vault certificate generated during deployment.

Exemplos powerShell para segredos rotativosPowerShell examples for rotating secrets

Mude 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 palavra-passe do utilizador de diagnóstico.Change the diagnostic user password.

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

Alterar a senha de conta de administração local 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 Azure da conta de administração de serviço usada para a implantação do Azure Stack Hub.The Azure environment of the service admin account used for deploying Azure Stack Hub. Requerido apenas para implementações AZure AD.Required only for Azure AD deployments. Os nomes ambientais suportados são AzureCloud, AzureUSGovernment, ou se usando um Diretório Ativo China Azure, AzureChinaCloud.Supported environment names are AzureCloud, AzureUSGovernment, or if using a China Azure Active Directory, AzureChinaCloud. OpcionalOptional
AzCredentialAzCredential Credencial de conta de administração Azure Stack Hub.Azure Stack Hub service admin account credential. ObrigatórioMandatory
CloudAdminCredentialCloudAdminCredential Credencial de conta de domínio de azure Stack Hub.Azure Stack Hub cloud admin domain account credential. ObrigatórioMandatory
Ponto privilegiadoPrivilegedEndpoint Endpoint privilegiado para aceder a Informação Get-AzureStackStamp.Privileged Endpoint to access Get-AzureStackStampInformation. ObrigatórioMandatory
DiagnósticoSUserPasswordDiagnosticsUserPassword Palavra-passe da conta do utilizador de diagnóstico.Diagnostics user account password. OpcionalOptional
VMLocalCredentialVMLocalCredential Conta de administração local no MySQLAdapter VM.Local admin account on the MySQLAdapter VM. OpcionalOptional
Palavra-passe defaultsslcertateDefaultSSLCertificatePassword Senha de certificado SSL predefinido (*.pfx).Default SSL certificate (*.pfx) password. OpcionalOptional
DependênciaFilesLocalPathDependencyFilesLocalPath A dependência arquiva o caminho local.Dependency files local path. OpcionalOptional
Palavra-chaveVaultPfxPasswordKeyVaultPfxPassword A palavra-passe utilizada para gerar o certificado Key Vault para adaptador de base de dados.The password used for generating the Key Vault certificate for database adapter. OpcionalOptional

Problemas conhecidosKnown issues

Edição:Issue:
Registos de rotação de segredos.Secrets rotation logs. Os registos de rotação de segredos não são recolhidos automaticamente se o script personalizado de rotação secreta falhar quando é 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:
Utilize o cmdlet Get-AzsDBAdapterLogs para recolher todos os registos do fornecedor de recursos, incluindo AzureStack.DatabaseAdapter.SecretRotation.ps1_*.log, guardados 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 operativo VMUpdate the VM operating system

Utilize um dos seguintes métodos para atualizar o sistema operativo VM.Use one of the following methods to update the VM operating system.

  • Instale o mais recente pacote de fornecedor de recursos utilizando uma imagem VM atualmente corrigida.Install the latest resource provider package using a currently patched VM image.
  • Instale um pacote De Atualização do Windows durante a instalação ou atualização do fornecedor de recursos.Install a Windows Update package during the installation of, or update to, the resource provider.

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

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

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

    Na página de atualização de definições, desloque-se para "Descarregar manualmente a atualização".On the definitions update page, scroll down to "Manually download the update". Descarregue o ficheiro "Windows Defender Antivirus para Windows 10 e Windows 8.1" de 64 bits.Download the "Windows Defender Antivirus for Windows 10 and Windows 8.1" 64-bit file.

    Também pode utilizar este link direto para descarregar/executar o ficheiro fpam-fe.exe.You can also use this direct link to download/run the fpam-fe.exe file.

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

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

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

  5. Depois de instalar as definições, recomendamos que elimine o ficheiro de atualização de definições utilizando 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 PowerShell para atualizar definiçõesPowerShell script example for updating definitions

Pode editar e executar o seguinte script 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

Recolha os registos de diagnósticosCollect diagnostic logs

Para recolher registos do VM bloqueado, utilize o ponto final DBAdapterDiagnostics(PowerShell Just Enough Administration).To collect logs from the locked down VM, use the PowerShell Just Enough Administration (JEA) endpoint DBAdapterDiagnostics. Este ponto final fornece os seguintes comandos:This endpoint provides the following commands:

  • Get-AzsDBAdapterLog.Get-AzsDBAdapterLog. Este comando cria um pacote zip dos registos de diagnóstico do fornecedor de recursos e guarda o ficheiro na unidade do utilizador 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. Pode executar este comando sem parâmetros e as últimas quatro horas de registos são recolhidas.You can run this command without any parameters and the last four hours of logs are collected.
  • Remove-AzsDBAdapterLog.Remove-AzsDBAdapterLog. Este comando remove os pacotes de registo existentes no VM do fornecedor de recursos.This command removes existing log packages on the resource provider VM.

Requisitos e processos de ponto finalEndpoint requirements and process

Quando um fornecedor de recursos é instalado ou atualizado, a conta de utilizador dbadapterdiag é criada.When a resource provider is installed or updated, the dbadapterdiag user account is created. Usará esta conta para recolher registos de diagnóstico.You'll use this account to collect diagnostic logs.

Nota

A palavra-passe da conta dbadapterdiag é a mesma que a palavra-passe utilizada para o administrador local no VM que é criada durante uma implementação ou atualização do fornecedor.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 utilizar os comandos DBAdapterDiagnostics, crie uma sessão remota de PowerShell para o fornecedor de recursos VM 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.

Define o tempo para a recolha de registos utilizando os parâmetros FromDate e ToDate.You set the time span for log collection by using the FromDate and ToDate parameters. Se não especificar um ou ambos os parâmetros, são utilizados os seguintes padrão:If you don't specify one or both of these parameters, the following defaults are used:

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

Exemplo de script PowerShell para recolha de registosPowerShell script example for collecting logs

O seguinte script mostra como recolher registos de diagnóstico do fornecedor de recursos VM.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 extensão de diagnóstico Azure para fornecedor de recursos SQLConfigure Azure Diagnostics extension for SQL resource provider

A extensão Azure Diagnostics é instalada no adaptador de recursos SQL VM por padrão.Azure Diagnostics extension is installed on the SQL resource provider adapter VM by default. Os passos seguintes mostram como personalizar a extensão para a recolha dos registos de eventos operacionais do fornecedor de recursos SQL e registos IIS para efeitos de resoluçã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. Inicie sessão no portal de administrador do Azure Stack Hub.Sign in to the Azure Stack Hub administrator portal.

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

  3. Nas definições de Diagnóstico do VM, vá ao separador Logs e escolha o Costume para personalizar os registos de eventos que estão a ser recolhidos.In Diagnostics settings of the VM, go to the Logs tab and choose Custom to customize event logs being collected. Ir para as definições de diagnósticoGo to diagnostics settings

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

  5. Para ativar a recolha de registos IIS, verifique _ registos do IIS* e registos de pedidos falhados.To enable the collection of IIS logs, check _ IIS logs* and Failed request logs. Adicionar registos IISAdd IIS logs

  6. Selecione finalmente Guardar para guardar todas as definições de Diagnóstico.Finally select Save to save all the Diagnostics settings.

Uma vez configurados os registos de eventos e a recolha de registos IIS para o fornecedor de recursos SQL, os registos podem ser encontrados numa conta de armazenamento do sistema denominada 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 Azure Diagnostics, consulte o que é a extensão Azure Diagnostics.To learn more about Azure Diagnostics extension, please see What is Azure Diagnostics extension.

Passos seguintesNext steps

Adicionar servidores de hospedagem do SQL ServerAdd SQL Server hosting servers