UNPKG

@iota-big3/sdk-security

Version:

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

95 lines 2.72 kB
/** * AWS Secrets Manager Provider * Native AWS integration for secrets management */ import { EventEmitter } from 'events'; import { HealthStatus, RotationPolicy, Secret, SecretFilter, SecretMetadata, SecretsManager, SecretsProvider, SecretsProviderConfig } from '../types'; export declare class AWSSecretsProvider extends EventEmitter implements SecretsManager { readonly provider = SecretsProvider.AWS_SECRETS_MANAGER; private config; private isInitialized; private cache; constructor(config: SecretsProviderConfig); /** * Initialize AWS Secrets Manager client */ initialize(): Promise<void>; /** * Get secret from AWS Secrets Manager */ getSecret(name: string, version?: string): Promise<Secret>; /** * Create or update secret */ setSecret(name: string, value: any, metadata?: Partial<SecretMetadata>): Promise<void>; /** * Delete secret */ deleteSecret(name: string, permanent?: boolean): Promise<void>; /** * List secrets */ 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 to specific version */ rollbackSecret(name: string, version: string): Promise<void>; /** * Get multiple secrets */ getBulkSecrets(names: string[]): Promise<Secret[]>; /** * Import secrets */ importSecrets(secrets: Secret[]): Promise<void>; /** * Export secrets */ exportSecrets(filter?: SecretFilter): Promise<Secret[]>; /** * Health check */ healthCheck(): Promise<HealthStatus>; /** * Helper methods */ private validateConfig; private ensureInitialized; private getFromCache; private addToCache; private parseSecretValue; private inferSecretType; private convertTagsToRecord; private convertRecordToTags; private matchTags; private secretExists; private configureRotation; private createRotationLambda; private auditLog; /** * AWS API Mock Methods * In production, these would use actual AWS SDK */ private awsGetSecret; private awsCreateSecret; private awsUpdateSecret; private awsDeleteSecret; private awsListSecrets; private awsRotateSecret; private awsConfigureRotation; private awsListSecretVersions; private awsTagResource; } //# sourceMappingURL=aws-secrets-provider.d.ts.map