Övning – Konfigurera sandbox-miljö

Slutförd

I den här lektionen konfigurerar du de resurser som du använder i hela den här modulen. Föreställ dig en grundläggande arkitektur som består av en server som är värd för ett program som dina kunder använder. Servern ansluter till en databas för lagring av sina data. Programmet körs på en virtuell dator (VM). Databasen har nyligen migrerats från en SQL Server-databas som körs på en virtuell dator till en databas i Azure SQL Database-tjänsten. Om du vill visa hur du kan skydda databasen konfigurerar du följande resurser för användning i hela den här modulen:

  • En virtuell Linux-dator med namnet appServer. Den här servern fungerar som den programserver som användarna ansluter till. Den måste ansluta till databasen. Installera sqlcmd på den virtuella datorn för att simulera ett program som körs på appServer och upprätta anslutningar till databasen.
  • En logisk Azure SQL Database-server. Den här logiska servern behövs som värd för en eller flera databaser.
  • En databas på den logiska servern med namnet marketplaceDb. Du skapar den med hjälp av demodatabasen AdventureWorksLT så att du har några tabeller och data att arbeta med. Dessa data innehåller vissa känsliga data, till exempel e-postadresser och telefonnummer som du vill skydda korrekt.

Skapa en Azure SQL Database

  1. Konfigurera först några variabler. Ersätt följande värden som visas i [] med valfria värden. [password] Måste innehålla minst åtta tecken och innehålla tecken från minst tre av dessa kategorier: versaler, gemener, siffror och icke-numeriska tecken. Spara värdet för senare användning.

    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. Kör följande kommando för att skapa en ny logisk Azure SQL Database-server.

    az sql server create \
        --name $SERVERNAME \
        --resource-group $RESOURCEGROUP \
        --location $LOCATION \
        --admin-user $ADMINLOGIN \
        --admin-password $PASSWORD
    
  3. Kör följande kommando för att skapa databasen marketplaceDb på den logiska server som du skapade. Det här kommandot använder AdventureWorksLT-databasen som en mall så att du har några ifyllda tabeller att arbeta med.

    az sql db create --resource-group $RESOURCEGROUP \
        --server $SERVERNAME \
        --name marketplaceDb \
        --sample-name AdventureWorksLT \
        --service-objective Basic
    
  4. Kör följande kommando för att hämta anslutningssträng för den här databasen.

    az sql db show-connection-string --client sqlcmd --name marketplaceDb --server $SERVERNAME | jq -r
    

    Dina utdata bör likna följande exempel. Behåll det här kommandot praktiskt eftersom du behöver det här kommandot för att ansluta till databasen senare i den här modulen. [username] Observera platshållarna och [password] i kommandot som du vill ersätta med de ADMINLOGIN autentiseringsuppgifter och PASSWORD autentiseringsuppgifter som du angav i variabler tidigare.

    sqlcmd -S tcp:server12345.database.windows.net,1433 -d marketplaceDb -U '[username]' -P '[password]' -N -l 30
    

Skapa och konfigurera en virtuell Linux-dator

Skapa den virtuella Linux-dator som ska användas via några exempel.

  1. Kör följande kommando för att skapa den virtuella datorn. Det kan ta flera minuter att slutföra det här kommandot.

    az vm create \
      --resource-group $RESOURCEGROUP \
      --name appServer \
      --image Ubuntu2204 \
      --size Standard_DS2_v2 \
      --public-ip-sku Standard \
      --generate-ssh-keys
    

    När det här kommandot har slutförts bör du se utdata som liknar följande exempel.

    {
      "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. När den virtuella datorn har skapats ansluter du till dess offentliga IP-adress med hjälp av SSH.

    ssh nnn.nnn.nnn.nnn
    

    Där nnn.nnn.nnn.nnn är värdet från utdata för publicIpAddress i föregående steg.

    Kommentar

    Det finns två saker att tänka på. Först behöver du inget lösenord eftersom du genererade ett SSH-nyckelpar som en del av skapandet av den virtuella datorn. För det andra uppmanas du att ange värdens äkthet vid den första gränssnittsanslutningen till den virtuella datorn. Detta beror på att du ansluter till en IP-adress i stället för ett värdnamn. Om du svarar ja sparas IP-adressen som en giltig värd för anslutningen och anslutningen kan fortsätta.

  3. Slutför genom att installera mssql-tools på den virtuella Linux-datorn så att du kan ansluta till databasen via 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
    

    Kommentar

    Mycket text bläddras efter för vissa av dessa kommandon, så se till att du väljer Retur efter det slutliga kommandot för att se till att det körs.

Du har skapat en logisk Azure SQL Database-server, en databas på den logiska servern och en virtuell dator med namnet appServer som simulerar nätverksanslutning från en programserver. Ta sedan en titt på hur du skyddar databasen korrekt.