UNPKG

@confluentinc/schemaregistry

Version:
37 lines (36 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AzureKmsDriver = void 0; const kms_registry_1 = require("../kms-registry"); const identity_1 = require("@azure/identity"); const azure_client_1 = require("./azure-client"); class AzureKmsDriver { /** * Register the Azure KMS driver with the KMS registry. */ static register() { (0, kms_registry_1.registerKmsDriver)(new AzureKmsDriver()); } getKeyUrlPrefix() { return AzureKmsDriver.PREFIX; } newKmsClient(config, keyUrl) { const uriPrefix = keyUrl != null ? keyUrl : AzureKmsDriver.PREFIX; const tenantId = config.get(AzureKmsDriver.TENANT_ID); const clientId = config.get(AzureKmsDriver.CLIENT_ID); const clientSecret = config.get(AzureKmsDriver.CLIENT_SECRET); let creds; if (tenantId != null && clientId != null && clientSecret != null) { creds = new identity_1.ClientSecretCredential(tenantId, clientId, clientSecret); } else { creds = new identity_1.DefaultAzureCredential(); } return new azure_client_1.AzureKmsClient(uriPrefix, creds); } } exports.AzureKmsDriver = AzureKmsDriver; AzureKmsDriver.PREFIX = 'azure-kms://'; AzureKmsDriver.TENANT_ID = 'tenant.id'; AzureKmsDriver.CLIENT_ID = 'client.id'; AzureKmsDriver.CLIENT_SECRET = 'client.secret';