-
Notifications
You must be signed in to change notification settings - Fork 4k
SQL VM AKV Integration in Azure SDK Release 0.9.8 #847
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The files in this change implement two changes: 1. The AutoBackup feature includes private settings in the public settings section. The fix was to add a public settings class that is used to manage the AutoBackup settings in the set and get command. The change does not impact the cmdlet interface or the objects used to configure AutoBackup. The change is internal to the feature implementation. The AutoBackup syntax command is still the same. Here is an example: $storageaccount = "nobrooklyninfrawe" $storageaccountkey = (Get-AzureStorageKey -StorageAccountName $storageaccount).Primary $storagecontext = New-AzureStorageContext -StorageAccountName $storageaccount -StorageAccountKey $storageaccountkey $password = "P@ssw0rd" $encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force $autobackupconfig = New-AzureVMSqlServerAutoBackupConfig -StorageContext $storagecontext -Enable -RetentionPeriod 10 -EnableEncryption -CertificatePassword $encryptionpassword Get-AzureVM -ServiceName $serviceName -Name $vmName | Set-AzureVMSqlServerExtension -AutoBackupSettings $autobackupconfig | Update-AzureVM 2. SQL VM Azure key Vault Integration This is a new feature is added to configure SQL Connector to access Azure Key Vault on a SQL IaaS VM. The feature is only available for SQL Server 2012 and higher version. A new set of classes is added to manage Collecting the Azure Key Vault settings and new SQL credential settings. The user would provide the key vault url, principal name and secret and the SQL credential name. The user can enable \ disable the feature Using the Enable switch option. By default the feature is disabled. The following is an example to enable the feature: $akvsecret = "3j432j4lj32lk4j32lk4jlk32j4l32j4lj32lj4l32j4lk" $secureakv = $akvsecret | ConvertTo-SecureString -AsPlainText -Force $akvs = New-AzureVMSqlServerKeyVaultCredentialConfig -Enable -CredentialName mycredzz11 -AzureKeyVaultUrl "http://afSqlKVT.vault.azure.net" -ServicePrincipalName "jljlj3l-s4d4c-9d2d-42428ed7" -ServicePrincipalSecret $secureakv Get-AzureVM -ServiceName $serviceName -Name $vmName | Set-AzureVMSqlServerExtension -KeyVaultCredentialSettings $akvs | Update-AzureVM The change also update the extension status. The status output now includes the KeyVaultSettings object Get-AzureVM -ServiceName $serviceName -Name $vmName | Get-AzureVMSqlServerExtension The following is a sample output of the get command ExtensionName : SqlIaaSAgent Publisher : Microsoft.SqlServer.Management Version : 1.* State : Enable RoleName : afexttest AutoPatchingSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoPatchingSettings AutoBackupSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.AutoBackupSettings KeyVaultCredentialSettings : Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.Extensions.KeyVaultCredentialSettings
In the previous change, default settings were used for AKV and AutoBackup if the settings are not entered by the user. This is the wrong behavior as it would always update the VM with the default settings for feature that the user did not include in the set command.
1. Don't print or attempt to print private settings from the Get. Instead print *** if the options are set. 2. Print a message to educate the user when disabling Azure key vault that existing credentials will not be removed but AKV status will not be reported. 3. Update the help file. 4. No new tests are required as the current tests already cover the changes in this changeset.
Hi @OJDUDE, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution! TTYL, AZPRBOT; |
On demand job is here: http://azuresdkci.cloudapp.net/view/1-AzurePowerShell/job/powershell-on-demand/174/ |
Thanks for the update. I don’t have access to the links yet. I am still getting access to them. I will wait for the update results. From: Mark Cowlishaw [mailto:[email protected]] — |
Resolved failed test. Please schedule the change for test run please. |
Thanks folks for kicking this test. It all passed. Please let me know when it is merged. |
Can you please provide an ETA when this be merged? |
Is this being tested again? |
I see this is a check-in validation job. |
Build completed without errors. Please let us know when this is merged. |
Merging. Thanks!! |
SQL VM AKV Integration in Azure SDK Release 0.9.8
Retarget pull request 751 to release branch. See pull request details here #751