@j-schreiber/sf-cli-security-audit 0.11.0 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/README.md +3 -3
  2. package/lib/commands/org/audit/init.d.ts +5 -3
  3. package/lib/commands/org/audit/init.js +14 -20
  4. package/lib/commands/org/audit/init.js.map +1 -1
  5. package/lib/commands/org/audit/run.d.ts +1 -1
  6. package/lib/commands/org/audit/run.js +5 -3
  7. package/lib/commands/org/audit/run.js.map +1 -1
  8. package/lib/commands/org/scan/user-perms.js +1 -1
  9. package/lib/commands/org/scan/user-perms.js.map +1 -1
  10. package/lib/libs/{core → audit-engine}/auditRun.d.ts +6 -7
  11. package/lib/libs/{core → audit-engine}/auditRun.js +20 -16
  12. package/lib/libs/audit-engine/auditRun.js.map +1 -0
  13. package/lib/libs/audit-engine/file-manager/fileManager.d.ts +31 -0
  14. package/lib/libs/audit-engine/file-manager/fileManager.js +139 -0
  15. package/lib/libs/audit-engine/file-manager/fileManager.js.map +1 -0
  16. package/lib/libs/audit-engine/file-manager/fileManager.types.d.ts +30 -0
  17. package/lib/libs/audit-engine/file-manager/fileManager.types.js +2 -0
  18. package/lib/libs/audit-engine/file-manager/fileManager.types.js.map +1 -0
  19. package/lib/libs/audit-engine/index.d.ts +121 -0
  20. package/lib/libs/audit-engine/index.js +9 -0
  21. package/lib/libs/audit-engine/index.js.map +1 -0
  22. package/lib/libs/{core/registries/types.d.ts → audit-engine/registry/context.types.d.ts} +6 -10
  23. package/lib/libs/audit-engine/registry/context.types.js +2 -0
  24. package/lib/libs/audit-engine/registry/context.types.js.map +1 -0
  25. package/lib/libs/audit-engine/registry/definitions.d.ts +23 -0
  26. package/lib/libs/audit-engine/registry/definitions.js +53 -0
  27. package/lib/libs/audit-engine/registry/definitions.js.map +1 -0
  28. package/lib/libs/{core/registries → audit-engine/registry}/helpers/permissionsScanning.d.ts +12 -2
  29. package/lib/libs/{core/registries → audit-engine/registry}/helpers/permissionsScanning.js +15 -3
  30. package/lib/libs/audit-engine/registry/helpers/permissionsScanning.js.map +1 -0
  31. package/lib/libs/audit-engine/registry/policies/connectedApps.d.ts +12 -0
  32. package/lib/libs/audit-engine/registry/policies/connectedApps.js +22 -0
  33. package/lib/libs/audit-engine/registry/policies/connectedApps.js.map +1 -0
  34. package/lib/libs/audit-engine/registry/policies/permissionSets.d.ts +18 -0
  35. package/lib/libs/audit-engine/registry/policies/permissionSets.js +80 -0
  36. package/lib/libs/audit-engine/registry/policies/permissionSets.js.map +1 -0
  37. package/lib/libs/audit-engine/registry/policies/profiles.d.ts +18 -0
  38. package/lib/libs/audit-engine/registry/policies/profiles.js +76 -0
  39. package/lib/libs/audit-engine/registry/policies/profiles.js.map +1 -0
  40. package/lib/libs/audit-engine/registry/policies/settings.d.ts +18 -0
  41. package/lib/libs/{core/policies/settingsPolicy.js → audit-engine/registry/policies/settings.js} +48 -18
  42. package/lib/libs/audit-engine/registry/policies/settings.js.map +1 -0
  43. package/lib/libs/audit-engine/registry/policies/users.d.ts +19 -0
  44. package/lib/libs/audit-engine/registry/policies/users.js +76 -0
  45. package/lib/libs/audit-engine/registry/policies/users.js.map +1 -0
  46. package/lib/libs/{core/policies → audit-engine/registry}/policy.d.ts +7 -6
  47. package/lib/libs/{core/policies → audit-engine/registry}/policy.js +2 -0
  48. package/lib/libs/audit-engine/registry/policy.js.map +1 -0
  49. package/lib/libs/{core/result-types.d.ts → audit-engine/registry/result.types.d.ts} +2 -2
  50. package/lib/libs/audit-engine/registry/result.types.js +2 -0
  51. package/lib/libs/audit-engine/registry/result.types.js.map +1 -0
  52. package/lib/libs/{core/registries → audit-engine/registry}/ruleRegistry.d.ts +10 -7
  53. package/lib/libs/{core/registries → audit-engine/registry}/ruleRegistry.js +7 -7
  54. package/lib/libs/audit-engine/registry/ruleRegistry.js.map +1 -0
  55. package/lib/libs/audit-engine/registry/rules/allUsedAppsUnderManagement.d.ts +7 -0
  56. package/lib/libs/audit-engine/registry/rules/allUsedAppsUnderManagement.js.map +1 -0
  57. package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionPresets.d.ts +4 -2
  58. package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionPresets.js +17 -15
  59. package/lib/libs/audit-engine/registry/rules/enforcePermissionPresets.js.map +1 -0
  60. package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionsOnProfileLike.d.ts +1 -1
  61. package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionsOnProfileLike.js +3 -3
  62. package/lib/libs/audit-engine/registry/rules/enforcePermissionsOnProfileLike.js.map +1 -0
  63. package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionsOnUser.d.ts +2 -2
  64. package/lib/libs/audit-engine/registry/rules/enforcePermissionsOnUser.js +38 -0
  65. package/lib/libs/audit-engine/registry/rules/enforcePermissionsOnUser.js.map +1 -0
  66. package/lib/libs/{core/registries → audit-engine/registry}/rules/enforceSettings.d.ts +2 -2
  67. package/lib/libs/audit-engine/registry/rules/enforceSettings.js.map +1 -0
  68. package/lib/libs/audit-engine/registry/rules/noInactiveUsers.d.ts +14 -0
  69. package/lib/libs/{core/registries → audit-engine/registry}/rules/noInactiveUsers.js +17 -4
  70. package/lib/libs/audit-engine/registry/rules/noInactiveUsers.js.map +1 -0
  71. package/lib/libs/{core/registries → audit-engine/registry}/rules/noOtherApexApiLogins.d.ts +2 -2
  72. package/lib/libs/{core/registries → audit-engine/registry}/rules/noOtherApexApiLogins.js +4 -1
  73. package/lib/libs/audit-engine/registry/rules/noOtherApexApiLogins.js.map +1 -0
  74. package/lib/libs/audit-engine/registry/rules/noUserCanSelfAuthorize.d.ts +7 -0
  75. package/lib/libs/audit-engine/registry/rules/noUserCanSelfAuthorize.js.map +1 -0
  76. package/lib/libs/{core/registries → audit-engine/registry}/rules/policyRule.d.ts +4 -6
  77. package/lib/libs/{core/registries → audit-engine/registry}/rules/policyRule.js +2 -12
  78. package/lib/libs/audit-engine/registry/rules/policyRule.js.map +1 -0
  79. package/lib/libs/audit-engine/registry/schema.d.ts +2 -0
  80. package/lib/libs/audit-engine/registry/schema.js +11 -0
  81. package/lib/libs/audit-engine/registry/schema.js.map +1 -0
  82. package/lib/libs/audit-engine/registry/shape/auditConfigShape.d.ts +122 -0
  83. package/lib/libs/audit-engine/registry/shape/auditConfigShape.js +54 -0
  84. package/lib/libs/audit-engine/registry/shape/auditConfigShape.js.map +1 -0
  85. package/lib/libs/audit-engine/registry/shape/schema.d.ts +96 -0
  86. package/lib/libs/audit-engine/registry/shape/schema.js +84 -0
  87. package/lib/libs/audit-engine/registry/shape/schema.js.map +1 -0
  88. package/lib/libs/conf-init/auditConfig.d.ts +3 -12
  89. package/lib/libs/conf-init/auditConfig.js +25 -25
  90. package/lib/libs/conf-init/auditConfig.js.map +1 -1
  91. package/lib/libs/conf-init/defaultClassifications.d.ts +8 -0
  92. package/lib/libs/conf-init/defaultClassifications.js +116 -0
  93. package/lib/libs/conf-init/defaultClassifications.js.map +1 -0
  94. package/lib/libs/conf-init/defaultPolicies.d.ts +2 -0
  95. package/lib/libs/conf-init/defaultPolicies.js +20 -0
  96. package/lib/libs/conf-init/defaultPolicies.js.map +1 -0
  97. package/lib/libs/conf-init/init.types.d.ts +27 -0
  98. package/lib/libs/conf-init/init.types.js +8 -0
  99. package/lib/libs/conf-init/init.types.js.map +1 -0
  100. package/lib/libs/conf-init/presets/loose.d.ts +1 -1
  101. package/lib/libs/conf-init/presets/loose.js +4 -2
  102. package/lib/libs/conf-init/presets/loose.js.map +1 -1
  103. package/lib/libs/conf-init/presets/none.d.ts +2 -7
  104. package/lib/libs/conf-init/presets/none.js +1 -1
  105. package/lib/libs/conf-init/presets/none.js.map +1 -1
  106. package/lib/libs/conf-init/presets/strict.js +3 -1
  107. package/lib/libs/conf-init/presets/strict.js.map +1 -1
  108. package/lib/libs/conf-init/presets.d.ts +1 -6
  109. package/lib/libs/conf-init/presets.js +1 -6
  110. package/lib/libs/conf-init/presets.js.map +1 -1
  111. package/lib/libs/quick-scan/userPermissionScanner.js +17 -13
  112. package/lib/libs/quick-scan/userPermissionScanner.js.map +1 -1
  113. package/lib/salesforce/index.d.ts +10 -0
  114. package/lib/salesforce/index.js +8 -0
  115. package/lib/salesforce/index.js.map +1 -0
  116. package/lib/salesforce/mdapi/constants.d.ts +1 -0
  117. package/lib/salesforce/mdapi/constants.js +3 -0
  118. package/lib/salesforce/mdapi/constants.js.map +1 -0
  119. package/lib/{libs/core/mdapi/anySettingsMetadata.d.ts → salesforce/mdapi/genericSettingsMetadata.d.ts} +3 -4
  120. package/lib/{libs/core/mdapi/anySettingsMetadata.js → salesforce/mdapi/genericSettingsMetadata.js} +8 -10
  121. package/lib/salesforce/mdapi/genericSettingsMetadata.js.map +1 -0
  122. package/lib/salesforce/mdapi/mdapi.d.ts +46 -0
  123. package/lib/{libs/core/mdapi/mdapiRetriever.js → salesforce/mdapi/mdapi.js} +19 -40
  124. package/lib/salesforce/mdapi/mdapi.js.map +1 -0
  125. package/lib/salesforce/mdapi/metadataRegistry.d.ts +26 -0
  126. package/lib/salesforce/mdapi/metadataRegistry.js +43 -0
  127. package/lib/salesforce/mdapi/metadataRegistry.js.map +1 -0
  128. package/lib/{libs/core → salesforce}/mdapi/metadataRegistryEntry.js +1 -1
  129. package/lib/salesforce/mdapi/metadataRegistryEntry.js.map +1 -0
  130. package/lib/{libs/core → salesforce}/mdapi/namedMetadataToolingQueryable.js +1 -1
  131. package/lib/{libs/core → salesforce}/mdapi/namedMetadataToolingQueryable.js.map +1 -1
  132. package/lib/salesforce/mdapi/namedMetadataType.js.map +1 -0
  133. package/lib/salesforce/mdapi/singletonMetadataType.js.map +1 -0
  134. package/lib/salesforce/repositories/connected-apps/connected-app.types.d.ts +28 -0
  135. package/lib/salesforce/repositories/connected-apps/connected-app.types.js +6 -0
  136. package/lib/salesforce/repositories/connected-apps/connected-app.types.js.map +1 -0
  137. package/lib/salesforce/repositories/connected-apps/connected-apps.d.ts +16 -0
  138. package/lib/salesforce/repositories/connected-apps/connected-apps.js +83 -0
  139. package/lib/salesforce/repositories/connected-apps/connected-apps.js.map +1 -0
  140. package/lib/salesforce/repositories/connected-apps/queries.d.ts +2 -0
  141. package/lib/salesforce/repositories/connected-apps/queries.js +3 -0
  142. package/lib/salesforce/repositories/connected-apps/queries.js.map +1 -0
  143. package/lib/salesforce/repositories/perm-sets/perm-sets.types.d.ts +29 -0
  144. package/lib/salesforce/repositories/perm-sets/perm-sets.types.js +10 -0
  145. package/lib/salesforce/repositories/perm-sets/perm-sets.types.js.map +1 -0
  146. package/lib/salesforce/repositories/perm-sets/permission-sets.d.ts +11 -0
  147. package/lib/salesforce/repositories/perm-sets/permission-sets.js +43 -0
  148. package/lib/salesforce/repositories/perm-sets/permission-sets.js.map +1 -0
  149. package/lib/salesforce/repositories/perm-sets/queries.d.ts +1 -0
  150. package/lib/salesforce/repositories/perm-sets/queries.js +2 -0
  151. package/lib/salesforce/repositories/perm-sets/queries.js.map +1 -0
  152. package/lib/salesforce/repositories/profiles/profile.types.d.ts +29 -0
  153. package/lib/salesforce/repositories/profiles/profile.types.js +8 -0
  154. package/lib/salesforce/repositories/profiles/profile.types.js.map +1 -0
  155. package/lib/salesforce/repositories/profiles/profiles.d.ts +14 -0
  156. package/lib/salesforce/repositories/profiles/profiles.js +38 -0
  157. package/lib/salesforce/repositories/profiles/profiles.js.map +1 -0
  158. package/lib/salesforce/repositories/profiles/queries.d.ts +2 -0
  159. package/lib/salesforce/repositories/profiles/queries.js +7 -0
  160. package/lib/salesforce/repositories/profiles/queries.js.map +1 -0
  161. package/lib/salesforce/repositories/users/queries.d.ts +3 -0
  162. package/lib/{libs/core/constants.js → salesforce/repositories/users/queries.js} +1 -11
  163. package/lib/salesforce/repositories/users/queries.js.map +1 -0
  164. package/lib/salesforce/repositories/users/user.types.d.ts +54 -0
  165. package/lib/salesforce/repositories/users/user.types.js +12 -0
  166. package/lib/salesforce/repositories/users/user.types.js.map +1 -0
  167. package/lib/salesforce/repositories/users/users.d.ts +22 -0
  168. package/lib/salesforce/repositories/users/users.js +134 -0
  169. package/lib/salesforce/repositories/users/users.js.map +1 -0
  170. package/lib/{libs/core/utils.d.ts → utils.d.ts} +2 -0
  171. package/lib/{libs/core/utils.js → utils.js} +26 -0
  172. package/lib/utils.js.map +1 -0
  173. package/lib/ux/auditRunMultiStage.d.ts +1 -1
  174. package/lib/ux/auditRunMultiStage.js +5 -5
  175. package/lib/ux/auditRunMultiStage.js.map +1 -1
  176. package/messages/policies.general.md +9 -1
  177. package/messages/policyclassifications.md +8 -0
  178. package/messages/rules.enforceClassificationPresets.md +2 -2
  179. package/messages/rules.users.md +1 -1
  180. package/oclif.manifest.json +1 -1
  181. package/package.json +1 -1
  182. package/lib/libs/conf-init/permissionsClassification.d.ts +0 -37
  183. package/lib/libs/conf-init/permissionsClassification.js +0 -126
  184. package/lib/libs/conf-init/permissionsClassification.js.map +0 -1
  185. package/lib/libs/conf-init/policyConfigs.d.ts +0 -21
  186. package/lib/libs/conf-init/policyConfigs.js +0 -47
  187. package/lib/libs/conf-init/policyConfigs.js.map +0 -1
  188. package/lib/libs/core/auditRun.js.map +0 -1
  189. package/lib/libs/core/classification-types.d.ts +0 -20
  190. package/lib/libs/core/classification-types.js +0 -23
  191. package/lib/libs/core/classification-types.js.map +0 -1
  192. package/lib/libs/core/constants.d.ts +0 -10
  193. package/lib/libs/core/constants.js.map +0 -1
  194. package/lib/libs/core/file-mgmt/auditConfigFileManager.d.ts +0 -48
  195. package/lib/libs/core/file-mgmt/auditConfigFileManager.js +0 -145
  196. package/lib/libs/core/file-mgmt/auditConfigFileManager.js.map +0 -1
  197. package/lib/libs/core/file-mgmt/schema.d.ts +0 -156
  198. package/lib/libs/core/file-mgmt/schema.js +0 -81
  199. package/lib/libs/core/file-mgmt/schema.js.map +0 -1
  200. package/lib/libs/core/mdapi/anySettingsMetadata.js.map +0 -1
  201. package/lib/libs/core/mdapi/mdapiRetriever.d.ts +0 -54
  202. package/lib/libs/core/mdapi/mdapiRetriever.js.map +0 -1
  203. package/lib/libs/core/mdapi/metadataRegistryEntry.js.map +0 -1
  204. package/lib/libs/core/mdapi/namedMetadataType.js.map +0 -1
  205. package/lib/libs/core/mdapi/singletonMetadataType.js.map +0 -1
  206. package/lib/libs/core/mdapi/usersRepository.d.ts +0 -85
  207. package/lib/libs/core/mdapi/usersRepository.js +0 -126
  208. package/lib/libs/core/mdapi/usersRepository.js.map +0 -1
  209. package/lib/libs/core/policies/connectedAppPolicy.d.ts +0 -10
  210. package/lib/libs/core/policies/connectedAppPolicy.js +0 -78
  211. package/lib/libs/core/policies/connectedAppPolicy.js.map +0 -1
  212. package/lib/libs/core/policies/permissionSetPolicy.d.ts +0 -12
  213. package/lib/libs/core/policies/permissionSetPolicy.js +0 -64
  214. package/lib/libs/core/policies/permissionSetPolicy.js.map +0 -1
  215. package/lib/libs/core/policies/policy.js.map +0 -1
  216. package/lib/libs/core/policies/profilePolicy.d.ts +0 -12
  217. package/lib/libs/core/policies/profilePolicy.js +0 -65
  218. package/lib/libs/core/policies/profilePolicy.js.map +0 -1
  219. package/lib/libs/core/policies/salesforceStandardTypes.d.ts +0 -58
  220. package/lib/libs/core/policies/salesforceStandardTypes.js +0 -2
  221. package/lib/libs/core/policies/salesforceStandardTypes.js.map +0 -1
  222. package/lib/libs/core/policies/settingsPolicy.d.ts +0 -11
  223. package/lib/libs/core/policies/settingsPolicy.js.map +0 -1
  224. package/lib/libs/core/policies/userPolicy.d.ts +0 -12
  225. package/lib/libs/core/policies/userPolicy.js +0 -62
  226. package/lib/libs/core/policies/userPolicy.js.map +0 -1
  227. package/lib/libs/core/policy-types.d.ts +0 -18
  228. package/lib/libs/core/policy-types.js +0 -28
  229. package/lib/libs/core/policy-types.js.map +0 -1
  230. package/lib/libs/core/policyRegistry.d.ts +0 -23
  231. package/lib/libs/core/policyRegistry.js +0 -52
  232. package/lib/libs/core/policyRegistry.js.map +0 -1
  233. package/lib/libs/core/registries/connectedApps.d.ts +0 -13
  234. package/lib/libs/core/registries/connectedApps.js +0 -13
  235. package/lib/libs/core/registries/connectedApps.js.map +0 -1
  236. package/lib/libs/core/registries/helpers/permissionsScanning.js.map +0 -1
  237. package/lib/libs/core/registries/permissionSets.d.ts +0 -11
  238. package/lib/libs/core/registries/permissionSets.js +0 -11
  239. package/lib/libs/core/registries/permissionSets.js.map +0 -1
  240. package/lib/libs/core/registries/profiles.d.ts +0 -11
  241. package/lib/libs/core/registries/profiles.js +0 -11
  242. package/lib/libs/core/registries/profiles.js.map +0 -1
  243. package/lib/libs/core/registries/ruleRegistry.js.map +0 -1
  244. package/lib/libs/core/registries/rules/allUsedAppsUnderManagement.d.ts +0 -7
  245. package/lib/libs/core/registries/rules/allUsedAppsUnderManagement.js.map +0 -1
  246. package/lib/libs/core/registries/rules/enforcePermissionPresets.js.map +0 -1
  247. package/lib/libs/core/registries/rules/enforcePermissionsOnProfileLike.js.map +0 -1
  248. package/lib/libs/core/registries/rules/enforcePermissionsOnUser.js +0 -42
  249. package/lib/libs/core/registries/rules/enforcePermissionsOnUser.js.map +0 -1
  250. package/lib/libs/core/registries/rules/enforceSettings.js.map +0 -1
  251. package/lib/libs/core/registries/rules/noInactiveUsers.d.ts +0 -9
  252. package/lib/libs/core/registries/rules/noInactiveUsers.js.map +0 -1
  253. package/lib/libs/core/registries/rules/noOtherApexApiLogins.js.map +0 -1
  254. package/lib/libs/core/registries/rules/noUserCanSelfAuthorize.d.ts +0 -7
  255. package/lib/libs/core/registries/rules/noUserCanSelfAuthorize.js.map +0 -1
  256. package/lib/libs/core/registries/rules/policyRule.js.map +0 -1
  257. package/lib/libs/core/registries/settings.d.ts +0 -8
  258. package/lib/libs/core/registries/settings.js +0 -51
  259. package/lib/libs/core/registries/settings.js.map +0 -1
  260. package/lib/libs/core/registries/types.js +0 -13
  261. package/lib/libs/core/registries/types.js.map +0 -1
  262. package/lib/libs/core/registries/users.d.ts +0 -10
  263. package/lib/libs/core/registries/users.js +0 -17
  264. package/lib/libs/core/registries/users.js.map +0 -1
  265. package/lib/libs/core/result-types.js +0 -2
  266. package/lib/libs/core/result-types.js.map +0 -1
  267. package/lib/libs/core/utils.js.map +0 -1
  268. /package/lib/libs/{core/registries → audit-engine/registry}/rules/allUsedAppsUnderManagement.js +0 -0
  269. /package/lib/libs/{core/registries → audit-engine/registry}/rules/enforceSettings.js +0 -0
  270. /package/lib/libs/{core/registries → audit-engine/registry}/rules/noUserCanSelfAuthorize.js +0 -0
  271. /package/lib/{libs/core → salesforce}/mdapi/metadataRegistryEntry.d.ts +0 -0
  272. /package/lib/{libs/core → salesforce}/mdapi/namedMetadataToolingQueryable.d.ts +0 -0
  273. /package/lib/{libs/core → salesforce}/mdapi/namedMetadataType.d.ts +0 -0
  274. /package/lib/{libs/core → salesforce}/mdapi/namedMetadataType.js +0 -0
  275. /package/lib/{libs/core → salesforce}/mdapi/singletonMetadataType.d.ts +0 -0
  276. /package/lib/{libs/core → salesforce}/mdapi/singletonMetadataType.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadataRegistryEntry.js","sourceRoot":"","sources":["../../../../src/libs/core/mdapi/metadataRegistryEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA8BjD,MAAM,CAAC,OAAO,OAAgB,qBAAqB;IAKtB;IAJpB,MAAM,CAAY;IAClB,YAAY,CAAS;IACrB,YAAY,CAAM;IAEzB,YAA2B,IAA0C;QAA1C,SAAI,GAAJ,IAAI,CAAsC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,YAAsB;QACjC,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAS,CAAC;QAC7D,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE,GAAe;IACnE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;QAC7C,oBAAoB,EAAE,GAAG;QACzB,MAAM,EAAE,cAAc;KACvB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;IAC1D,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAClG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"namedMetadataType.js","sourceRoot":"","sources":["../../../../src/libs/core/mdapi/namedMetadataType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,qBAAqB,EAAE,EAC5B,gBAAgB,EAEhB,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAA4C,SAAQ,qBAAgC;IACvG,YAAmB,IAA0C;QAC3D,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD;;;;;;;OAOG;IACI,KAAK,CAAC,OAAO,CAAC,GAAe,EAAE,cAAwB;QAC5D,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACvF,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACpD,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,gBAAgB,CAAC,YAA0B,EAAE,cAAwB;QAC3E,MAAM,IAAI,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAC/B,IAAI,eAAe,CAAC,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzE,iEAAiE;gBACjE,kEAAkE;gBAClE,sDAAsD;gBACtD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"singletonMetadataType.js","sourceRoot":"","sources":["../../../../src/libs/core/mdapi/singletonMetadataType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,qBAAqB,EAAE,EAC5B,gBAAgB,EAEhB,QAAQ,GACT,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAgD,SAAQ,qBAAgC;IACpG,YAAY,CAAS;IAC5B,YAAmB,IAA0C;QAC3D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,OAAO,CAAC,GAAe;QAClC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACpE,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACpD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,eAAe,CAAC,YAA0B;QAChD,MAAM,IAAI,GAAG,YAAY,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAClH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;CACF"}
@@ -1,85 +0,0 @@
1
- import { Connection } from '@salesforce/core';
2
- import { PermissionSet, Profile } from '@jsforce/jsforce-node/lib/api/metadata.js';
3
- export type User = {
4
- userId: string;
5
- username: string;
6
- profileName: string;
7
- createdDate: number;
8
- lastLogin?: number;
9
- logins?: UserLogins[];
10
- };
11
- export type UserPermissions = {
12
- profileMetadata?: Profile;
13
- assignedPermissionsets: PermissionSetAssignment[];
14
- };
15
- export type UserLogins = {
16
- loginType: string;
17
- application: string;
18
- loginCount: number;
19
- lastLogin: number;
20
- };
21
- export type PermissionSetAssignment = {
22
- /**
23
- * Developer name of the permission set
24
- */
25
- permissionSetIdentifier: string;
26
- /**
27
- * How user got this permission set assigned
28
- */
29
- permissionSetSource: 'direct' | 'group';
30
- /**
31
- * Metadata of the permission set
32
- */
33
- metadata?: PermissionSet;
34
- /**
35
- * If permission set is assigned through a group,
36
- * this is the name of the group.
37
- */
38
- groupName?: string;
39
- };
40
- export type ResolveUsersOptions = {
41
- /**
42
- * Include aggregated login history
43
- */
44
- withLoginHistory: boolean;
45
- /**
46
- * When login history is set, the number of days that is searched
47
- */
48
- loginHistoryDaysToAnalyse?: number;
49
- };
50
- export type ResolvePermissionsOptions = {
51
- /**
52
- * Resolve permission set and profile metadata
53
- */
54
- withMetadata: boolean;
55
- };
56
- export default class UsersRepository {
57
- private readonly connection;
58
- private readonly mdapiRepo;
59
- constructor(connection: Connection);
60
- /**
61
- * Resolves all users from the target org of this repository
62
- *
63
- * @param opts
64
- * @returns
65
- */
66
- resolveAllUsers(opts?: ResolveUsersOptions): Promise<Map<string, User>>;
67
- /**
68
- * Resolves permission-granting entities (profiles and permission sets)
69
- * for a list of users.
70
- *
71
- * @param userIds Users to be resolved
72
- * @returns Map of permissions organized by user id
73
- */
74
- resolveUserPermissions(users: User[], opts?: ResolvePermissionsOptions): Promise<Map<string, UserPermissions>>;
75
- /**
76
- * Resolves all permission set assignments for the user with metadata of the
77
- * permission set. If the user has no assignments, an empty list is returned.
78
- *
79
- * @param userIds
80
- * @returns
81
- */
82
- resolvePermissionSetAssignments(userIds: string[], opts?: ResolvePermissionsOptions): Promise<Map<string, PermissionSetAssignment[]>>;
83
- private resolveLogins;
84
- private fetchAssignments;
85
- }
@@ -1,126 +0,0 @@
1
- import { ACTIVE_USERS_DETAILS_QUERY, buildLoginHistoryQuery, buildPermsetAssignmentsQuery } from '../constants.js';
2
- import { isNullish } from '../utils.js';
3
- import MDAPI from './mdapiRetriever.js';
4
- export default class UsersRepository {
5
- connection;
6
- mdapiRepo;
7
- constructor(connection) {
8
- this.connection = connection;
9
- this.mdapiRepo = MDAPI.create(this.connection);
10
- }
11
- /**
12
- * Resolves all users from the target org of this repository
13
- *
14
- * @param opts
15
- * @returns
16
- */
17
- async resolveAllUsers(opts) {
18
- const result = new Map();
19
- const allUsersOnOrg = await this.connection.query(ACTIVE_USERS_DETAILS_QUERY);
20
- for (const user of allUsersOnOrg.records) {
21
- const usr = {
22
- userId: user.Id,
23
- username: user.Username,
24
- lastLogin: user.LastLoginDate ? Date.parse(user.LastLoginDate) : undefined,
25
- createdDate: Date.parse(user.CreatedDate),
26
- profileName: user.Profile.Name,
27
- };
28
- result.set(user.Username, usr);
29
- }
30
- if (opts?.withLoginHistory) {
31
- const userLogins = await this.resolveLogins(opts.loginHistoryDaysToAnalyse);
32
- for (const user of result.values()) {
33
- if (userLogins.has(user.userId)) {
34
- user.logins = userLogins.get(user.userId);
35
- }
36
- else {
37
- user.logins = [];
38
- }
39
- }
40
- }
41
- return result;
42
- }
43
- /**
44
- * Resolves permission-granting entities (profiles and permission sets)
45
- * for a list of users.
46
- *
47
- * @param userIds Users to be resolved
48
- * @returns Map of permissions organized by user id
49
- */
50
- async resolveUserPermissions(users, opts) {
51
- const result = new Map();
52
- const permsets = await this.resolvePermissionSetAssignments(users.map((usr) => usr.userId), opts);
53
- const profiles = opts?.withMetadata
54
- ? await this.mdapiRepo.resolve('Profile', uniqueProfileNames(Object.values(users)))
55
- : {};
56
- for (const user of users) {
57
- result.set(user.userId, {
58
- assignedPermissionsets: permsets.get(user.userId) ?? [],
59
- profileMetadata: profiles[user.profileName],
60
- });
61
- }
62
- return result;
63
- }
64
- /**
65
- * Resolves all permission set assignments for the user with metadata of the
66
- * permission set. If the user has no assignments, an empty list is returned.
67
- *
68
- * @param userIds
69
- * @returns
70
- */
71
- async resolvePermissionSetAssignments(userIds, opts) {
72
- const result = new Map();
73
- const { assignments, permSetNames } = await this.fetchAssignments(userIds);
74
- const permsets = opts?.withMetadata ? await this.mdapiRepo.resolve('PermissionSet', permSetNames) : {};
75
- for (const userId of userIds) {
76
- result.set(userId, assignments.get(userId)
77
- ? assignments.get(userId).map((ass) => ({
78
- ...ass,
79
- metadata: permsets[ass.permissionSetIdentifier],
80
- }))
81
- : []);
82
- }
83
- return result;
84
- }
85
- async resolveLogins(daysToAnalyse) {
86
- const loginHistory = await this.connection.query(buildLoginHistoryQuery(daysToAnalyse));
87
- const partialUsers = new Map();
88
- for (const loginHistoryRow of loginHistory.records) {
89
- if (!partialUsers.has(loginHistoryRow.UserId)) {
90
- partialUsers.set(loginHistoryRow.UserId, []);
91
- }
92
- partialUsers.get(loginHistoryRow.UserId).push({
93
- loginType: loginHistoryRow.LoginType,
94
- loginCount: loginHistoryRow.LoginCount,
95
- application: loginHistoryRow.Application,
96
- lastLogin: Date.parse(loginHistoryRow.LastLogin),
97
- });
98
- }
99
- return partialUsers;
100
- }
101
- async fetchAssignments(userIds) {
102
- const assignments = new Map();
103
- const uniquePermSets = new Set();
104
- const rawAssignment = await this.connection.query(buildPermsetAssignmentsQuery(userIds));
105
- for (const assignment of rawAssignment.records) {
106
- if (isNullish(assignments.get(assignment.AssigneeId))) {
107
- assignments.set(assignment.AssigneeId, []);
108
- }
109
- assignments.get(assignment.AssigneeId).push({
110
- permissionSetIdentifier: assignment.PermissionSet.Name,
111
- permissionSetSource: assignment.PermissionSetGroupId ? 'group' : 'direct',
112
- groupName: assignment.PermissionSetGroup?.DeveloperName,
113
- });
114
- uniquePermSets.add(assignment.PermissionSet.Name);
115
- }
116
- return { assignments, permSetNames: Array.from(uniquePermSets) };
117
- }
118
- }
119
- function uniqueProfileNames(users) {
120
- const uniqueProfiles = new Set();
121
- for (const usr of users) {
122
- uniqueProfiles.add(usr.profileName);
123
- }
124
- return Array.from(uniqueProfiles);
125
- }
126
- //# sourceMappingURL=usersRepository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usersRepository.js","sourceRoot":"","sources":["../../../../src/libs/core/mdapi/usersRepository.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { AuditRunConfig, BasePolicyFileContent } from '../file-mgmt/schema.js';
2
- import { AuditContext } from '../registries/types.js';
3
- import { ResolvedConnectedApp } from '../registries/connectedApps.js';
4
- import Policy, { ResolveEntityResult } from './policy.js';
5
- export default class ConnectedAppPolicy extends Policy<ResolvedConnectedApp> {
6
- config: BasePolicyFileContent;
7
- auditConfig: AuditRunConfig;
8
- constructor(config: BasePolicyFileContent, auditConfig: AuditRunConfig, registry?: import("../registries/connectedApps.js").default);
9
- protected resolveEntities(context: AuditContext): Promise<ResolveEntityResult<ResolvedConnectedApp>>;
10
- }
@@ -1,78 +0,0 @@
1
- import { CONNECTED_APPS_QUERY, OAUTH_TOKEN_QUERY } from '../constants.js';
2
- import { ConnectedAppsRegistry } from '../registries/connectedApps.js';
3
- import MDAPI from '../mdapi/mdapiRetriever.js';
4
- import Policy, { getTotal } from './policy.js';
5
- export default class ConnectedAppPolicy extends Policy {
6
- config;
7
- auditConfig;
8
- constructor(config, auditConfig, registry = ConnectedAppsRegistry) {
9
- super(config, auditConfig, registry);
10
- this.config = config;
11
- this.auditConfig = auditConfig;
12
- }
13
- // eslint-disable-next-line class-methods-use-this
14
- async resolveEntities(context) {
15
- const successfullyResolved = {};
16
- const ignoredEntities = {};
17
- const metadataApi = new MDAPI(context.targetOrgConnection);
18
- this.emit('entityresolve', {
19
- total: 0,
20
- resolved: 0,
21
- });
22
- const installedApps = await context.targetOrgConnection.query(CONNECTED_APPS_QUERY);
23
- this.emit('entityresolve', {
24
- total: installedApps.totalSize,
25
- resolved: 0,
26
- });
27
- installedApps.records.forEach((installedApp) => {
28
- successfullyResolved[installedApp.Name] = {
29
- name: installedApp.Name,
30
- origin: 'Installed',
31
- onlyAdminApprovedUsersAllowed: installedApp.OptionsAllowAdminApprovedUsersOnly,
32
- overrideByApiSecurityAccess: false,
33
- useCount: 0,
34
- users: [],
35
- };
36
- });
37
- const usersOAuthToken = await context.targetOrgConnection.query(OAUTH_TOKEN_QUERY);
38
- usersOAuthToken.records.forEach((token) => {
39
- if (successfullyResolved[token.AppName] === undefined) {
40
- successfullyResolved[token.AppName] = {
41
- name: token.AppName,
42
- origin: 'OauthToken',
43
- onlyAdminApprovedUsersAllowed: false,
44
- overrideByApiSecurityAccess: false,
45
- useCount: token.UseCount,
46
- users: [token.User.Username],
47
- };
48
- }
49
- else {
50
- successfullyResolved[token.AppName].useCount += token.UseCount;
51
- if (!successfullyResolved[token.AppName].users.includes(token.User.Username)) {
52
- successfullyResolved[token.AppName].users.push(token.User.Username);
53
- }
54
- }
55
- });
56
- this.emit('entityresolve', {
57
- total: Object.keys(successfullyResolved).length,
58
- resolved: 0,
59
- });
60
- let overrideByApiSecurityAccess = false;
61
- const apiSecurityAccessSetting = await metadataApi.resolveSingleton('ConnectedAppSettings');
62
- if (apiSecurityAccessSetting && apiSecurityAccessSetting.enableAdminApprovedAppsOnly) {
63
- overrideByApiSecurityAccess = true;
64
- }
65
- Object.values(successfullyResolved).forEach((conApp) => {
66
- // eslint-disable-next-line no-param-reassign
67
- conApp.overrideByApiSecurityAccess = overrideByApiSecurityAccess;
68
- });
69
- const result = { resolvedEntities: successfullyResolved, ignoredEntities: Object.values(ignoredEntities) };
70
- this.emit('entityresolve', {
71
- total: getTotal(result),
72
- resolved: getTotal(result),
73
- });
74
- // also query from tooling, to get additional information info
75
- return result;
76
- }
77
- }
78
- //# sourceMappingURL=connectedAppPolicy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connectedAppPolicy.js","sourceRoot":"","sources":["../../../../src/libs/core/policies/connectedAppPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,gCAAgC,CAAC;AAC7F,OAAO,KAAK,MAAM,4BAA4B,CAAC;AAC/C,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;AAGpE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,MAA4B;IAEjE;IACA;IAFT,YACS,MAA6B,EAC7B,WAA2B,EAClC,QAAQ,GAAG,qBAAqB;QAEhC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAJ9B,WAAM,GAAN,MAAM,CAAuB;QAC7B,gBAAW,GAAX,WAAW,CAAgB;IAIpC,CAAC;IAED,kDAAkD;IACxC,KAAK,CAAC,eAAe,CAAC,OAAqB;QACnD,MAAM,oBAAoB,GAAyC,EAAE,CAAC;QACtE,MAAM,eAAe,GAAuC,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAe,oBAAoB,CAAC,CAAC;QAClG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,EAAE,aAAa,CAAC,SAAS;YAC9B,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YAC7C,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG;gBACxC,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,MAAM,EAAE,WAAW;gBACnB,6BAA6B,EAAE,YAAY,CAAC,kCAAkC;gBAC9E,2BAA2B,EAAE,KAAK;gBAClC,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAa,iBAAiB,CAAC,CAAC;QAC/F,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtD,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;oBACpC,IAAI,EAAE,KAAK,CAAC,OAAO;oBACnB,MAAM,EAAE,YAAY;oBACpB,6BAA6B,EAAE,KAAK;oBACpC,2BAA2B,EAAE,KAAK;oBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC7B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;gBAC/D,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7E,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM;YAC/C,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,IAAI,2BAA2B,GAAG,KAAK,CAAC;QACxC,MAAM,wBAAwB,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QAC5F,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,2BAA2B,EAAE,CAAC;YACrF,2BAA2B,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACrD,6CAA6C;YAC7C,MAAM,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3G,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QACH,8DAA8D;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,12 +0,0 @@
1
- import { AuditRunConfig, BasePolicyFileContent } from '../file-mgmt/schema.js';
2
- import { AuditContext } from '../registries/types.js';
3
- import { ResolvedPermissionSet } from '../registries/permissionSets.js';
4
- import Policy, { ResolveEntityResult } from './policy.js';
5
- export default class PermissionSetPolicy extends Policy<ResolvedPermissionSet> {
6
- config: BasePolicyFileContent;
7
- auditContext: AuditRunConfig;
8
- private readonly totalEntities;
9
- private readonly classifications;
10
- constructor(config: BasePolicyFileContent, auditContext: AuditRunConfig, registry?: import("../registries/permissionSets.js").default);
11
- protected resolveEntities(context: AuditContext): Promise<ResolveEntityResult<ResolvedPermissionSet>>;
12
- }
@@ -1,64 +0,0 @@
1
- import { Messages } from '@salesforce/core';
2
- import MDAPI from '../mdapi/mdapiRetriever.js';
3
- import { UserPrivilegeLevel } from '../policy-types.js';
4
- import { PermissionSetsRegistry } from '../registries/permissionSets.js';
5
- import Policy, { getTotal } from './policy.js';
6
- Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
7
- const messages = Messages.loadMessages('@j-schreiber/sf-cli-security-audit', 'policies.general');
8
- export default class PermissionSetPolicy extends Policy {
9
- config;
10
- auditContext;
11
- totalEntities;
12
- classifications;
13
- constructor(config, auditContext, registry = PermissionSetsRegistry) {
14
- super(config, auditContext, registry);
15
- this.config = config;
16
- this.auditContext = auditContext;
17
- this.classifications = this.auditConfig.classifications.permissionSets?.content ?? { permissionSets: {} };
18
- this.totalEntities = Object.keys(this.classifications.permissionSets).length;
19
- }
20
- async resolveEntities(context) {
21
- this.emit('entityresolve', {
22
- total: this.totalEntities,
23
- resolved: 0,
24
- });
25
- const successfullyResolved = {};
26
- const unresolved = {};
27
- const retriever = new MDAPI(context.targetOrgConnection);
28
- const resolvedPermsets = await retriever.resolve('PermissionSet', filterCategorizedPermsets(this.classifications));
29
- Object.entries(this.classifications.permissionSets).forEach(([key, val]) => {
30
- const resolved = resolvedPermsets[key];
31
- if (resolved) {
32
- successfullyResolved[key] = {
33
- metadata: resolved,
34
- role: val.role,
35
- name: key,
36
- };
37
- }
38
- else if (successfullyResolved[key] === undefined) {
39
- if (val.role === UserPrivilegeLevel.UNKNOWN) {
40
- unresolved[key] = { name: key, message: messages.getMessage('preset-unknown', ['Permission Set']) };
41
- }
42
- else {
43
- unresolved[key] = { name: key, message: messages.getMessage('entity-not-found') };
44
- }
45
- }
46
- });
47
- const result = { resolvedEntities: successfullyResolved, ignoredEntities: Object.values(unresolved) };
48
- this.emit('entityresolve', {
49
- total: this.totalEntities,
50
- resolved: getTotal(result),
51
- });
52
- return result;
53
- }
54
- }
55
- function filterCategorizedPermsets(permSets) {
56
- const filteredNames = [];
57
- Object.entries(permSets.permissionSets).forEach(([key, val]) => {
58
- if (val.role !== UserPrivilegeLevel.UNKNOWN) {
59
- filteredNames.push(key);
60
- }
61
- });
62
- return filteredNames;
63
- }
64
- //# sourceMappingURL=permissionSetPolicy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissionSetPolicy.js","sourceRoot":"","sources":["../../../../src/libs/core/policies/permissionSetPolicy.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/libs/core/policies/policy.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { AuditRunConfig, BasePolicyFileContent } from '../file-mgmt/schema.js';
2
- import { AuditContext } from '../registries/types.js';
3
- import { ResolvedProfile } from '../registries/profiles.js';
4
- import Policy, { ResolveEntityResult } from './policy.js';
5
- export default class ProfilePolicy extends Policy<ResolvedProfile> {
6
- config: BasePolicyFileContent;
7
- auditConfig: AuditRunConfig;
8
- private readonly totalEntities;
9
- private readonly classifications;
10
- constructor(config: BasePolicyFileContent, auditConfig: AuditRunConfig, registry?: import("../registries/profiles.js").default);
11
- protected resolveEntities(context: AuditContext): Promise<ResolveEntityResult<ResolvedProfile>>;
12
- }
@@ -1,65 +0,0 @@
1
- import { Messages } from '@salesforce/core';
2
- import MDAPI from '../mdapi/mdapiRetriever.js';
3
- import { UserPrivilegeLevel } from '../policy-types.js';
4
- import { ProfilesRegistry } from '../registries/profiles.js';
5
- import Policy, { getTotal } from './policy.js';
6
- Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
7
- const messages = Messages.loadMessages('@j-schreiber/sf-cli-security-audit', 'policies.general');
8
- export default class ProfilePolicy extends Policy {
9
- config;
10
- auditConfig;
11
- totalEntities;
12
- classifications;
13
- constructor(config, auditConfig, registry = ProfilesRegistry) {
14
- super(config, auditConfig, registry);
15
- this.config = config;
16
- this.auditConfig = auditConfig;
17
- this.classifications = this.auditConfig.classifications.profiles?.content ?? { profiles: {} };
18
- this.totalEntities = Object.keys(this.classifications.profiles).length;
19
- }
20
- async resolveEntities(context) {
21
- this.emit('entityresolve', {
22
- total: this.totalEntities,
23
- resolved: 0,
24
- });
25
- const successfullyResolved = {};
26
- const ignoredEntities = {};
27
- const classifiedProfiles = [];
28
- Object.entries(this.classifications.profiles).forEach(([profileName, profileDef]) => {
29
- if (profileDef.role === UserPrivilegeLevel.UNKNOWN) {
30
- ignoredEntities[profileName] = {
31
- name: profileName,
32
- message: messages.getMessage('preset-unknown', ['Profile']),
33
- };
34
- }
35
- else {
36
- classifiedProfiles.push(profileName);
37
- }
38
- });
39
- const mdapi = new MDAPI(context.targetOrgConnection);
40
- const resolvedProfiles = await mdapi.resolve('Profile', classifiedProfiles);
41
- classifiedProfiles.forEach((profileName) => {
42
- const resolvedProfile = resolvedProfiles[profileName];
43
- if (resolvedProfile) {
44
- successfullyResolved[profileName] = {
45
- name: profileName,
46
- role: this.classifications.profiles[profileName].role,
47
- metadata: resolvedProfile,
48
- };
49
- }
50
- else {
51
- ignoredEntities[profileName] = {
52
- name: profileName,
53
- message: messages.getMessage('entity-not-found'),
54
- };
55
- }
56
- });
57
- const result = { resolvedEntities: successfullyResolved, ignoredEntities: Object.values(ignoredEntities) };
58
- this.emit('entityresolve', {
59
- total: this.totalEntities,
60
- resolved: getTotal(result),
61
- });
62
- return result;
63
- }
64
- }
65
- //# sourceMappingURL=profilePolicy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profilePolicy.js","sourceRoot":"","sources":["../../../../src/libs/core/policies/profilePolicy.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- import { Record } from '@jsforce/jsforce-node';
2
- import { Profile as JsForceProfile } from '@jsforce/jsforce-node/lib/api/metadata.js';
3
- export type CustomPermission = Record & {
4
- Id: string;
5
- MasterLabel: string;
6
- DeveloperName: string;
7
- };
8
- export type ConnectedApp = Record & {
9
- Id: string;
10
- Name: string;
11
- OptionsAllowAdminApprovedUsersOnly: boolean;
12
- };
13
- export type OauthToken = Record & {
14
- Id: string;
15
- User: Pick<User, 'Username'>;
16
- AppName: string;
17
- UseCount: number;
18
- };
19
- export type User = Record & {
20
- Username: string;
21
- LastLoginDate?: string;
22
- CreatedDate: string;
23
- Profile: ProfileBasic;
24
- };
25
- export type Profile = ProfileBasic & {
26
- Metadata: JsForceProfile;
27
- };
28
- type ProfileBasic = Record & {
29
- Id: string;
30
- Name: string;
31
- UserType: string;
32
- };
33
- export type PermissionSet = Record & {
34
- Id: string;
35
- IsOwnedByProfile: boolean;
36
- IsCustom: boolean;
37
- Name: string;
38
- Label: string;
39
- Profile: ProfileBasic;
40
- NamespacePrefix?: string;
41
- };
42
- export type PermissionSetGroup = Record & {
43
- DeveloperName: string;
44
- };
45
- export type PermissionSetAssignment = Record & {
46
- AssigneeId: string;
47
- PermissionSet: Pick<PermissionSet, 'Name'>;
48
- PermissionSetGroupId?: string;
49
- PermissionSetGroup?: PermissionSetGroup;
50
- };
51
- export type UserLoginsAggregate = Record & {
52
- LoginType: string;
53
- Application: string;
54
- UserId: string;
55
- LoginCount: number;
56
- LastLogin: string;
57
- };
58
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=salesforceStandardTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"salesforceStandardTypes.js","sourceRoot":"","sources":["../../../../src/libs/core/policies/salesforceStandardTypes.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { AuditRunConfig, BasePolicyFileContent } from '../file-mgmt/schema.js';
2
- import { SalesforceSetting } from '../mdapi/anySettingsMetadata.js';
3
- import { AuditContext } from '../registries/types.js';
4
- import Policy, { ResolveEntityResult } from './policy.js';
5
- export default class SettingsPolicy extends Policy<SalesforceSetting> {
6
- config: BasePolicyFileContent;
7
- auditConfig: AuditRunConfig;
8
- constructor(config: BasePolicyFileContent, auditConfig: AuditRunConfig, registry?: import("../registries/settings.js").default);
9
- protected resolveEntities(context: AuditContext): Promise<ResolveEntityResult<SalesforceSetting>>;
10
- private removeInvalidSettingsFromResolvedRules;
11
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"settingsPolicy.js","sourceRoot":"","sources":["../../../../src/libs/core/policies/settingsPolicy.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { AuditRunConfig, UsersPolicyFileContent } from '../file-mgmt/schema.js';
2
- import { AuditContext } from '../registries/types.js';
3
- import { ResolvedUser } from '../registries/users.js';
4
- import Policy, { ResolveEntityResult } from './policy.js';
5
- export default class UserPolicy extends Policy<ResolvedUser> {
6
- config: UsersPolicyFileContent;
7
- auditConfig: AuditRunConfig;
8
- private totalEntities;
9
- private readonly classifications;
10
- constructor(config: UsersPolicyFileContent, auditConfig: AuditRunConfig, registry?: import("../registries/users.js").default);
11
- protected resolveEntities(context: AuditContext): Promise<ResolveEntityResult<ResolvedUser>>;
12
- }