@iota-big3/sdk-security
Version:
Advanced security features including zero trust, quantum-safe crypto, and ML threat detection
42 lines • 1.51 kB
TypeScript
/**
* @iota-big3/sdk-security - Clean Access Control
* RBAC and ABAC implementations
*/
import type { AccessDecision, Role } from './types';
import type { SDKIntegrationOptions } from './types/integration.types';
declare class RBACManager {
private roles;
private userRoles;
private integrations;
private database?;
private eventBus?;
constructor(integrations: SDKIntegrationOptions);
createRole(role: Role): Promise<boolean>;
assignRole(userId: string, roleId: string): Promise<boolean>;
checkPermission(userId: string, resource: string, action: string): Promise<boolean>;
private getRole;
private matchResource;
}
declare class ABACManager {
private policies;
private attributeProviders;
private integrations;
constructor(integrations: SDKIntegrationOptions);
loadPolicy(name: string, policy: string): Promise<void>;
registerAttributeProvider(name: string, provider: AttributeProvider): void;
evaluate(request: unknown): Promise<AccessDecision>;
}
export declare class AccessControl extends EventEmitter {
readonly rbac: RBACManager;
readonly abac: ABACManager;
private integrations;
constructor(_rbacConfig: unknown, _abacConfig: unknown, _logger: unknown, integrations?: SDKIntegrationOptions);
private setupEventListeners;
checkAccess(request: {
userId: string;
resource: string;
action: string;
}): Promise<AccessDecision>;
}
export {};
//# sourceMappingURL=access-control.d.ts.map