Skip to content

DGS-24721 Add support for saving Azure key version with DEK#507

Merged
Robert Yokota (rayokota) merged 4 commits into
masterfrom
save-kms-key
Jul 13, 2026
Merged

DGS-24721 Add support for saving Azure key version with DEK#507
Robert Yokota (rayokota) merged 4 commits into
masterfrom
save-kms-key

Conversation

@rayokota

Copy link
Copy Markdown
Member

Please prefix all TypeScript pull-requests with [Typescript]

What

Checklist

  • Contains customer facing changes? Including API/behavior changes
  • Did you add sufficient unit test and/or integration test coverage for this PR?
    • If not, please explain why it is not required

References

JIRA:

Test & Review

Open questions / Follow-ups

@rayokota Robert Yokota (rayokota) requested review from a team as code owners July 9, 2026 18:26
Copilot AI review requested due to automatic review settings July 9, 2026 18:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for making Azure Key Vault–wrapped DEKs self-describing by embedding the Azure key version into the encrypted key material, enabling reliable decrypt after key rotation (similar to AWS/GCP KMS ciphertext behavior).

Changes:

  • Add an encrypt.azure.key.version.save toggle and Azure Key Vault key-id parsing/version resolution utilities.
  • Update AzureKmsClient to optionally prefix ciphertext with azure:v1:<32-hex-version>: and to use the embedded version during decrypt.
  • Propagate per-KEK kmsProps into the config passed to KMS clients, and add Jest coverage for the new Azure behaviors.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
schemaregistry/rules/encryption/encrypt-executor.ts Merges per-KEK kmsProps into the config used for KMS client creation.
schemaregistry/rules/encryption/azurekms/azure-driver.ts Adds Azure key-id parsing, credentials helper, and version resolution for versionless key IDs.
schemaregistry/rules/encryption/azurekms/azure-client.ts Implements version-prefixed ciphertext format and decrypt-time version selection.
schemaregistry/test/rules/encryption/azurekms/azure-driver.spec.ts Unit tests for Azure key-id parsing/version resolution utilities.
schemaregistry/test/rules/encryption/azurekms/azure-client.spec.ts Unit tests for encrypt/decrypt behavior with and without embedded key version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread schemaregistry/rules/encryption/encrypt-executor.ts
Comment thread schemaregistry/rules/encryption/azurekms/azure-driver.ts
@sonarqube-confluent

Copy link
Copy Markdown

@rayokota Robert Yokota (rayokota) merged commit ca998ff into master Jul 13, 2026
3 checks passed
@rayokota Robert Yokota (rayokota) deleted the save-kms-key branch July 13, 2026 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants