Skip to content
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

Merged
merged 49 commits into from
May 17, 2021
Merged

Add multi-user key store provider registration support #1056

merged 49 commits into from
May 17, 2021

Conversation

johnnypham
Copy link
Contributor

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 SqlColumnEncryptionAzureKeyVaultProvider level. Each SqlColumnEncryptionAzureKeyVaultProvider is linked to a single TokenCredential, which serves as the user identity.

public class SqlCommand
{    
       // Added API: registers into command-level key store provider cache
       public void RegisterColumnEncryptionKeyStoreProvidersOnCommand(IDictionary<string, SqlColumnEncryptionKeyStoreProvider> customProviders);
}

@johnnypham johnnypham added the 🆕 Public API Use this label for new API additions to the driver. label Apr 28, 2021
@cheenamalhotra cheenamalhotra added this to the 3.0.0-preview3 milestone May 7, 2021
Johnny Pham and others added 4 commits May 10, 2021 14:28
…ecurityUtility.cs

Co-authored-by: David Engel <dengel1012@gmail.com>
…ecurityUtility.cs

Co-authored-by: David Engel <dengel1012@gmail.com>
…ecurityUtility.cs

Co-authored-by: David Engel <dengel1012@gmail.com>
…ecurityUtility.cs

Co-authored-by: David Engel <dengel1012@gmail.com>
Copy link
Member

@DavoudEshtehari DavoudEshtehari left a 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?

Johnny Pham and others added 10 commits May 14, 2021 11:12
…/AKVUnitTests.cs

Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com>
…/AKVUnitTests.cs

Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com>
…/AKVUnitTests.cs

Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com>
…/AKVUnitTests.cs

Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com>
…oreProvider.xml

Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com>
…/AKVUnitTests.cs

Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com>
Copy link
Member

@cheenamalhotra cheenamalhotra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM 👍

@cheenamalhotra cheenamalhotra merged commit 5e067c4 into dotnet:main May 17, 2021
@johnnypham johnnypham deleted the multitenant-provider-command branch May 19, 2021 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🆕 Public API Use this label for new API additions to the driver.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants