Operace údržby poskytovatele prostředků SQL
Důležité
Od buildu 2108 služby Azure Stack Hub jsou poskytovatelé prostředků SQL a MySQL nabízeni pro předplatná, která mají udělený přístup. Pokud chcete tuto funkci začít používat nebo pokud potřebujete upgradovat z předchozí verze, otevřete případ podpory a naši technici podpory vás provedou procesem nasazení nebo upgradu.
Poskytovatel prostředků SQL běží na uzamčených virtuálních počítačích. Pokud chcete povolit operace údržby, musíte aktualizovat zabezpečení virtuálního počítače. K tomu použijte princip nejnižších oprávnění pomocí koncového bodu JEA (Just Enough Administration) PowerShelluDBAdapterMaintenance. Instalační balíček poskytovatele prostředků obsahuje skript pro tuto akci.
Opravy a aktualizace
Poskytovatel prostředků SQL není obsluhován jako součást služby Azure Stack Hub, protože se jedná o doplňkovou komponentu. Microsoft podle potřeby poskytuje aktualizace pro poskytovatele prostředků SQL.
V případě SQL RP V1 je při vydání aktualizovaného poskytovatele prostředků SQL Server k dispozici skript pro instalaci aktualizace. Tento skript vytvoří nový virtuální počítač poskytovatele prostředků a migruje stav starého virtuálního počítače poskytovatele do nového virtuálního počítače.
V případě SQL RP verze 2 se poskytovatelé prostředků aktualizují pomocí stejné funkce aktualizace, která se používá k instalaci aktualizací služby Azure Stack Hub.
Další informace najdete v tématu Aktualizace poskytovatele prostředků SQL.
Aktualizace virtuálního počítače poskytovatele
SQL RP V1 běží na uživatelském virtuálním počítači. Při jejich vydání musíte použít požadované opravy a aktualizace. Balíček služba Windows Update můžete nainstalovat během instalace poskytovatele prostředků nebo ho aktualizovat.
SQL RP v2 běží na spravovaném Windows Serveru, který je skrytý. Virtuální počítač poskytovatele prostředků nemusíte opravovat ani aktualizovat. Aktualizuje se automaticky při aktualizaci poskytovatele prostředků.
Aktualizace definic Windows Defender virtuálních počítačů
Tyto pokyny platí jenom pro SQL RP V1 spuštěné v integrovaných systémech Služby Azure Stack Hub.
Aktualizace definic Windows Defender:
Stáhněte si aktualizaci definic Windows Defender z části Aktualizace security intelligence pro Windows Defender.
Na stránce aktualizace definic se posuňte dolů na možnost Ruční stažení aktualizace. Stáhněte si 64bitový soubor "Windows Defender Antivirus pro Windows 10 a Windows 8.1".
Tento přímý odkaz můžete také použít ke stažení nebo spuštění souboru fpam-fe.exe.
Vytvořte relaci PowerShellu ke koncovému bodu údržby virtuálního počítače adaptéru poskytovatele prostředků SQL.
Zkopírujte soubor aktualizace definic do virtuálního počítače pomocí relace koncového bodu údržby.
V relaci PowerShellu údržby spusťte příkaz Update-DBAdapterWindowsDefenderDefinitions .
Po instalaci definic doporučujeme odstranit soubor aktualizace definic pomocí příkazu Remove-ItemOnUserDrive .
Příklad skriptu PowerShellu pro aktualizaci definic
K aktualizaci definic Defenderu můžete upravit a spustit následující skript. Nahraďte hodnoty ve skriptu hodnotami z vašeho prostředí.
# 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
Konfigurace rozšíření Azure Diagnostics pro poskytovatele prostředků SQL
Tyto pokyny platí jenom pro SQL RP V1 spuštěné v integrovaných systémech Služby Azure Stack Hub.
Azure Diagnostics rozšíření je ve výchozím nastavení nainstalované na virtuálním počítači adaptéru poskytovatele prostředků SQL. Následující kroky ukazují, jak přizpůsobit rozšíření pro shromažďování protokolů provozních událostí poskytovatele prostředků SQL a protokolů služby IIS pro účely řešení potíží a auditování.
Přihlaste se k portálu pro správu služby Azure Stack Hub.
V podokně vlevo vyberte Virtuální počítače , vyhledejte virtuální počítač adaptér poskytovatele prostředků SQL a vyberte virtuální počítač.
V nastavení diagnostiky virtuálního počítače přejděte na kartu Protokoly a zvolte Vlastní a přizpůsobte shromažďované protokoly událostí.
Přidejte Microsoft-AzureStack-DatabaseAdapter/Operational!* a shromážděte protokoly provozních událostí poskytovatele prostředků SQL.
Pokud chcete povolit shromažďování protokolů služby IIS, zkontrolujte protokoly služby IIS a protokoly neúspěšných požadavků.
Nakonec vyberte Uložit a uložte všechna nastavení diagnostiky.
Jakmile jsou protokoly událostí a shromažďování protokolů služby IIS nakonfigurované pro poskytovatele prostředků SQL, najdete je v účtu systémového úložiště s názvem sqladapterdiagaccount.
Další informace o rozšíření Azure Diagnostics najdete v tématu Co je rozšíření Azure Diagnostics.
Aktualizace přihlašovacích údajů SQL
Zodpovídáte za vytváření a správu účtů sysadmin na serverech SQL. Poskytovatel prostředků potřebuje účet s těmito oprávněními ke správě databází pro uživatele, ale nepotřebuje přístup k datům uživatelů. Pokud potřebujete aktualizovat hesla správce systému na serverech SQL, můžete pomocí rozhraní správce poskytovatele prostředků změnit uložené heslo. Tato hesla jsou uložená v Key Vault ve vaší instanci služby Azure Stack Hub.
Pokud chcete nastavení upravit, vyberte Procházet> PROSTŘEDKY >PRO SPRÁVUSQLHosting Servery>SQL Přihlášení a vyberte uživatelské jméno. Změna musí být provedena nejprve v instanci SQL (a v případě potřeby všechny repliky). V části Nastavení vyberte Heslo.
Rotace tajných kódů
Tyto pokyny platí jenom pro SQL RP V1 spuštěné v integrovaných systémech Služby Azure Stack Hub.
Při použití poskytovatelů prostředků SQL a MySQL s integrovanými systémy Azure Stack Hub zodpovídá operátor služby Azure Stack Hub za obměně následujících tajných kódů infrastruktury poskytovatele prostředků, aby se zajistilo, že nevyprší jejich platnost:
- Externí certifikát SSL poskytnutý během nasazování.
- Heslo účtu místního správce virtuálního počítače poskytovatele prostředků zadaného během nasazování
- Heslo uživatele diagnostiky poskytovatele prostředků (dbadapterdiag).
- (verze >= 1.1.47.0) Key Vault certifikát vygenerovaný během nasazení.
Příklady v PowerShellu pro obměně tajných kódů
Důležité
Úspěšná obměně tajných kódů vyžaduje odebrání všech existujících verzí modulů PowerShellu služby Azure Stack Hub před spuštěním následujícího skriptu.
Změňte všechny tajné kódy najednou.
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DiagnosticsUserPassword $passwd `
-DependencyFilesLocalPath $certPath `
-DefaultSSLCertificatePassword $certPasswd `
-VMLocalCredential $localCreds `
-KeyVaultPfxPassword $keyvaultCertPasswd
Změňte heslo uživatele diagnostiky.
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DiagnosticsUserPassword $passwd
Změňte heslo účtu místního správce virtuálního počítače.
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-VMLocalCredential $localCreds
Obměna certifikátu SSL
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DependencyFilesLocalPath $certPath `
-DefaultSSLCertificatePassword $certPasswd
Otočení certifikátu Key Vault
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-KeyVaultPfxPassword $keyvaultCertPasswd
parametry SecretRotationSQLProvider.ps1
Parametr | Popis | Komentář |
---|---|---|
Prostředí Azure | Prostředí Azure účtu správce služby použitého k nasazení služby Azure Stack Hub. Vyžaduje se pouze pro nasazení Microsoft Entra. Podporované názvy prostředí jsou AzureCloud, AzureUSGovernment nebo pokud používáte ID Microsoft Entra Číny, AzureChinaCloud. | Volitelné |
AzCredential | Přihlašovací údaje účtu správce služby Azure Stack Hub. Skript selže, pokud účet, který používáte s AzCredential, vyžaduje vícefaktorové ověřování (MFA). | Povinné |
CloudAdminCredential | Přihlašovací údaje účtu domény správce cloudu služby Azure Stack Hub. | Povinné |
PrivilegedEndpoint | Privileged Endpoint pro přístup k Get-AzureStackStampInformation. | Povinné |
DiagnosticsUserPassword | Heslo k uživatelskému účtu diagnostiky | Volitelné |
VMLocalCredential | Účet místního správce na virtuálním počítači MySQLAdapter | Volitelné |
DefaultSSLCertificatePassword | Výchozí heslo certifikátu SSL (*.pfx). | Volitelné |
DependencyFilesLocalPath | Místní cesta k souborům závislostí. | Volitelné |
KeyVaultPfxPassword | Heslo použité k vygenerování certifikátu Key Vault pro databázový adaptér. | Volitelné |
Tyto pokyny platí jenom pro SQL RP v2 spuštěné v integrovaných systémech Služby Azure Stack Hub.
Poznámka
Obměna tajných kódů pro poskytovatele prostředků s přidanou hodnotou (RP) se v současné době podporuje jenom prostřednictvím PowerShellu.
Podobně jako infrastruktura služby Azure Stack Hub používají poskytovatelé prostředků s přidanou hodnotou interní i externí tajné kódy. Jako operátor zodpovídáte za:
- Poskytování aktualizovaných externích tajných kódů, jako je například nový certifikát TLS sloužící k zabezpečení koncových bodů poskytovatele prostředků.
- Správa obměna tajných kódů poskytovatele prostředků v pravidelných intervalech
Když se blíží vypršení platnosti tajných kódů, vygenerují se na portálu pro správu následující výstrahy. Dokončení obměně tajných kódů vyřeší tyto výstrahy:
- Blížící se vypršení platnosti interního certifikátu
- Blížící se vypršení platnosti externího certifikátu
Požadavky
Při přípravě na proces obměně:
Pokud jste to ještě neudělali, před pokračováním nainstalujte modul Az PowerShellu pro Azure Stack Hub . K obměně tajných kódů služby Azure Stack Hub se vyžaduje verze 2.0.2 Preview nebo novější. Další informace najdete v tématu Migrace z AzureRM na Azure PowerShell Az ve službě Azure Stack Hub.
Nainstalujte Azs.Deployment. moduly Správa 1.0.0: Galerie prostředí PowerShell | Azs.Deployment. Správa 1.0.0
Install-Module -Name Azs.Deployment.Admin
- Pokud se blíží vypršení platnosti externího certifikátu, před získáním nebo prodloužením platnosti certifikátu X509 si projděte požadavky na certifikát infrastruktury veřejných klíčů (PKI) služby Azure Stack Hub , kde najdete důležité informace o požadavcích, včetně podrobností o požadovaném formátu PFX. Projděte si také požadavky zadané v části Volitelné certifikáty PaaS pro konkrétního poskytovatele prostředků s přidanou hodnotou.
Příprava nového certifikátu TLS pro obměnu externích certifikátů
Poznámka
Pokud se blíží vypršení platnosti jenom interního certifikátu, můžete tuto část přeskočit.
Dále vytvořte nebo obnovte certifikát TLS pro zabezpečení koncových bodů poskytovatele prostředků s přidanou hodnotou:
Proveďte kroky v tématu Generování žádostí o podepsání certifikátů pro obnovení certifikátu pro vašeho poskytovatele prostředků. Tady použijete nástroj Azure Stack Hub Readiness Checker k vytvoření csr. Nezapomeňte spustit správnou rutinu pro svého poskytovatele prostředků v kroku Generovat žádosti o certifikáty pro jiné služby Azure Stack Hub. Používá se například
New-AzsDbAdapterCertificateSigningRequest
pro SQL a MySQL RPs. Po dokončení odešlete vygenerovaný soubor . Soubor REQ vaší certifikační autority (CA) pro nový certifikát.Jakmile od certifikační autority obdržíte soubor certifikátu, proveďte kroky v tématu Příprava certifikátů k nasazení nebo obměně. Znovu použijete nástroj Readiness Checker ke zpracování souboru vráceného z certifikační autority.
Nakonec proveďte kroky v tématu Ověření certifikátů PKI služby Azure Stack Hub. Nástroj Readiness Checker ještě jednou použijete k provádění ověřovacích testů nového certifikátu.
Obměna interního certifikátu
Otevřete konzolu PowerShellu se zvýšenými oprávněními a provedením následujících kroků obměňte externí tajné kódy poskytovatele prostředků:
Přihlaste se k prostředí Služby Azure Stack Hub pomocí přihlašovacích údajů operátora. Přihlašovací skript PowerShellu najdete v tématu Připojení ke službě Azure Stack Hub pomocí PowerShellu . Nezapomeňte použít rutiny Az PowerShellu (místo AzureRM) a nahradit všechny zástupné hodnoty, jako jsou adresy URL koncových bodů a název tenanta adresáře.
Určete ID produktu poskytovatele prostředků. Spuštěním rutiny
Get-AzsProductDeployment
načtěte seznam nejnovějších nasazení poskytovatele prostředků."value"
Vrácená kolekce obsahuje prvek pro každého nasazeného poskytovatele prostředků. Vyhledejte poskytovatele prostředků, který vás zajímá, a poznamenejte si hodnoty těchto vlastností:-
"name"
– obsahuje ID produktu poskytovatele prostředků v druhém segmentu hodnoty.
Například nasazení sql rp může mít ID
"microsoft.sqlrp"
produktu .-
Spuštěním rutiny
Invoke-AzsProductRotateSecretsAction
obměňte interní certifikát:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Otočení externího certifikátu
Nejprve si musíte poznamenat hodnoty pro následující parametry.
Zástupný symbol | Description | Příklad hodnoty |
---|---|---|
<product-id> |
ID produktu nejnovějšího nasazení poskytovatele prostředků. | microsoft.sqlrp |
<installed-version> |
Verze nejnovějšího nasazení poskytovatele prostředků. | 2.0.0.2 |
<package-id> |
ID balíčku se sestaví zřetězením id produktu a nainstalované verze. | microsoft.sqlrp.2.0.0.2 |
<cert-secret-name> |
Název, pod kterým je tajný klíč certifikátu uložen. | SSLCert |
<cert-pfx-file-path> |
Cesta k souboru PFX certifikátu. | C:\dir\dbadapter-cert-file.pfx |
<pfx-password> |
Heslo přiřazené k vašemu certifikátu . SOUBOR PFX. | strong@CertSecret6 |
Otevřete konzolu PowerShellu se zvýšenými oprávněními a proveďte následující kroky:
Přihlaste se k prostředí Služby Azure Stack Hub pomocí přihlašovacích údajů operátora. Přihlašovací skript PowerShellu najdete v tématu Připojení ke službě Azure Stack Hub pomocí PowerShellu . Nezapomeňte použít rutiny Az PowerShellu (místo AzureRM) a nahradit všechny zástupné hodnoty, jako jsou adresy URL koncových bodů a název tenanta adresáře.
Získejte hodnotu parametru product-id. Spuštěním rutiny
Get-AzsProductDeployment
načtěte seznam nejnovějších nasazení poskytovatele prostředků."value"
Vrácená kolekce obsahuje prvek pro každého nasazeného poskytovatele prostředků. Vyhledejte poskytovatele prostředků, který vás zajímá, a poznamenejte si hodnoty těchto vlastností:-
"name"
– obsahuje ID produktu poskytovatele prostředků v druhém segmentu hodnoty. -
"properties"."deployment"."version"
– obsahuje aktuálně nasazené číslo verze.
-
Nasazení sql rp může mít například ID "microsoft.sqlrp"
produktu , a verzi "2.0.0.2"
.
Sestavte ID balíčku poskytovatele prostředků pomocí zřetězením ID a verze produktu poskytovatele prostředků. Například pomocí hodnot odvozených v předchozím kroku je
microsoft.sqlrp.2.0.0.2
ID balíčku RP SQL .Pomocí ID balíčku odvozeného v předchozím kroku spusťte příkaz
Get-AzsProductSecret -PackageId
, který načte seznam typů tajných kódů používaných poskytovatelem prostředků. Ve vrácenévalue
kolekci vyhledejte prvek obsahující hodnotu"Certificate"
vlastnosti"properties"."secretKind"
. Tento element obsahuje vlastnosti pro tajný klíč certifikátu poskytovatele prostředků. Poznamenejte si název přiřazený tomuto tajnému klíči certifikátu, který je identifikován posledním segmentem"name"
vlastnosti přímo nad"properties"
.
Například kolekce tajných kódů vrácená pro poskytovatele prostředků SQL obsahuje "Certificate"
tajný klíč s názvem SSLCert
.
Pomocí rutiny
Set-AzsProductSecret
naimportujte nový certifikát do Key Vault, který bude použit procesem obměně. Před spuštěním skriptu odpovídajícím způsobem nahraďte hodnoty zástupného symbolu proměnné.$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 -Force
Nakonec pomocí rutiny
Invoke-AzsProductRotateSecretsAction
obměňte tajné kódy:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Monitorování průběhu obměně tajných kódů
Průběh obměna tajných kódů můžete monitorovat v konzole PowerShellu nebo na portálu pro správu výběrem poskytovatele prostředků ve službě Marketplace:
Poznámka
Doba obměně tajných kódů může stát více než 10 minut. Po dokončení se stav poskytovatele prostředků změní na Nainstalované.
Shromažďování diagnostických protokolů
Azure Stack Hub nabízí několik způsobů, jak shromažďovat, ukládat a odesílat diagnostické protokoly do podpora Microsoftu. Od verze 1.1.93 podporuje poskytovatel prostředků SQL standardní způsob shromažďování protokolů z prostředí služby Azure Stack Hub. Další informace najdete v tématu Shromažďování diagnostických protokolů.
Od verze 1.1.93 podporuje poskytovatel prostředků SQL standardní způsob shromažďování protokolů z prostředí služby Azure Stack Hub. Pokud používáte starší verzi, doporučujeme aktualizovat poskytovatele prostředků SQL na nejnovější verzi.
Ke shromažďování protokolů z uzamčeného virtuálního počítače použijte dbAdapterDiagnostics koncového bodu JeA (Just Enough Administration) PowerShellu. Tento koncový bod poskytuje následující příkazy:
- Get-AzsDBAdapterLog. Tento příkaz vytvoří balíček zip s diagnostickými protokoly poskytovatele prostředků a uloží soubor na uživatelskou jednotku relace. Tento příkaz můžete spustit bez jakýchkoli parametrů a shromáždí se protokoly za poslední čtyři hodiny.
- Remove-AzsDBAdapterLog. Tento příkaz odebere existující balíčky protokolů na virtuálním počítači poskytovatele prostředků.
Požadavky na koncový bod a proces
Při instalaci nebo aktualizaci poskytovatele prostředků se vytvoří uživatelský účet dbadapterdiag . Tento účet použijete ke shromažďování diagnostických protokolů.
Poznámka
Heslo účtu dbadapterdiag je stejné jako heslo použité pro místního správce na virtuálním počítači vytvořeném během nasazení nebo aktualizace zprostředkovatele.
Pokud chcete použít příkazy DBAdapterDiagnostics , vytvořte vzdálenou relaci PowerShellu na virtuální počítač poskytovatele prostředků a spusťte příkaz Get-AzsDBAdapterLog .
Časový rozsah pro shromažďování protokolů nastavíte pomocí parametrů FromDate a ToDate . Pokud nezadáte jeden nebo oba tyto parametry, použijí se následující výchozí hodnoty:
- FromDate je čtyři hodiny před aktuálním časem.
- ToDate je aktuální čas.
Příklad skriptu PowerShellu pro shromažďování protokolů
Následující skript ukazuje, jak shromažďovat diagnostické protokoly z virtuálního počítače poskytovatele prostředků.
# 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
Známá omezení poskytovatele prostředků SQL Server verze 1
Omezení:
Pokud skript nasazení, upgradu nebo obměny tajných kódů selhal, nemůže standardní mechanismus shromažďování protokolů shromažďovat některé protokoly.
Alternativní řešení:
Kromě použití standardního mechanismu shromažďování protokolů přejděte do složky Logs v extrahované složce, ve které skript najde, a vyhledejte další protokoly.