-
Couldn't load subscription status.
- Fork 316
Add multi-user key store provider registration support #1056
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
Add multi-user key store provider registration support #1056
Conversation
src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/LocalCache.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/TdsParser.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlSecurityUtility.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlSecurityUtility.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlSecurityUtility.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlSecurityUtility.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlSecurityUtility.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlSymmetricKeyCache.cs
Outdated
Show resolved
Hide resolved
...oft.Data.SqlClient/add-ons/AzureKeyVaultProvider/SqlColumnEncryptionAzureKeyVaultProvider.cs
Outdated
Show resolved
Hide resolved
…ecurityUtility.cs Co-authored-by: David Engel <[email protected]>
…ecurityUtility.cs Co-authored-by: David Engel <[email protected]>
…ecurityUtility.cs Co-authored-by: David Engel <[email protected]>
…ecurityUtility.cs Co-authored-by: David Engel <[email protected]>
src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlConnection.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/LocalCache.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/LocalCache.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/LocalCache.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/LocalCache.cs
Show resolved
Hide resolved
...oft.Data.SqlClient/add-ons/AzureKeyVaultProvider/SqlColumnEncryptionAzureKeyVaultProvider.cs
Outdated
Show resolved
Hide resolved
...oft.Data.SqlClient/add-ons/AzureKeyVaultProvider/SqlColumnEncryptionAzureKeyVaultProvider.cs
Show resolved
Hide resolved
...oft.Data.SqlClient/add-ons/AzureKeyVaultProvider/SqlColumnEncryptionAzureKeyVaultProvider.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnection.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnection.cs
Outdated
Show resolved
Hide resolved
…t/SqlConnection.cs Co-authored-by: Javad <[email protected]>
…nnypham/SqlClient into multitenant-provider-command
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ApiShould.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlSymmetricKeyCache.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you assess TTL by adding more tests?
doc/snippets/Microsoft.Data.SqlClient/SqlColumnEncryptionKeyStoreProvider.xml
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/AKVUnitTests.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/AKVUnitTests.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/AKVUnitTests.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/AKVUnitTests.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/AKVUnitTests.cs
Outdated
Show resolved
Hide resolved
...oft.Data.SqlClient/add-ons/AzureKeyVaultProvider/SqlColumnEncryptionAzureKeyVaultProvider.cs
Show resolved
Hide resolved
…/AKVUnitTests.cs Co-authored-by: DavoudEshtehari <[email protected]>
…/AKVUnitTests.cs Co-authored-by: DavoudEshtehari <[email protected]>
…/AKVUnitTests.cs Co-authored-by: DavoudEshtehari <[email protected]>
…/AKVUnitTests.cs Co-authored-by: DavoudEshtehari <[email protected]>
…oreProvider.xml Co-authored-by: DavoudEshtehari <[email protected]>
…/AKVUnitTests.cs Co-authored-by: DavoudEshtehari <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM 👍
These changes add a public method to register providers into an instance cache at the command-level, allowing users to maintain their own set of providers in the same application.
The current column encryption key (CEK) cache is global so a new CEK cache and signature verification cache is added at the
SqlColumnEncryptionAzureKeyVaultProviderlevel. EachSqlColumnEncryptionAzureKeyVaultProvideris linked to a singleTokenCredential, which serves as the user identity.