- Lab
- A Cloud Guru
Enabling Always Encrypted in Azure SQL
You are assuming the role of a cloud data engineer. You’ve been asked to ensure customer data is always encrypted at rest. Staff such as administrators and backup operators should not have access to customer data, even when using tools like SQL Server Management Studio. The unencrypted data should only be available to the application. In this hands-on lab, you will create an Azure SQL database and an Azure Key Vault, encrypt data using SQL Server Management Studio (SSMS), and view encryption results.
Path Info
Table of Contents
-
Challenge
Create a SQL Server and SQL Database
Note: Unless otherwise stated, select the default options or, in the case of the subscriptions and resource groups, the only available option.
- Create a single SQL database.
- The database name can be anything (
sampleDB1
, in this example).
- The database name can be anything (
- Create a new server.
- The server name can be anything unique (
sqlsvr#####,
in this example).Note: It's recommended to append a random five- or six-digit number at the end of the server name.
- The username and password for the virtual machine can be used for the server admin.
- Ensure Allow Azure services to access server is checked.
- Change Compute + storage to Standard, 200 DTUs (or a Standard S04 server).
- On the Additional settings screen:
- Under Data Source, select Sample.
- Set Enable Advanced Data Security to Not now.
- The server name can be anything unique (
- Create a single SQL database.
-
Challenge
Create an Azure Key Vault
Note: Unless otherwise stated, select the default options or, in the case of the subscriptions and resource groups, the only available option.
- Create an Azure Key Vault.
- The key vault name can be anything unique (
kv#####
, in this example).Note: It's recommended to append a random five- or six-digit number at the end of the vault name.
- The key vault name can be anything unique (
- On the Access policy screen, in the Key Permissions column, select all permissions except for Purge, Release, Rotate, Get Rotation Policy, and Set Rotation Policy for the logged-in lab user.
- Create an Azure Key Vault.
-
Challenge
Use RDP to Connect to the Virtual Machine
-
Download and install an RDP client.
- Windows: Use the Remote Desktop client available to Windows clients natively.
- MacOS: Microsoft Remote Desktop
- Linux: Remmina
-
In the Azure portal, browse to the VM and take down the public IP address of the server from the Overview tab in the server blade, or use the details from the lab.
-
Connect to the server via RDP and log in using the credentials provided.
-
On the virtual machine, use the Internet Options to lower the security of IE or install Microsoft Edge, and set it as the default browser. (The two options work around a bug when using the encryption wizard later.)
-
-
Challenge
Connect to SQL Server and Encrypt Some Data
- Connect to SQL Server.
- Change the Authentication type to SQL Server Authentication.
- Connect using the credentials provided earlier.
Note: If you are prompted to log in to Azure, use the provided lab credentials.
- Browse to Databases > sampledb1 > Tables > and right-click on SalesLT.Customer.
- Select Encrypt Columns.
- Enable Always Encrypted via the wizard.
- Select the FirstName, MiddleName, and LastName columns, and set all three to use Deterministic encryption.
- Store the key in Azure Key Vault (log in with the Azure lab credentials).
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.