SQL operações de manutenção de fornecedores de recursos

O fornecedor de recursos SQL funciona numa máquina virtual bloqueada (VM). Para ativar as operações de manutenção, é necessário atualizar a segurança do VM. Para o fazer utilizando o principal da Menos Privilege, utilize a manutenção da DBAdapterMaintenance doPowerShell Just Enough Administration (JEA). O pacote de instalação do fornecedor de recursos inclui um script para esta ação.

Remendar e atualizar

O fornecedor de recursos SQL não é servido como parte do Azure Stack Hub porque é um componente de add-on. A Microsoft fornece atualizações ao fornecedor de recursos SQL, se necessário. Quando um adaptador SQL atualizado é lançado, é fornecido um script para aplicar a atualização. Este script cria um novo fornecedor de recursos VM, migrando o estado do antigo provedor VM para o novo VM. Para obter mais informações, consulte atualizar o fornecedor de recursos SQL.

Fornecedor 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. Utilize os pacotes de atualização Windows fornecidos como parte do ciclo de patch-and-update para aplicar atualizações ao VM.

Atualizar credenciais de SQL

É responsável por criar e manter contas sysadmin nos seus servidores SQL. 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. 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. Estas palavras-passe são armazenadas num Cofre de Chaves na sua instância Azure Stack Hub.

Para modificar as definições, selecione ProcurarRECURSOS ADMINISTRATIVOSSQL servidores de hospedagemSQL Logins e selecione um nome de utilizador. A alteração deve ser feita na primeira instância SQL (e quaisquer réplicas, se necessário.) Em Definições, selecione Password.

Atualizar a senha de administração SQL

Rotação de segredos

Estas instruções aplicam-se apenas aos Sistemas Integrados Azure Stack Hub.

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:

  • Certificado SSL externo fornecido durante a implantação.
  • A senha de conta de administração local do fornecedor de recursos VM fornecida durante a implementação.
  • Senha de diagnóstico do utilizador de diagnóstico do fornecedor de recursos (dbadapterdiag).
  • (versão > = 1.1.47.0) Certificado de cofre de chaves gerado durante a implantação.

Exemplos powerShell para segredos rotativos

Importante

A rotação secreta bem sucedida requer a remoção de quaisquer versões existentes dos módulos Azure Stack Hub PowerShell, antes de executar o script abaixo.

Mude todos os segredos ao mesmo tempo.

.\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.

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

Alterar a senha de conta de administração local VM.

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

Rode o certificado SSL

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

Rode o certificado key vault

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

SecretRotationSQLProvider.ps1 parâmetros

Parâmetro Descrição Comentário
AzureEnvironment O ambiente Azure da conta de administração de serviço utilizada para a implantação do Azure Stack Hub. Requerido apenas para implementações AZure AD. Os nomes ambientais suportados são AzureCloud, AzureUSGovernment,ou se usando um Azure Ative Directory da China, AzureChinaCloud. Opcional
AzCredential Credencial de conta de serviço Azure Stack Hub. O script falhará se a conta que utilizar com o AzCredential necessitar de autenticação multi-factor (MFA). Obrigatório
CloudAdminCredential Credencial de conta de domínio de azure Stack Hub. Obrigatório
Ponto privilegiado Endpoint privilegiado para aceder a Informação Get-AzureStackStamp. Obrigatório
DiagnósticoSUserPassword Palavra-passe da conta de utilizador de diagnóstico. Opcional
VMLocalCredential Conta de administração local no MySQLAdapter VM. Opcional
Palavra-passe defaultsslcertificatePassword Senha de certificado SSL predefinido (*.pfx). Opcional
DependênciaFilesLocalPath A dependência arquiva o caminho local. Opcional
Palavra-chaveVaultPfxPassword A palavra-passe utilizada para gerar o certificado Key Vault para adaptador de base de dados. Opcional

Atualizar o sistema operativo VM

Utilize um dos seguintes métodos para atualizar o sistema operativo VM.

  • Instale o mais recente pacote de fornecedor de recursos utilizando uma imagem VM atualmente corrigida.
  • Instale um pacote Windows Update durante a instalação ou atualização do fornecedor de recursos.

Atualizar as definições de Windows Defender VM

