if (rule.subject) {
    if (!req.subject) { return false; }
    for (const key in rule.subject) {
      if (!matchProperties(rule.subject[key], req.subject[key])) { return false; };
    }