okta-mcp-server
Version:
Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching
146 lines • 3.85 kB
TypeScript
/**
* Audit logging types and interfaces
*/
export interface AuditActor {
id: string;
type: 'user' | 'service' | 'system';
ipAddress?: string;
userAgent?: string;
sessionId?: string;
}
export interface AuditResource {
type: string;
id: string;
name?: string;
metadata?: Record<string, unknown>;
}
export interface AuditAction {
type: string;
method: string;
result: 'success' | 'failure' | 'error';
errorCode?: string;
errorMessage?: string;
}
export interface AuditContext {
requestId: string;
correlationId?: string;
parentRequestId?: string;
environment?: string;
region?: string;
clientApplication?: string;
clientVersion?: string;
}
export interface AuditPerformance {
duration: number;
memoryUsed?: number;
dbQueries?: number;
apiCalls?: number;
}
export interface AuditEntry {
id: string;
timestamp: Date;
actor: AuditActor;
action: AuditAction;
resource?: AuditResource;
request?: {
method: string;
path?: string;
parameters?: Record<string, unknown>;
size?: number;
};
response?: {
status: number;
size?: number;
error?: string;
};
performance?: AuditPerformance;
context: AuditContext;
metadata?: Record<string, unknown>;
hash?: string;
}
export interface AuditQueryOptions {
startTime?: Date;
endTime?: Date;
actors?: string[];
actions?: string[];
resources?: string[];
status?: ('success' | 'failure' | 'error')[];
limit?: number;
offset?: number;
orderBy?: 'timestamp' | 'duration';
orderDirection?: 'asc' | 'desc';
includeMetadata?: boolean;
}
export interface AuditExportOptions {
format: 'json' | 'csv' | 'siem';
startTime: Date;
endTime: Date;
filters?: AuditQueryOptions;
includeHeaders?: boolean;
compress?: boolean;
}
export interface AuditRetentionPolicy {
retentionDays: number;
archiveAfterDays?: number;
compressAfterDays?: number;
deletePersonalDataAfterDays?: number;
}
export interface AuditStatistics {
totalEntries: number;
successCount: number;
failureCount: number;
errorCount: number;
averageDuration: number;
topActors: Array<{
actor: string;
count: number;
}>;
topActions: Array<{
action: string;
count: number;
}>;
topErrors: Array<{
error: string;
count: number;
}>;
timeRange: {
start: Date;
end: Date;
};
}
export interface AuditIntegrityCheck {
isValid: boolean;
errors?: string[];
lastChecked: Date;
entriesChecked: number;
corruptedEntries?: string[];
}
export interface PIIMaskingConfig {
fields: string[];
patterns: RegExp[];
maskingStrategy: 'hash' | 'partial' | 'remove' | 'encrypt';
preserveFormat?: boolean;
}
export type AuditEventType = 'tool.call' | 'tool.list' | 'resource.read' | 'resource.list' | 'user.create' | 'user.update' | 'user.delete' | 'user.list' | 'group.create' | 'group.update' | 'group.delete' | 'group.list' | 'bulk.operation' | 'auth.login' | 'auth.logout' | 'auth.refresh' | 'system.startup' | 'system.shutdown' | 'error.unhandled';
export type ComplianceStandard = 'SOC2' | 'HIPAA' | 'GDPR' | 'PCI-DSS' | 'ISO27001';
export interface ComplianceReport {
standard: ComplianceStandard;
generatedAt: Date;
period: {
start: Date;
end: Date;
};
findings: Array<{
requirement: string;
status: 'compliant' | 'non-compliant' | 'partial';
evidence?: string[];
recommendations?: string[];
}>;
summary: {
totalRequirements: number;
compliant: number;
nonCompliant: number;
partial: number;
};
}
//# sourceMappingURL=types.d.ts.map