@backstage-community/plugin-rbac-backend
Version:
73 lines (69 loc) • 2.31 kB
JavaScript
;
var pluginRbacCommon = require('@backstage-community/plugin-rbac-common');
const ActionType = {
CREATE: "create",
CREATE_OR_UPDATE: "create_or_update",
UPDATE: "update",
DELETE: "delete",
/** Batch conditional reconcile aborted; see audit-log.md (`condition-write` / `conditional-policies-file-change`). */
RECONCILE_ABORT: "reconcile_abort"
};
const RoleEvents = {
ROLE_WRITE: "role-write",
ROLE_READ: "role-read"
};
const PermissionEvents = {
POLICY_WRITE: "policy-write",
POLICY_READ: "policy-read"
};
const EvaluationEvents = {
PERMISSION_EVALUATION: "permission-evaluation"
};
const ListPluginPoliciesEvents = {
PLUGIN_POLICIES_READ: "plugin-policies-read"
};
const ListConditionEvents = {
CONDITION_RULES_READ: "condition-rules-read"
};
const ListPluginIDsEvents = {
PLUGIN_IDS_READ: "plugin-ids-read",
PLUGIN_IDS_WRITE: "plugin-ids-write"
};
const PoliciesData = {
PERMISSIONS_READ: "permissions-read"
};
const ConditionEvents = {
CONDITION_WRITE: "condition-write",
CONDITION_READ: "condition-read",
CONDITIONAL_POLICIES_FILE_NOT_FOUND: "conditional-policies-file-not-found",
CONDITIONAL_POLICIES_FILE_CHANGE: "conditional-policies-file-change"
};
async function createPermissionEvaluationAuditorEvent(auditor, userEntityRef, request, policyDecision) {
const auditInfo = {
userEntityRef,
permissionName: request.permission.name,
action: pluginRbacCommon.toPermissionAction(request.permission.attributes)
};
const resourceType = request.permission.resourceType;
if (resourceType) {
auditInfo.resourceType = resourceType;
}
return await auditor.createEvent({
eventId: EvaluationEvents.PERMISSION_EVALUATION,
severityLevel: "medium",
meta: {
...auditInfo
}
});
}
exports.ActionType = ActionType;
exports.ConditionEvents = ConditionEvents;
exports.EvaluationEvents = EvaluationEvents;
exports.ListConditionEvents = ListConditionEvents;
exports.ListPluginIDsEvents = ListPluginIDsEvents;
exports.ListPluginPoliciesEvents = ListPluginPoliciesEvents;
exports.PermissionEvents = PermissionEvents;
exports.PoliciesData = PoliciesData;
exports.RoleEvents = RoleEvents;
exports.createPermissionEvaluationAuditorEvent = createPermissionEvaluationAuditorEvent;
//# sourceMappingURL=auditor.cjs.js.map