Cvičení – nastavení prostředí sandboxu

Dokončeno

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

  1. 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')
    
  2. 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
    
  3. 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
    
  4. 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ími ADMINLOGIN ú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.

  1. 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": ""
    }
    
  2. 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ýstupu publicIpAddress 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.

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