{"id":17758,"date":"2020-08-25T12:28:10","date_gmt":"2020-08-25T12:28:10","guid":{"rendered":"https:\/\/www.testpreptraining.com\/tutorial\/?page_id=17758"},"modified":"2022-03-14T05:29:18","modified_gmt":"2022-03-14T05:29:18","slug":"configuring-always-encrypted-by-using-azure-key-vault","status":"publish","type":"page","link":"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/","title":{"rendered":"Configuring Always Encrypted by using Azure Key Vault"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.testpreptraining.ai\/tutorial\/exam-az-500-microsoft-azure-security-technologies\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to AZ-500 Tutorials<\/a><\/p>\n\n\n\n<p>We will study and understand how to configure Always encrypted using the Azure key vault in this tutorial. Using the Always Encrypted wizard in SQL Server Management Studio, we&#8217;ll learn how to safeguard sensitive data in an Azure SQL Database database (SSMS).<\/p>\n\n\n\n<p>Always Encrypted is a data encryption solution that helps safeguard sensitive data on the server while it is in transit. Furthermore, it ensures that sensitive information is never stored in plaintext within the database system. Plaintext data can only be accessed by client programs or app servers that have access to the keys once data encryption has been configured.<\/p>\n\n\n\n<p>After setting the database to use Always Encrypted, you&#8217;ll use Visual Studio to construct a client application in C# to deal with the encrypted data.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Enable client application access<\/strong><\/h4>\n\n\n\n<p>You must first activate your client application by creating an Azure Active Directory (Azure AD) application before you can access your database in SQL Database. Following that, copy the Application ID and key you&#8217;ll need to authenticate your app.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Creating a key vault to store your keys<\/strong><\/h4>\n\n\n\n<p>It&#8217;s time to construct a key vault and define its access policy for accessing the vault&#8217;s secrets after creating the client app and obtaining the application ID. To generate a new column master key and set up encryption with SQL Server Management Studio, you&#8217;ll need the create, get, list, sign, verify, wrapKey, and unwrapKey permissions.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>PowerShell<\/strong><\/h6>\n\n\n\n<p><em>$subscriptionName = &#8216;&lt;subscriptionName&gt;&#8217;<\/em><\/p>\n\n\n\n<p><em>$userPrincipalName = &#8216;&lt;username@domain.com&gt;&#8217;<\/em><\/p>\n\n\n\n<p><em>$applicationId = &#8216;&lt;applicationId from AAD application&gt;&#8217;<\/em><\/p>\n\n\n\n<p><em>$resourceGroupName = &#8216;&lt;resourceGroupName&gt;&#8217; # use the same resource group name when creating your SQL Database below<\/em><\/p>\n\n\n\n<p><em>$location = &#8216;&lt;datacenterLocation&gt;&#8217;<\/em><\/p>\n\n\n\n<p><em>$vaultName = &#8216;&lt;vaultName&gt;&#8217;<\/em><\/p>\n\n\n\n<p><em>Connect-AzAccount<\/em><\/p>\n\n\n\n<p><em>$subscriptionId = (Get-AzSubscription -SubscriptionName $subscriptionName).Id<\/em><\/p>\n\n\n\n<p><em>Set-AzContext -SubscriptionId $subscriptionId<\/em><\/p>\n\n\n\n<p><em>New-AzResourceGroup -Name $resourceGroupName -Location $location<\/em><\/p>\n\n\n\n<p><em>New-AzKeyVault -VaultName $vaultName -ResourceGroupName $resourceGroupName -Location $location<\/em><\/p>\n\n\n\n<p><em>Set-AzKeyVaultAccessPolicy -VaultName $vaultName -ResourceGroupName $resourceGroupName -PermissionsToKeys create,get,wrapKey,unwrapKey,sign,verify,list -UserPrincipalName $userPrincipalName<\/em><\/p>\n\n\n\n<p><em>Set-AzKeyVaultAccessPolicy&nbsp; -VaultName $vaultName&nbsp; -ResourceGroupName $resourceGroupName -ServicePrincipalName $applicationId -PermissionsToKeys get,wrapKey,unwrapKey,sign,verify,list<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Connecting with SSMS<\/strong><\/h4>\n\n\n\n<p>To begin, launch SQL Server Management Studio (SSMS) and connect to the server or database.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, open SSMS and go to Connect&nbsp; and click database Engine to open the Connect to Server window.<\/li><li>Then, enter your server name or instance name and credentials.<\/li><\/ul>\n\n\n\n<p>And, if the New Firewall Rule window opens, sign in to Azure and let SSMS create a new firewall rule for you.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.testpreptraining.ai\/microsoft-azure-security-technologies-az-500-free-practice-test\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"150\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ_500-practice-tests-12.png\" alt=\"AZ-500 Practice tests\" class=\"wp-image-18004\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ_500-practice-tests-12.png 961w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ_500-practice-tests-12-750x117.png 750w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/a><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Configuring Always Encrypted<\/strong><\/h4>\n\n\n\n<p>Always Encrypted may be configured with the aid of SSMS by setting up the column master key, column encryption key, and encrypted columns.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, expand Databases &gt; Clinic &gt; Tables.<\/li><li>Then, right-click the Patients table and select Encrypt Columns to open the Always Encrypted wizard:<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/az500-docs-54.png\" alt=\"configuring always encrypted\" class=\"wp-image-17775\" width=\"369\" height=\"469\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/az500-docs-54.png 421w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/az500-docs-54-315x400.png 315w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><figcaption><strong>Image Source: Microsoft<\/strong><\/figcaption><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Creating client application that works with the encrypted data<\/strong><\/h4>\n\n\n\n<p>You can create an application that performs inserts and selects on the encrypted columns after you&#8217;ve set up Always Encrypted.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, open Visual Studio and create a new C# Console Application (Visual Studio 2015 and earlier) or Console App (.NET Framework) (Visual Studio 2017 and later).&nbsp;<\/li><li>Secondly, name the project AlwaysEncryptedConsoleAKVApp and click OK.<\/li><li>Lastly, install the following NuGet packages by going to Tools &gt; NuGet Package Manager &gt; Package Manager Console.<\/li><\/ul>\n\n\n\n<p>After that, run the below two lines of code in the Package Manager Console:<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>PowerShell<\/strong><\/h6>\n\n\n\n<p><em>Install-Package Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider<\/em><\/p>\n\n\n\n<p><em>Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Modifying your connection string to enable Always Encrypted<\/strong><\/h4>\n\n\n\n<p>Add the Column Encryption Setting keyword to your connection string and set it to Enabled to enable Always Encrypted.<\/p>\n\n\n\n<p>However, you may specify this either directly in the connection string or through SqlConnectionStringBuilder.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Enabling Always Encrypted in the connection string<\/strong><\/h6>\n\n\n\n<p>Add the following keyword to your connection string.<\/p>\n\n\n\n<p><em>Column Encryption Setting=Enabled<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Registering the Azure Key Vault provider<\/strong><\/h4>\n\n\n\n<p>The code below shows how to register the Azure Key Vault provider with the ADO.NET driver.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>C#<\/strong><\/h6>\n\n\n\n<p><em>private static ClientCredential _clientCredential;<\/em><\/p>\n\n\n\n<p><em>static void InitializeAzureKeyVaultProvider() {<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;_clientCredential = new ClientCredential(applicationId, clientKey);<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;SqlColumnEncryptionAzureKeyVaultProvider azureKeyVaultProvider = new SqlColumnEncryptionAzureKeyVaultProvider(GetToken);<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;Dictionary&lt;string, SqlColumnEncryptionKeyStoreProvider&gt; providers = new Dictionary&lt;string, SqlColumnEncryptionKeyStoreProvider&gt;();<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;providers.Add(SqlColumnEncryptionAzureKeyVaultProvider.ProviderName, azureKeyVaultProvider);<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;SqlConnection.RegisterColumnEncryptionKeyStoreProviders(providers);<\/em><\/p>\n\n\n\n<p><em>}<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Always Encrypted sample console application<\/strong><\/h4>\n\n\n\n<p>This sample demonstrates how to:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, modify your connection string to enable Always Encrypted.<\/li><li>Secondly, register Azure Key Vault as the application&#8217;s key store provider.<\/li><li>Thirdly, insert data into the encrypted columns.<\/li><li>Lastly, select a record by filtering for a specific value in an encrypted column.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Verify that the data is encrypted<\/strong><\/h4>\n\n\n\n<p>You can easily review that the actual data on the server is encrypted by querying the Patients data with SSMS.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Run the following query on the Clinic database.<\/strong><\/h6>\n\n\n\n<p><strong>SQL<\/strong><\/p>\n\n\n\n<p><em>SELECT FirstName, LastName, SSN, BirthDate FROM Patients;<\/em><\/p>\n\n\n\n<p>To utilize SSMS to access unencrypted data, first make sure the user has the following Azure Key Vault permissions: obtain, unwrapKey, and verify.<\/p>\n\n\n\n<p>After that, add the Column Encryption Setting=enabled parameter during your connection.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, in SSMS, right-click your server in Object Explorer and choose Disconnect.<\/li><li>Secondly, click Connect &gt; Database Engine to open the Connect to Server window and click Options.<\/li><li>Then, click Additional Connection Parameters and type Column Encryption Setting=enabled.<\/li><li>Lastly, run the following query on the Clinic database.<\/li><\/ul>\n\n\n\n<p><strong>SQL<\/strong><\/p>\n\n\n\n<p><em>SELECT FirstName, LastName, SSN, BirthDate FROM Patients;<\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.testpreptraining.ai\/microsoft-azure-security-technologies-az-500-practice-exam\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"150\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ-500-online-course-14.png\" alt=\"Az-500 online course\" class=\"wp-image-17765\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ-500-online-course-14.png 961w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ-500-online-course-14-750x117.png 750w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/a><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-right\"><strong>Reference: <\/strong><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-sql\/database\/always-encrypted-azure-key-vault-configure?tabs=azure-powershell\" target=\"_blank\" rel=\"noreferrer noopener\">Microsoft Documentation<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.testpreptraining.ai\/tutorial\/exam-az-500-microsoft-azure-security-technologies\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to AZ-500 Tutorials<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go back to AZ-500 Tutorials We will study and understand how to configure Always encrypted using the Azure key vault in this tutorial. Using the Always Encrypted wizard in SQL Server Management Studio, we&#8217;ll learn how to safeguard sensitive data in an Azure SQL Database database (SSMS). Always Encrypted is a data encryption solution that&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-17758","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Configuring Always Encrypted by using Azure Key Vault | AZ-500 Tutorials<\/title>\n<meta name=\"description\" content=\"Learn about configuring Always Encrypted by using Azure Key Vault using Microsoft AZ-500 online course and Practice Exam Now!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configuring Always Encrypted by using Azure Key Vault | AZ-500 Tutorials\" \/>\n<meta property=\"og:description\" content=\"Learn about configuring Always Encrypted by using Azure Key Vault using Microsoft AZ-500 online course and Practice Exam Now!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/\" \/>\n<meta property=\"og:site_name\" content=\"Testprep Training Tutorials\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-14T05:29:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ_500-practice-tests-12.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/\",\"name\":\"Configuring Always Encrypted by using Azure Key Vault | AZ-500 Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\"},\"datePublished\":\"2020-08-25T12:28:10+00:00\",\"dateModified\":\"2022-03-14T05:29:18+00:00\",\"description\":\"Learn about configuring Always Encrypted by using Azure Key Vault using Microsoft AZ-500 online course and Practice Exam Now!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configuring Always Encrypted by using Azure Key Vault\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"name\":\"Testprep Training Tutorials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\",\"name\":\"Testprep Training\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"contentUrl\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"width\":583,\"height\":153,\"caption\":\"Testprep Training\"},\"image\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Configuring Always Encrypted by using Azure Key Vault | AZ-500 Tutorials","description":"Learn about configuring Always Encrypted by using Azure Key Vault using Microsoft AZ-500 online course and Practice Exam Now!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/","og_locale":"en_US","og_type":"article","og_title":"Configuring Always Encrypted by using Azure Key Vault | AZ-500 Tutorials","og_description":"Learn about configuring Always Encrypted by using Azure Key Vault using Microsoft AZ-500 online course and Practice Exam Now!","og_url":"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/","og_site_name":"Testprep Training Tutorials","article_modified_time":"2022-03-14T05:29:18+00:00","og_image":[{"url":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2020\/08\/AZ_500-practice-tests-12.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/","url":"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/","name":"Configuring Always Encrypted by using Azure Key Vault | AZ-500 Tutorials","isPartOf":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website"},"datePublished":"2020-08-25T12:28:10+00:00","dateModified":"2022-03-14T05:29:18+00:00","description":"Learn about configuring Always Encrypted by using Azure Key Vault using Microsoft AZ-500 online course and Practice Exam Now!","breadcrumb":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/configuring-always-encrypted-by-using-azure-key-vault\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.testpreptraining.ai\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Configuring Always Encrypted by using Azure Key Vault"}]},{"@type":"WebSite","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","name":"Testprep Training Tutorials","description":"","publisher":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization","name":"Testprep Training","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","contentUrl":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","width":583,"height":153,"caption":"Testprep Training"},"image":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/17758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/comments?post=17758"}],"version-history":[{"count":6,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/17758\/revisions"}],"predecessor-version":[{"id":52745,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/17758\/revisions\/52745"}],"wp:attachment":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media?parent=17758"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/categories?post=17758"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/tags?post=17758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}