Para atualizar as definições Windows Defender:

  1. Descarregue a atualização de definições de Windows Defender a partir de atualizaçõesde inteligência de segurança para Windows Defender .

    Na página de atualização de definições, desloque-se para "Descarregar manualmente a atualização". Descarregue o ficheiro "Antivírus do Windows Defender para Windows 10 e Windows 8.1" de 64 bits.

    Também pode utilizar este link direto para descarregar/executar o ficheiro fpam-fe.exe.

  2. Crie uma sessão PowerShell para o SQL o ponto de manutenção do adaptador de recursos VM.

  3. Copie o ficheiro de atualização de definições para o VM utilizando a sessão de ponto final de manutenção.

  4. Na sessão powerShell de manutenção, executar o comando Update-DBAdapterWindowsDefenderDefinitions.

  5. Depois de instalar as definições, recomendamos que elimine o ficheiro de atualização de definições utilizando o comando Remove-ItemOnUserDrive.

Exemplo de script PowerShell para atualizar definições

Pode editar e executar o seguinte script para atualizar as definições do Defender. Substitua os valores no script por valores do seu ambiente.

# 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 `
    -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
# 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ósticos

O Azure Stack Hub tem várias formas de recolher, guardar e enviar registos de diagnóstico para o Microsoft Support. A partir da versão 1.1.93, SQL Fornecedor de Recursos suporta a forma padrão de recolher registos do seu ambiente Azure Stack Hub. Para obter mais informações, consulte a recolha de registos de diagnóstico.

A partir da versão 1.1.93, SQL Fornecedor de Recursos suporta a forma padrão de recolher registos do seu ambiente Azure Stack Hub. Se estiver a utilizar uma versão mais antiga, é aconselhável atualizar o seu Fornecedor de Recursos SQL para a versão mais recente.

Para recolher registos do VM bloqueado, utilize o ponto final DBAdapterDiagnostics(PowerShell Just Enough Administration). Este ponto final fornece os seguintes comandos:

  • 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. Pode executar este comando sem parâmetros e as últimas quatro horas de registos são recolhidas.
  • Remove-AzsDBAdapterLog. Este comando remove as embalagens de registo existentes no fornecedor de recursos VM.

Requisitos e processos de ponto final

Quando um fornecedor de recursos é instalado ou atualizado, a conta de utilizador dbadapterdiag é criada. Utilizará esta conta para recolher registos de diagnóstico.

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.

Para utilizar os comandos DBAdapterDiagnostics, crie uma sessão remota de PowerShell para o fornecedor de recursos VM e execute o comando Get-AzsDBAdapterLog.

Define o tempo para a recolha de registos utilizando os parâmetros FromDate e ToDate. Se não especificar um ou ambos os parâmetros, são utilizados os seguintes padrão:

  • FromDate é quatro horas antes da hora atual.
  • ToDate é a hora atual.

Exemplo de script PowerShell para recolha de registos

O seguinte script mostra como recolher registos de diagnóstico do fornecedor de recursos 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 `
        -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)

# 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

Limitações conhecidas

Limitação:
Quando o script de implementação, atualização ou rotação secreta falhou, alguns registos não podem ser recolhidos pelo mecanismo padrão de recolha de registos.

Solução alternativa:
Além de utilizar o mecanismo padrão de recolha de registos, vá à pasta Logs na pasta extraída onde o script se localiza, para encontrar mais registos.

Configure extensão de diagnóstico azure para SQL fornecedor de recursos

A extensão Azure Diagnostics é instalada no SQL adaptador de recursos VM por padrão. As seguintes etapas 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.

  1. Inicie sessão no portal de administrador do Azure Stack Hub.

  2. Selecione as máquinas Virtuais a partir do painel à esquerda, procure o SQL adaptador de recursos VM e selecione o 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. Ir para as definições de diagnóstico

  4. Adicione Microsoft-AzureStack-DatabaseAdapter/Operational!* para recolher registos de eventos operacionais SQL fornecedor de recursos. Adicionar registos de eventos

  5. Para ativar a recolha de registos IIS, verifique os registos do IIS e os registos de pedidos falhados. Adicionar registos IIS

  6. Selecione finalmente Guardar para guardar todas as definições de Diagnóstico.

Uma vez configurados os registos de eventos e a recolha de registos IIS para SQL fornecedor de recursos, os registos podem ser encontrados numa conta de armazenamento do sistema denominada sqladapterdiagaccount.

Para saber mais sobre a extensão Azure Diagnostics, consulte a extensão Azure Diagnostics.

Passos seguintes

Adicionar servidores de hospedagem SQL Server