Cvičení – nastavení prostředí sandboxu
V této lekci nastavíte prostředky, které používáte v celém tomto modulu. Představte si základní architekturu, která se skládá ze serveru hostujícího aplikaci, kterou vaši zákazníci používají. Server se připojí k databázi pro ukládání dat. Aplikace běží na virtuálním počítači. Databáze nedávno migrovala z databáze SQL Serveru běžící na virtuálním počítači do databáze ve službě Azure SQL Database. Pokud chcete ukázat, jak můžete zabezpečit databázi, nastavte následující prostředky pro použití v tomto modulu:
- Virtuální počítač s Linuxem s názvem appServer. Tento server funguje jako aplikační server, ke kterému se uživatelé připojují. Musí se připojit k databázi. Nainstalujte
sqlcmd
na virtuální počítač a simulujte aplikaci spuštěnou na appServeru , která vytváří připojení k databázi. - Logický server Azure SQL Database. Tento logický server potřebujeme k hostování jedné nebo více databází.
- Databáze na logickém serveru s názvem marketplaceDb. Vytvoříte ji pomocí ukázkové databáze AdventureWorksLT , abyste mohli pracovat s některými tabulkami a daty. Tato data zahrnují některá citlivá data, jako jsou e-mailové adresy a telefonní čísla, která chcete správně zabezpečit.
Vytvoření databáze Azure SQL Database
Nejprve nastavte některé proměnné. Nahraďte následující hodnoty, které jsou zobrazeny
[]
hodnotami podle vašeho výběru. Musí[password]
obsahovat alespoň osm znaků a obsahovat znaky z nejméně tří z těchto kategorií: velká písmena, malá písmena, čísla a neosamocené znaky. Uložte hodnotu pro pozdější použití.export ADMINLOGIN='[ServerAdmin]' export PASSWORD='[password]' export SERVERNAME=[server-name] export RESOURCEGROUP=<rgn>[sandbox resource group name]</rgn> export LOCATION=$(az group show --name $RESOURCEGROUP | jq -r '.location')
Spuštěním následujícího příkazu vytvořte nový logický server Azure SQL Database.
az sql server create \ --name $SERVERNAME \ --resource-group $RESOURCEGROUP \ --location $LOCATION \ --admin-user $ADMINLOGIN \ --admin-password $PASSWORD
Spuštěním následujícího příkazu vytvořte databázi s názvem marketplaceDb na logickém serveru, který jste vytvořili. Tento příkaz používá databázi AdventureWorksLT jako šablonu, takže máte několik předem vyplněných tabulek, se kterými můžete pracovat.
az sql db create --resource-group $RESOURCEGROUP \ --server $SERVERNAME \ --name marketplaceDb \ --sample-name AdventureWorksLT \ --service-objective Basic
Spuštěním následujícího příkazu získejte připojovací řetězec pro tuto databázi.
az sql db show-connection-string --client sqlcmd --name marketplaceDb --server $SERVERNAME | jq -r
Výstup by měl vypadat podobně jako v následujícím příkladu. Tento příkaz si nechte po ruce, protože tento příkaz potřebujete pro připojení k databázi později v tomto modulu.
[username]
Všimněte si a[password]
zástupných symbolů v příkazu, který chcete nahradit přihlašovacímiADMINLOGIN
údaji,PASSWORD
které jste zadali v proměnných dříve.sqlcmd -S tcp:server12345.database.windows.net,1433 -d marketplaceDb -U '[username]' -P '[password]' -N -l 30
Vytvoření a konfigurace virtuálního počítače s Linuxem
Vytvořte virtuální počítač s Linuxem, který se má použít v několika příkladech.
Spuštěním následujícího příkazu vytvořte virtuální počítač. Dokončení tohoto příkazu může trvat několik minut.
az vm create \ --resource-group $RESOURCEGROUP \ --name appServer \ --image Ubuntu2204 \ --size Standard_DS2_v2 \ --public-ip-sku Standard \ --generate-ssh-keys
Po dokončení tohoto příkazu by se měl zobrazit výstup podobný následujícímu příkladu.
{ "fqdns": "", "id": "/subscriptions/nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn/resourceGroups/learn-nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn/providers/Microsoft.Compute/virtualMachines/appServer", "location": "westus", "macAddress": "nn-nn-nn-nn-nn-nn", "powerState": "VM running", "privateIpAddress": "nn.nn.nn.nn", "publicIpAddress": "nnn.nnn.nnn.nnn", "resourceGroup": "learn-nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", "zones": "" }
Po úspěšném vytvoření virtuálního počítače se pomocí SSH připojte k jeho veřejné IP adrese.
ssh nnn.nnn.nnn.nnn
Kde
nnn.nnn.nnn.nnn
je hodnota z výstupupublicIpAddress
z předchozího kroku.Poznámka:
Za zmínku stojí dvě poznámky. Nejprve nepotřebujete heslo, protože jste vygenerovali pár klíčů SSH při vytváření virtuálního počítače. Za druhé, při prvním připojení prostředí k virtuálnímu počítači se zobrazí výzva k pravosti hostitele. K tomu dochází, protože se připojujete k IP adrese místo názvu hostitele. Odpověď ano uloží IP adresu jako platného hostitele pro připojení a umožní připojení pokračovat.
Dokončete věci instalací nástrojů mssql-tools na virtuální počítač s Linuxem, abyste se mohli připojit k databázi prostřednictvím sqlcmd.
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list sudo apt-get update sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18 unixodbc-dev
Poznámka:
Pro některé z těchto příkazů se bude posouvat hodně textu, proto nezapomeňte po posledním příkazu vybrat Enter , aby se zajistilo, že se spustí.
Vytvořili jste logický server Azure SQL Database, databázi na daném logickém serveru a virtuální počítač s názvem appServer , který simuluje síťové připojení z aplikačního serveru. Dále se podívejte, jak správně zabezpečit databázi.