Alıştırma - Korumalı alan ortamını ayarlama
Bu ünitede, bu modül boyunca kullandığınız kaynakları ayarlarsınız. Müşterilerinizin kullandığı bir uygulamayı barındıran bir sunucudan oluşan temel bir mimariyi hayal edin. Sunucu, verilerini depolamak için bir veritabanına bağlanır. Uygulama bir sanal makinede (VM) çalışır. Veritabanı yakın zamanda VM üzerinde çalışan bir SQL Server veritabanından Azure SQL Veritabanı hizmetindeki bir veritabanına geçirildi. Veritabanınızın güvenliğini nasıl sağlayabildiğinizi göstermek için bu modülde kullanmak üzere aşağıdaki kaynakları ayarlayın:
- appServer adlı bir Linux VM. Bu sunucu, kullanıcıların bağlanacağı uygulama sunucusu gibi davranır. Veritabanına bağlanması gerekir. veritabanına bağlantı yapan appServer üzerinde çalışan bir uygulamanın benzetimini yapmak için VM'ye yükleyin
sqlcmd
. - Bir Azure SQL Veritabanı mantıksal sunucusu. Bu mantıksal sunucu, bir veya daha fazla veritabanını barındırmak için gereklidir.
- Mantıksal sunucunuzda marketplaceDb adlı bir veritabanı. Bu veritabanını AdventureWorksLT tanıtım veritabanını kullanarak oluşturursunuz, böylece çalışmak için bazı tablolarınız ve verileriniz olur. Bu veriler, düzgün bir şekilde güvenliğini sağlamak istediğiniz e-posta adresleri ve telefon numaraları gibi bazı hassas verileri içerir.
Azure SQL Veritabanı oluşturma
İlk olarak, bazı değişkenleri ayarlayın. içinde
[]
gösterilen aşağıdaki değerleri istediğiniz değerlerle değiştirin.[password]
en az sekiz karakter içermelidir ve bu kategorilerden en az üçünün karakterlerini içermelidir: büyük harf karakterler, küçük harfler, sayılar ve sayısal olmayan karakterler. Değeri daha sonra kullanmak üzere kaydedin.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')
Aşağıdaki komutu çalıştırarak yeni bir Azure SQL Veritabanı mantıksal sunucusu oluşturun.
az sql server create \ --name $SERVERNAME \ --resource-group $RESOURCEGROUP \ --location $LOCATION \ --admin-user $ADMINLOGIN \ --admin-password $PASSWORD
Oluşturduğunuz mantıksal sunucuda marketplaceDb adlı veritabanını oluşturmak için aşağıdaki komutu çalıştırın. Bu komut AdventureWorksLT veritabanını şablon olarak kullandığından, çalışmak için önceden doldurulmuş tablolara sahip olursunuz.
az sql db create --resource-group $RESOURCEGROUP \ --server $SERVERNAME \ --name marketplaceDb \ --sample-name AdventureWorksLT \ --service-objective Basic
Bu veritabanının bağlantı dizesi almak için aşağıdaki komutu çalıştırın.
az sql db show-connection-string --client sqlcmd --name marketplaceDb --server $SERVERNAME | jq -r
Çıkışınız aşağıdaki örneğe benzemelidir. Bu modülün ilerleyen bölümlerinde veritabanınıza bağlanmak için bu komuta ihtiyacınız olduğundan bu komutu kullanışlı tutun.
[username]
Daha önce değişkenlerde belirttiğiniz ve[password]
kimlik bilgileriyle değiştirmek istediğiniz komuttakiADMINLOGIN
vePASSWORD
yer tutucularını not edin.sqlcmd -S tcp:server12345.database.windows.net,1433 -d marketplaceDb -U '[username]' -P '[password]' -N -l 30
Linux sanal makinesi oluşturma ve yapılandırma
Bazı örnekler aracılığıyla kullanılacak Linux VM'sini oluşturun.
VM'yi oluşturmak için aşağıdaki komutu çalıştırın. Bu komutun tamamlanması birkaç dakika sürebilir.
az vm create \ --resource-group $RESOURCEGROUP \ --name appServer \ --image Ubuntu2204 \ --size Standard_DS2_v2 \ --public-ip-sku Standard \ --generate-ssh-keys
Bu komut tamamlandığında aşağıdaki örneğe benzer bir çıktı görmeniz gerekir.
{ "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": "" }
VM'niz başarıyla oluşturulduktan sonra SSH kullanarak genel IP adresine bağlanın.
ssh nnn.nnn.nnn.nnn
Burada
nnn.nnn.nnn.nnn
, bir önceki adımdakipublicIpAddress
çıkışının değeridir.Dekont
Dikkat edilecek iki nokta vardır. İlk olarak, VM oluşturma işleminin bir parçası olarak bir SSH anahtar çifti oluşturduğunuz için parolaya ihtiyacınız yoktur. İkincisi, VM'ye ilk kabuk bağlantısında konağın orijinalliği hakkında bilgi istenir. Bunun nedeni, ana bilgisayar adı yerine bir IP adresine bağlanmanızdır. Evet yanıtı, IP adresini bağlantı için geçerli bir konak olarak kaydeder ve bağlantının devam etmesine izin verir.
Sqlcmd aracılığıyla veritabanınıza bağlanabilmeniz için Linux VM'sine mssql-tools yükleyerek işlemleri tamamlayın.
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
Dekont
Bu komutların bazıları için çok fazla metin kaydırılır, bu nedenle çalıştığından emin olmak için son komutun ardından Enter'ı seçtiğinizden emin olun.
bir Azure SQL Veritabanı mantıksal sunucusu, bu mantıksal sunucuda bir veritabanı ve bir uygulama sunucusundan ağ bağlantısının benzetimini sağlayan appServer adlı bir sanal makine oluşturdunuz. Ardından, veritabanınızın güvenliğini düzgün bir şekilde sağlamayı öğrenin.