diff --git a/release-notes/README.md b/release-notes/README.md index 0bd2dfa84b..bc1847a545 100644 --- a/release-notes/README.md +++ b/release-notes/README.md @@ -12,10 +12,11 @@ The latest stable release is [Microsoft.Data.SqlClient 3.0](3.0). # Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider Release Notes -The latest stable release is [Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 2.0](add-ons/AzureKeyVaultProvider/2.0). +The latest stable release is [Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 3.0](add-ons/AzureKeyVaultProvider/3.0). ## Release Information +- [Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 3.0](add-ons/AzureKeyVaultProvider/3.0) - [Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 2.0](add-ons/AzureKeyVaultProvider/2.0) - [Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 1.2](add-ons/AzureKeyVaultProvider/1.2) - [Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 1.1](add-ons/AzureKeyVaultProvider/1.1) diff --git a/release-notes/add-ons/AzureKeyVaultProvider/2.0/2.0.0.md b/release-notes/add-ons/AzureKeyVaultProvider/2.0/2.0.0.md index 1884d59a85..b798c2e581 100644 --- a/release-notes/add-ons/AzureKeyVaultProvider/2.0/2.0.0.md +++ b/release-notes/add-ons/AzureKeyVaultProvider/2.0/2.0.0.md @@ -19,10 +19,10 @@ This library contains the implementation of `Microsoft.Data.SqlClient.SqlColumnE Once the provider is registered, it can be used to perform Always Encrypted operations by creating a Column Master Key using the Azure Key Vault Key Identifier URL. The linked C# samples below demonstrate using Always Encrypted with secure enclaves with Azure Key Vault: -- Legacy API support (Always Encrypted): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/master/doc/samples/AzureKeyVaultProviderLegacyExample_2_0.cs) -- New API support (Always Encrypted): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/master/doc/samples/AzureKeyVaultProviderExample_2_0.cs) -- Legacy API support (Always Encrypted with secure enclaves): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/master/doc/samples/doc\samples\AzureKeyVaultProviderWithEnclaveProviderExample.cs) -- New API support (Always Encrypted with secure snclaves): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/master/doc/samples/doc\samples\AzureKeyVaultProviderWithEnclaveProviderExample_2_0.cs) +- Legacy API support (Always Encrypted): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/AzureKeyVaultProviderLegacyExample_2_0.cs) +- New API support (Always Encrypted): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/AzureKeyVaultProviderExample_2_0.cs) +- Legacy API support (Always Encrypted with secure enclaves): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/doc\samples\AzureKeyVaultProviderWithEnclaveProviderExample.cs) +- New API support (Always Encrypted with secure enclaves): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/doc\samples\AzureKeyVaultProviderWithEnclaveProviderExample_2_0.cs) ## Target Platform Support diff --git a/release-notes/add-ons/AzureKeyVaultProvider/3.0/3.0.0.md b/release-notes/add-ons/AzureKeyVaultProvider/3.0/3.0.0.md new file mode 100644 index 0000000000..cc1f90eac2 --- /dev/null +++ b/release-notes/add-ons/AzureKeyVaultProvider/3.0/3.0.0.md @@ -0,0 +1,69 @@ +# Release Notes + +## General Availability of Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider + +_**3.0.0 released 14 June 2021**_ + +This library contains the implementation of `Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider` for accessing Azure Key Vault, and the provider class is named `SqlColumnEncryptionAzureKeyVaultProvider`. + +### Added + +- Introduces column encryption key caching support [#1056](https://github.com/dotnet/SqlClient/pull/1056) + +### Breaking Changes + +- Microsoft.Data.SqlClient dependency version upgraded to **v3.0.0+** [#1111](https://github.com/dotnet/SqlClient/pull/1111) + +### Working with SQLColumnEncryptionAzureKeyVaultProvider + +`SqlColumnEncryptionAzureKeyVaultProvider` **v3.0** is implemented against `Microsoft.Data.SqlClient` **v3.0** and supports .NET Framework 4.6.1+, .NET Core 2.1+, and .NET Standard 2.0+. The provider name identifier for this library is "**AZURE_KEY_VAULT**" and it is not registered in the driver by default. Client applications may initialize this provider by providing an `Azure.Core.TokenCredential` and registering it with the driver using any of the below APIs: + +- [SqlConnection.RegisterColumnEncryptionKeyStoreProviders](https://docs.microsoft.com/dotnet/api/microsoft.data.sqlclient.sqlconnection.registercolumnencryptionkeystoreproviders?view=sqlclient-dotnet-3.0) +- [SqlConnection.RegisterColumnEncryptionKeyStoreProvidersOnConnection](https://docs.microsoft.com/dotnet/api/microsoft.data.sqlclient.sqlconnection.registercolumnencryptionkeystoreprovidersonconnection?view=sqlclient-dotnet-3.0) (Added in version 3.0.0) +- [SqlCommand.RegisterColumnEncryptionKeyStoreProvidersOnCommand](https://docs.microsoft.com/dotnet/api/microsoft.data.sqlclient.sqlcommand.registercolumnencryptionkeystoreprovidersoncommand?view=sqlclient-dotnet-3.0) (Added in version 3.0.0) + +Once the provider is registered, it can be used to perform Always Encrypted operations by creating a Column Master Key using the Azure Key Vault Key Identifier URL. + +The linked C# samples below demonstrate using Always Encrypted with secure enclaves with Azure Key Vault: + +- Legacy API support (Always Encrypted): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/AzureKeyVaultProviderLegacyExample_2_0.cs) +- New API support (Always Encrypted): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/AzureKeyVaultProviderExample_2_0.cs) +- Legacy API support (Always Encrypted with secure enclaves): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/doc\samples\AzureKeyVaultProviderWithEnclaveProviderExample.cs) +- New API support (Always Encrypted with secure enclaves): [AzureKeyVaultProviderExample.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/doc\samples\AzureKeyVaultProviderWithEnclaveProviderExample_2_0.cs) +- Column Encryption Key cache scope example: [AzureKeyVaultProvider_ColumnEncryptionKeyCacheScope.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/AzureKeyVaultProvider_ColumnEncryptionKeyCacheScope.cs) +- Registering custom key store provider - Connection Precedence: [RegisterCustomKeyStoreProvider_ConnectionPrecedence.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/RegisterCustomKeyStoreProvider_ConnectionPrecedence.cs) +- Registering custom key store provider - Command Precedence: [RegisterCustomKeyStoreProvider_CommandPrecedence.cs](https://github.com/dotnet/SqlClient/blob/main/doc/samples/RegisterCustomKeyStoreProvider_CommandPrecedence.cs) + +For further details, refer to [Using the Azure Key Vault provider](https://docs.microsoft.com/sql/connect/ado-net/sql/sqlclient-support-always-encrypted#using-the-azure-key-vault-provider) + +## Target Platform Support + +- .NET Framework 4.6.1+ +- .NET Core 2.1+ (Windows x86, Windows x64, Linux, macOS) +- .NET Standard 2.0+ + +### Dependencies + +#### .NET Framework + +- Azure.Core 1.6.0 +- Azure.Security.KeyVault.Keys 4.0.3 +- Microsoft.Data.SqlClient 3.0.0 +- System.Text.Encodings.Web 4.7.2 +- Microsoft.Extensions.Caching.Memory 5.0.0 + +#### .NET Core + +- Azure.Core 1.6.0 +- Azure.Security.KeyVault.Keys 4.0.3 +- Microsoft.Data.SqlClient 3.0.0 +- System.Text.Encodings.Web 4.7.2 +- Microsoft.Extensions.Caching.Memory 5.0.0 + +#### .NET Standard + +- Azure.Core 1.6.0 +- Azure.Security.KeyVault.Keys 4.0.3 +- Microsoft.Data.SqlClient 3.0.0 +- System.Text.Encodings.Web 4.7.2 +- Microsoft.Extensions.Caching.Memory 5.0.0 diff --git a/release-notes/add-ons/AzureKeyVaultProvider/3.0/README.md b/release-notes/add-ons/AzureKeyVaultProvider/3.0/README.md new file mode 100644 index 0000000000..d7deee4b63 --- /dev/null +++ b/release-notes/add-ons/AzureKeyVaultProvider/3.0/README.md @@ -0,0 +1,7 @@ +# Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 3.0 Releases + +The following Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 3.0 stable releases have been shipped: + +| Release Date | Description | Notes | +| :-- | :-- | :--: | +| 2021/06/14 | 3.0.0 | [release notes](3.0.0.md) |