UNPKG

@iota-big3/sdk-security

Version:

Advanced security features including zero trust, quantum-safe crypto, and ML threat detection

101 lines 3.35 kB
/** * Multi-Provider Secrets Manager * Orchestrates secrets across HashiCorp Vault, AWS, Azure, GCP, and more */ import { EventEmitter } from 'events'; import { Certificate, CertificateConfig, DynamicSecretConfig, HealthStatus, MultiProviderConfig, RotationPolicy, Secret, SecretFilter, SecretLease, SecretMetadata, SecretsManager, SecretsProvider, SigningConfig } from './types'; export declare class MultiProviderSecretsManager extends EventEmitter implements SecretsManager { readonly provider = SecretsProvider.CUSTOM; private config; private providers; private primaryProvider; private isInitialized; private supportsEncryption; private supportsPKI; private supportsDynamic; constructor(config: MultiProviderConfig); /** * Initialize all configured providers */ initialize(): Promise<void>; /** * Get secret - tries primary first, then fallback providers */ getSecret(name: string, version?: string): Promise<Secret>; /** * Set secret - writes to primary and optionally syncs to others */ setSecret(name: string, value: any, metadata?: Partial<SecretMetadata>): Promise<void>; /** * Delete secret from all providers */ deleteSecret(name: string, permanent?: boolean): Promise<void>; /** * List secrets from all providers */ listSecrets(filter?: SecretFilter): Promise<SecretMetadata[]>; /** * Rotate secret */ rotateSecret(name: string): Promise<void>; /** * Schedule rotation */ scheduleRotation(name: string, policy: RotationPolicy): Promise<void>; /** * Get secret versions */ getSecretVersions(name: string): Promise<string[]>; /** * Rollback secret */ rollbackSecret(name: string, version: string): Promise<void>; /** * Get bulk secrets */ getBulkSecrets(names: string[]): Promise<Secret[]>; /** * Import secrets */ importSecrets(secrets: Secret[]): Promise<void>; /** * Export secrets */ exportSecrets(filter?: SecretFilter): Promise<Secret[]>; /** * Health check all providers */ healthCheck(): Promise<HealthStatus>; /** * Create dynamic secret (delegates to capable provider) */ createDynamicSecret(config: DynamicSecretConfig): Promise<SecretLease>; /** * Encryption service methods (delegates to capable provider) */ encrypt(plaintext: string | Buffer, context?: Record<string, any>): Promise<string>; decrypt(ciphertext: string, context?: Record<string, any>): Promise<string | Buffer>; generateDataKey(bits?: number): Promise<{ plaintext: string; ciphertext: string; }>; /** * PKI service methods (delegates to capable provider) */ generateCertificate(config: CertificateConfig): Promise<Certificate>; signCSR(csr: string, config: SigningConfig): Promise<Certificate>; revokeCertificate(serial: string, reason?: string): Promise<void>; /** * Helper methods */ private validateConfig; private createProvider; private hasEncryptionSupport; private hasPKISupport; private hasDynamicSupport; private findCapableProvider; private syncSecret; private startSync; private performSync; } //# sourceMappingURL=secrets-manager.d.ts.map