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.
Importante
A partir do build 2108 do Azure Stack Hub, os provedores de recursos SQL e MySQL são oferecidos a assinaturas que receberam acesso. Se você quiser começar a usar esse recurso ou se precisar atualizar de uma versão anterior, abra um caso de suporte e nossos engenheiros de suporte o orientarão durante o processo de implantação ou atualização.
O provedor de recursos SQL é executado em uma VM (máquina virtual) bloqueada. Para habilitar as operações de manutenção, você precisa atualizar a segurança da VM. Para fazer isso usando o princípio de Privilégios Mínimos, use o ponto de extremidade PowerShell Just Enough Administration (JEA)DBAdapterMaintenance. O pacote de instalação do provedor de recursos inclui um script para essa ação.
Atualização e correção
O provedor de recursos SQL não é atendido como parte do Azure Stack Hub porque é um componente de complemento. A Microsoft fornece atualizações para o provedor de recursos SQL conforme necessário.
Para o SQL RP V1, quando um provedor de recursos do SQL Server atualizado é lançado, um script é fornecido para aplicar a atualização. Esse script cria uma nova VM do provedor de recursos, migrando o estado da VM do provedor antigo para a nova VM.
Para o SQL RP V2, os provedores de recursos são atualizados usando o mesmo recurso de atualização usado para aplicar atualizações do Azure Stack Hub.
Para obter mais informações, consulte Atualizar o provedor de recursos SQL.
Atualizar a VM do provedor
O SQL RP V1 é executado em uma VM de usuário , você precisa aplicar os patches e atualizações necessários quando eles são liberados. Você pode instalar um pacote do Windows Update durante a instalação ou atualização do provedor de recursos.
O SQL RP V2 é executado em um Windows Server gerenciado que está oculto. Você não precisa corrigir nem atualizar a VM do provedor de recursos. Ele será atualizado automaticamente quando você atualizar o RP.
Atualizar as definições do Windows Defender da VM
Essas instruções se aplicam somente ao SQL RP V1 em execução nos Sistemas Integrados do Azure Stack Hub.
Para atualizar as definições do Windows Defender:
Baixe a atualização de definições do Windows Defender das atualizações de inteligência de segurança para o Windows Defender.
Na página de atualização de definições, role para baixo até "Baixar manualmente a atualização". Baixe o arquivo de 64 bits "Windows Defender Antivírus para Windows 10 e Windows 8.1".
Você também pode usar esse link direto para baixar/executar o arquivo fpam-fe.exe.
Crie uma sessão do PowerShell no ponto de extremidade de manutenção da VM do adaptador de provedor de recursos SQL.
Copie o arquivo de atualização de definições para a VM usando a sessão de endpoint de manutenção.
Na sessão do PowerShell de manutenção, execute o comando Update-DBAdapterWindowsDefenderDefinitions .
Depois de instalar as definições, recomendamos que você exclua o arquivo de atualização de definições usando o comando Remove-ItemOnUserDrive .
Exemplo de script do PowerShell para atualizar definições
Você pode editar e executar o script a seguir para atualizar as definições do Defender. Substitua 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
Configurar a extensão de Diagnóstico do Azure para o provedor de recursos SQL
Essas instruções se aplicam somente ao SQL RP V1 em execução nos Sistemas Integrados do Azure Stack Hub.
Por padrão, a extensão de Diagnóstico do Azure é instalada na VM do adaptador do provedor de recursos SQL. 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.
Entre no portal do administrador do Azure Stack Hub.
Selecione máquinas virtuais no painel à esquerda, pesquise a máquina virtual do adaptador do provedor de recursos SQL e selecione a VM.
Nas configurações de diagnóstico da VM, vá para a guia Logs e escolha Personalizar os logs de eventos que estão sendo coletados.
Adicione Microsoft-AzureStack-DatabaseAdapter/Operational!* para coletar logs de eventos operacionais do provedor de recursos SQL.
Para habilitar a coleção de logs do IIS, verifique os logs do IIS e os logs de solicitação com falha.
Por fim, selecione Salvar para salvar todas as configurações de Diagnóstico.
Depois que os logs de eventos e a coleção de logs do IIS forem configurados para o provedor de recursos SQL, os logs poderão ser encontrados em uma conta de armazenamento do sistema chamada sqladapterdiagaccount.
Para saber mais sobre a extensão de Diagnóstico do Azure, confira o que é a extensão diagnóstico do Azure.
Atualizando credenciais do SQL
Você é responsável por criar e manter contas sysadmin em seus servidores SQL. O provedor de recursos precisa de uma conta com esses privilégios para gerenciar bancos de dados para usuários, mas não precisa de acesso aos dados dos usuários. Se você precisar atualizar as senhas do sysadmin em seus servidores SQL, poderá usar a interface de administrador do provedor de recursos para alterar uma senha armazenada. Essas senhas são armazenadas em um Key Vault em sua instância do Azure Stack Hub.
Para modificar as configurações, selecione Procurar>RECURSOS ADMINISTRATIVOS>Servidores de Hospedagem SQL>Logins SQL e selecione um nome de usuário. 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.
Rotação de segredos
Essas instruções se aplicam somente ao SQL RP V1 em execução nos Sistemas Integrados do Azure Stack Hub.
Ao usar os provedores de recursos SQL e MySQL com sistemas integrados do Azure Stack Hub, o operador do Azure Stack Hub é responsável por substituir os seguintes segredos de infraestrutura do provedor de recursos para garantir que eles não expirem:
- Certificado SSL externo fornecido durante a implantação.
- A senha da conta de administrador local da VM do provedor de recursos fornecida durante a implantação.
- Senha do usuário de diagnóstico do provedor de recursos (dbadapterdiag).
- (versão >= 1.1.47.0) Certificado do Key Vault gerado durante a implantação.
Exemplos de uso do PowerShell para rotacionar segredos
Importante
A rotação de segredo bem-sucedida requer a remoção de todas as versões existentes dos módulos do PowerShell do Azure Stack Hub, antes de executar o script abaixo.
Altere 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 senha do usuário de diagnóstico.
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DiagnosticsUserPassword $passwd
Altere a senha da conta de administrador local da VM.
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-VMLocalCredential $localCreds
Renovar o certificado SSL
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DependencyFilesLocalPath $certPath `
-DefaultSSLCertificatePassword $certPasswd
Trocar o certificado do Key Vault
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-KeyVaultPfxPassword $keyvaultCertPasswd
parâmetros de SecretRotationSQLProvider.ps1
| Parâmetro | Description | Comment |
|---|---|---|
| AzureEnvironment | O ambiente do Azure da conta de administrador de serviço usada para implantar o Azure Stack Hub. Necessário somente para implantações do Microsoft Entra. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernment ou se estiverem usando uma ID do Microsoft Entra da China, AzureChinaCloud. | Opcional |
| AzCredential | Credencial da conta de administrador de serviços do Azure Stack Hub. O script falhará se a conta usada com o AzCredential exigir MFA (autenticação multifator). | Obrigatório |
| CloudAdminCredential | Credencial da conta de domínio do administrador de nuvem do Azure Stack Hub. | Obrigatório |
| Ponto de extremidade privilegiado | Endpoint privilegiado para acessar Get-AzureStackStampInformation. | Obrigatório |
| DiagnosticsUserPassword | Senha da conta de usuário de diagnóstico. | Opcional |
| VMLocalCredential | Conta de administrador local na VM MySQLAdapter. | Opcional |
| DefaultSSLCertificatePassword | Senha de certificado SSL padrão (*.pfx). | Opcional |
| DependencyFilesLocalPath | Caminho local dos arquivos de dependência. | Opcional |
| KeyVaultPfxPassword | A senha usada para gerar o certificado do Key Vault para o adaptador de banco de dados. | Opcional |
Essas instruções se aplicam somente ao SQL RP V2 em execução nos Sistemas Integrados do Azure Stack Hub.
Observação
A rotação de segredo para provedores de recursos de valor agregado (RPs) é atualmente suportada apenas por meio do PowerShell.
Assim como a infraestrutura do Azure Stack Hub, os provedores de recursos de agregação de valor usam segredos internos e externos. Como operador, você é responsável por:
- Fornecendo segredos externos atualizados, como um novo certificado TLS usado para proteger endereços finais do provedor de recursos.
- Gerenciando a rotação de segredo do provedor de recursos regularmente.
Quando os segredos estão próximos da expiração, os alertas a seguir são gerados no portal do administrador. Concluir a rotação de segredos resolverá estes alertas:
- Expiração de certificado interno pendente
- Expiração de certificado externo pendente
Pré-requisitos
Em preparação para o processo de rotação:
Caso ainda não tenha feito isso, instale o módulo Az do PowerShell para o Azure Stack Hub antes de continuar. A versão 2.0.2-preview ou posterior é necessária para a rotação de segredo do Azure Stack Hub. Para obter mais informações, consulte Migrar do AzureRM para o Azure PowerShell Az no Azure Stack Hub.
Instalar módulos Azs.Deployment.Admin 1.0.0: Galeria do PowerShell | Azs.Deployment.Admin 1.0.0
Install-Module -Name Azs.Deployment.Admin
- Se o certificado externo estiver prestes a expirar, examine os requisitos de certificado de PKI (infraestrutura de chave pública) do Azure Stack Hub para obter informações importantes de pré-requisitos antes de adquirir/renovar seu certificado X509, incluindo detalhes sobre o formato PFX necessário. Examine também os requisitos especificados na seção certificados PaaS opcionais para seu provedor de recursos de adição de valor específico.
Preparar um novo certificado TLS para rotação de certificado externo
Observação
Se apenas o certificado interno estiver próximo da expiração, você poderá ignorar esta seção.
Em seguida, crie ou renove seu certificado TLS para proteger os endereços de endpoints do provedor de recursos de valor agregado.
Conclua as etapas em Gerar CSRs (solicitações de assinatura de certificado) para renovação de certificado para seu provedor de recursos. Aqui você usa a ferramenta verificador de preparação do Azure Stack Hub para criar o CSR. Execute o cmdlet correto para seu provedor de recursos, na etapa "Gerar solicitações de certificado para outros serviços do Azure Stack Hub". Por exemplo
New-AzsDbAdapterCertificateSigningRequest, é usado para RPs SQL e MySQL. Quando terminar, você enviará o arquivo .REQ gerado à AC (Autoridade de Certificação) para o novo certificado.Depois de receber o arquivo de certificado da Autoridade Certificadora, conclua as etapas em Preparar certificados para implantação ou rotação. Você usa a ferramenta Verificador de Preparação novamente para processar o arquivo retornado da AC.
Por fim, conclua as etapas em Validar certificados PKI do Azure Stack Hub. Use a ferramenta Verificador de Preparação mais uma vez para executar testes de validação em seu novo certificado.
Girar o certificado interno
Abra um console do PowerShell com privilégios elevados e conclua as seguintes etapas para atualizar as informações confidenciais externas do provedor de recursos:
Entre no ambiente do Azure Stack Hub usando suas credenciais de operador. Consulte Conectar ao Azure Stack Hub com o PowerShell para obter o script de login do PowerShell. Use os cmdlets do PowerShell Az (em vez do AzureRM) e substitua todos os valores de espaço reservado, como URLs de endpoint e nome do locatário do diretório.
Determine a ID do produto do provedor de recursos. Execute o
Get-AzsProductDeploymentcmdlet para recuperar uma lista das implantações mais recentes do provedor de recursos. A coleção retornada"value"contém um elemento para cada provedor de recursos implantado. Localize o provedor de recursos de interesse e anote os valores dessas propriedades:-
"name"– contém a ID do produto do provedor de recursos no segundo segmento do valor.
Por exemplo, a implantação de RP do SQL pode ter um ID de produto
"microsoft.sqlrp".-
Execute o
Invoke-AzsProductRotateSecretsActioncmdlet para girar o certificado interno:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Girar o certificado externo
Primeiro, você precisa anotar os valores para os parâmetros a seguir.
| Placeholder | Description | Valor de exemplo |
|---|---|---|
<product-id> |
A ID do produto da implantação mais recente do provedor de recursos. | microsoft.sqlrp |
<installed-version> |
A versão da implantação mais recente do provedor de recursos. | 2.0.0.2 |
<package-id> |
A ID do pacote é criada concatenando a ID do produto e a versão instalada. | microsoft.sqlrp.2.0.0.2 |
<cert-secret-name> |
O nome no qual o segredo do certificado é armazenado. | SSLCert |
<cert-pfx-file-path> |
O caminho para o arquivo PFX do certificado. | C:\dir\dbadapter-cert-file.pfx |
<pfx-password> |
A senha atribuída ao arquivo .PFX do seu certificado. | strong@CertSecret6 |
Abra um console do PowerShell com privilégios elevados e conclua as seguintes etapas:
Entre no ambiente do Azure Stack Hub usando suas credenciais de operador. Veja Conectar ao Azure Stack Hub com PowerShell para o script de login do PowerShell. Use os cmdlets do Az do PowerShell (em vez do AzureRM) e substitua todos os valores de espaço reservado, como URLs de ponto de extremidade e nome do locatário do diretório.
Obtenha o valor do parâmetro product-id. Execute o
Get-AzsProductDeploymentcmdlet para recuperar uma lista das implantações mais recentes do provedor de recursos. A coleção retornada"value"contém um elemento para cada provedor de recursos implantado. Localize o provedor de recursos de interesse e anote os valores dessas propriedades:-
"name"– contém a ID do produto do provedor de recursos no segundo segmento do valor. -
"properties"."deployment"."version"– contém o número de versão implantado no momento.
-
Por exemplo, a implantação de RP do SQL pode ter uma ID do produto de "microsoft.sqlrp" e a versão "2.0.0.2".
Crie a ID do pacote do provedor de recursos concatenando a ID e a versão do produto do provedor de recursos. Por exemplo, usando os valores derivados na etapa anterior, a ID do pacote RP do SQL é
microsoft.sqlrp.2.0.0.2.Usando a ID do pacote derivada na etapa anterior, execute
Get-AzsProductSecret -PackageIdpara recuperar a lista de tipos secretos que estão sendo usados pelo provedor de recursos. Na coleção retornadavalue, localize o elemento que contém um valor de"Certificate"para a propriedade"properties"."secretKind". Esse elemento contém propriedades para a chave secreta do certificado do RP. Anote o nome atribuído a esse segredo de certificado, que é identificado pelo último segmento da"name"propriedade, logo acima"properties".
Por exemplo, a coleção de segredos retornada para o RP do SQL contém um "Certificate" segredo chamado SSLCert.
Use o
Set-AzsProductSecretcmdlet para importar seu novo certificado para o Key Vault, que será usado pelo processo de rotação. Substitua os valores de espaço reservado da variável adequadamente antes de executar o script.$productId = '<product-id>' $packageId = $productId + '.' + '<installed-version>' $certSecretName = '<cert-secret-name>' $pfxFilePath = '<cert-pfx-file-path>' $pfxPassword = ConvertTo-SecureString '<pfx-password>' -AsPlainText -Force Set-AzsProductSecret -PackageId $packageId -SecretName $certSecretName -PfxFileName $pfxFilePath -PfxPassword $pfxPassword -ForcePor fim, use o
Invoke-AzsProductRotateSecretsActioncmdlet para atualizar os segredos:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Monitorar o progresso da rotação secreta
Você pode monitorar o progresso da rotação de segredos no console do PowerShell ou no portal de administração, selecionando o provedor de recursos no serviço Marketplace.
Observação
O tempo de rotação do segredo pode custar mais de 10 minutos. Após a conclusão, o status do provedor de recursos será alterado para "Instalado".
Coletar dados de diagnóstico
O Azure Stack Hub tem várias maneiras de coletar, salvar e enviar logs de diagnóstico para o Suporte da Microsoft. A partir da versão 1.1.93, o Provedor de Recursos do SQL dá suporte à maneira padrão de coletar logs do ambiente do Azure Stack Hub. Para obter mais informações, consulte a coleção de logs de diagnóstico.
A partir da versão 1.1.93, o Provedor de Recursos do SQL dá suporte à maneira padrão de coletar logs do ambiente do Azure Stack Hub. Se você estiver usando uma versão mais antiga, é recomendável atualizar o Provedor de Recursos do SQL para a versão mais recente.
Para coletar logs da VM bloqueada, use o endpoint JEA (Administração Just Enough) do PowerShell DBAdapterDiagnostics. Esse ponto de extremidade fornece os seguintes comandos:
- 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. Você pode executar esse comando sem parâmetros e as últimas quatro horas de logs são coletadas.
- Remove-AzsDBAdapterLog. Esse comando remove os pacotes de log existentes na VM do provedor de recursos.
Requisitos e processo de endpoint
Quando um provedor de recursos é instalado ou atualizado, a conta de usuário dbadapterdiag é criada. Você usará essa conta para coletar logs de diagnóstico.
Observação
A senha da conta dbadapterdiag é a mesma usada para o administrador local na VM criada durante uma implantação ou atualização do provedor.
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 .
Defina o período de tempo para a coleta de logs usando os parâmetros FromDate e ToDate . Se você não especificar um ou ambos os parâmetros, os seguintes padrões serão usados:
- FromDate representa um horário quatro horas antes da hora atual.
- ToDate é a hora atual.
Exemplo de script do PowerShell para coletar logs
O script a seguir mostra como coletar logs de diagnóstico da máquina virtual (VM) do provedor.
# 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 do provedor de recursos do SQL Server versão 1
Limitação:
Quando o script de implantação, atualização ou rotação de segredo falha, alguns logs não conseguem ser coletados pelo mecanismo padrão de coleta de logs.
Solução alternativa:
Além de usar o mecanismo de coleta de logs padrão, vá para a pasta Logs na pasta extraída onde o script é localizado, para encontrar mais logs.