feat(security): add managed security policies with IP intelligence and remote ingress firewall propagation

This commit is contained in:
2026-04-26 15:15:27 +00:00
parent a322308623
commit af31982d58
19 changed files with 823 additions and 23 deletions
+89
View File
@@ -0,0 +1,89 @@
import * as plugins from '../plugins.js';
import type * as authInterfaces from '../data/auth.js';
import type {
IIpIntelligenceRecord,
ISecurityBlockRule,
TSecurityBlockRuleMatchMode,
TSecurityBlockRuleType,
} from '../data/security-policy.js';
export interface IReq_ListSecurityBlockRules extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_ListSecurityBlockRules
> {
method: 'listSecurityBlockRules';
request: {
identity: authInterfaces.IIdentity;
};
response: {
rules: ISecurityBlockRule[];
};
}
export interface IReq_CreateSecurityBlockRule extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_CreateSecurityBlockRule
> {
method: 'createSecurityBlockRule';
request: {
identity: authInterfaces.IIdentity;
type: TSecurityBlockRuleType;
value: string;
matchMode?: TSecurityBlockRuleMatchMode;
reason?: string;
enabled?: boolean;
};
response: {
success: boolean;
rule?: ISecurityBlockRule;
message?: string;
};
}
export interface IReq_UpdateSecurityBlockRule extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_UpdateSecurityBlockRule
> {
method: 'updateSecurityBlockRule';
request: {
identity: authInterfaces.IIdentity;
id: string;
value?: string;
matchMode?: TSecurityBlockRuleMatchMode;
reason?: string;
enabled?: boolean;
};
response: {
success: boolean;
rule?: ISecurityBlockRule;
message?: string;
};
}
export interface IReq_DeleteSecurityBlockRule extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_DeleteSecurityBlockRule
> {
method: 'deleteSecurityBlockRule';
request: {
identity: authInterfaces.IIdentity;
id: string;
};
response: {
success: boolean;
message?: string;
};
}
export interface IReq_ListIpIntelligence extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_ListIpIntelligence
> {
method: 'listIpIntelligence';
request: {
identity: authInterfaces.IIdentity;
};
response: {
records: IIpIntelligenceRecord[];
};
}