@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.
- package/README.md +3 -3
- package/lib/commands/org/audit/init.d.ts +5 -3
- package/lib/commands/org/audit/init.js +14 -20
- package/lib/commands/org/audit/init.js.map +1 -1
- package/lib/commands/org/audit/run.d.ts +1 -1
- package/lib/commands/org/audit/run.js +5 -3
- package/lib/commands/org/audit/run.js.map +1 -1
- package/lib/commands/org/scan/user-perms.js +1 -1
- package/lib/commands/org/scan/user-perms.js.map +1 -1
- package/lib/libs/{core → audit-engine}/auditRun.d.ts +6 -7
- package/lib/libs/{core → audit-engine}/auditRun.js +20 -16
- package/lib/libs/audit-engine/auditRun.js.map +1 -0
- package/lib/libs/audit-engine/file-manager/fileManager.d.ts +31 -0
- package/lib/libs/audit-engine/file-manager/fileManager.js +139 -0
- package/lib/libs/audit-engine/file-manager/fileManager.js.map +1 -0
- package/lib/libs/audit-engine/file-manager/fileManager.types.d.ts +30 -0
- package/lib/libs/audit-engine/file-manager/fileManager.types.js +2 -0
- package/lib/libs/audit-engine/file-manager/fileManager.types.js.map +1 -0
- package/lib/libs/audit-engine/index.d.ts +121 -0
- package/lib/libs/audit-engine/index.js +9 -0
- package/lib/libs/audit-engine/index.js.map +1 -0
- package/lib/libs/{core/registries/types.d.ts → audit-engine/registry/context.types.d.ts} +6 -10
- package/lib/libs/audit-engine/registry/context.types.js +2 -0
- package/lib/libs/audit-engine/registry/context.types.js.map +1 -0
- package/lib/libs/audit-engine/registry/definitions.d.ts +23 -0
- package/lib/libs/audit-engine/registry/definitions.js +53 -0
- package/lib/libs/audit-engine/registry/definitions.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/helpers/permissionsScanning.d.ts +12 -2
- package/lib/libs/{core/registries → audit-engine/registry}/helpers/permissionsScanning.js +15 -3
- package/lib/libs/audit-engine/registry/helpers/permissionsScanning.js.map +1 -0
- package/lib/libs/audit-engine/registry/policies/connectedApps.d.ts +12 -0
- package/lib/libs/audit-engine/registry/policies/connectedApps.js +22 -0
- package/lib/libs/audit-engine/registry/policies/connectedApps.js.map +1 -0
- package/lib/libs/audit-engine/registry/policies/permissionSets.d.ts +18 -0
- package/lib/libs/audit-engine/registry/policies/permissionSets.js +80 -0
- package/lib/libs/audit-engine/registry/policies/permissionSets.js.map +1 -0
- package/lib/libs/audit-engine/registry/policies/profiles.d.ts +18 -0
- package/lib/libs/audit-engine/registry/policies/profiles.js +76 -0
- package/lib/libs/audit-engine/registry/policies/profiles.js.map +1 -0
- package/lib/libs/audit-engine/registry/policies/settings.d.ts +18 -0
- package/lib/libs/{core/policies/settingsPolicy.js → audit-engine/registry/policies/settings.js} +48 -18
- package/lib/libs/audit-engine/registry/policies/settings.js.map +1 -0
- package/lib/libs/audit-engine/registry/policies/users.d.ts +19 -0
- package/lib/libs/audit-engine/registry/policies/users.js +76 -0
- package/lib/libs/audit-engine/registry/policies/users.js.map +1 -0
- package/lib/libs/{core/policies → audit-engine/registry}/policy.d.ts +7 -6
- package/lib/libs/{core/policies → audit-engine/registry}/policy.js +2 -0
- package/lib/libs/audit-engine/registry/policy.js.map +1 -0
- package/lib/libs/{core/result-types.d.ts → audit-engine/registry/result.types.d.ts} +2 -2
- package/lib/libs/audit-engine/registry/result.types.js +2 -0
- package/lib/libs/audit-engine/registry/result.types.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/ruleRegistry.d.ts +10 -7
- package/lib/libs/{core/registries → audit-engine/registry}/ruleRegistry.js +7 -7
- package/lib/libs/audit-engine/registry/ruleRegistry.js.map +1 -0
- package/lib/libs/audit-engine/registry/rules/allUsedAppsUnderManagement.d.ts +7 -0
- package/lib/libs/audit-engine/registry/rules/allUsedAppsUnderManagement.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionPresets.d.ts +4 -2
- package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionPresets.js +17 -15
- package/lib/libs/audit-engine/registry/rules/enforcePermissionPresets.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionsOnProfileLike.d.ts +1 -1
- package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionsOnProfileLike.js +3 -3
- package/lib/libs/audit-engine/registry/rules/enforcePermissionsOnProfileLike.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/rules/enforcePermissionsOnUser.d.ts +2 -2
- package/lib/libs/audit-engine/registry/rules/enforcePermissionsOnUser.js +38 -0
- package/lib/libs/audit-engine/registry/rules/enforcePermissionsOnUser.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/rules/enforceSettings.d.ts +2 -2
- package/lib/libs/audit-engine/registry/rules/enforceSettings.js.map +1 -0
- package/lib/libs/audit-engine/registry/rules/noInactiveUsers.d.ts +14 -0
- package/lib/libs/{core/registries → audit-engine/registry}/rules/noInactiveUsers.js +17 -4
- package/lib/libs/audit-engine/registry/rules/noInactiveUsers.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/rules/noOtherApexApiLogins.d.ts +2 -2
- package/lib/libs/{core/registries → audit-engine/registry}/rules/noOtherApexApiLogins.js +4 -1
- package/lib/libs/audit-engine/registry/rules/noOtherApexApiLogins.js.map +1 -0
- package/lib/libs/audit-engine/registry/rules/noUserCanSelfAuthorize.d.ts +7 -0
- package/lib/libs/audit-engine/registry/rules/noUserCanSelfAuthorize.js.map +1 -0
- package/lib/libs/{core/registries → audit-engine/registry}/rules/policyRule.d.ts +4 -6
- package/lib/libs/{core/registries → audit-engine/registry}/rules/policyRule.js +2 -12
- package/lib/libs/audit-engine/registry/rules/policyRule.js.map +1 -0
- package/lib/libs/audit-engine/registry/schema.d.ts +2 -0
- package/lib/libs/audit-engine/registry/schema.js +11 -0
- package/lib/libs/audit-engine/registry/schema.js.map +1 -0
- package/lib/libs/audit-engine/registry/shape/auditConfigShape.d.ts +122 -0
- package/lib/libs/audit-engine/registry/shape/auditConfigShape.js +54 -0
- package/lib/libs/audit-engine/registry/shape/auditConfigShape.js.map +1 -0
- package/lib/libs/audit-engine/registry/shape/schema.d.ts +96 -0
- package/lib/libs/audit-engine/registry/shape/schema.js +84 -0
- package/lib/libs/audit-engine/registry/shape/schema.js.map +1 -0
- package/lib/libs/conf-init/auditConfig.d.ts +3 -12
- package/lib/libs/conf-init/auditConfig.js +25 -25
- package/lib/libs/conf-init/auditConfig.js.map +1 -1
- package/lib/libs/conf-init/defaultClassifications.d.ts +8 -0
- package/lib/libs/conf-init/defaultClassifications.js +116 -0
- package/lib/libs/conf-init/defaultClassifications.js.map +1 -0
- package/lib/libs/conf-init/defaultPolicies.d.ts +2 -0
- package/lib/libs/conf-init/defaultPolicies.js +20 -0
- package/lib/libs/conf-init/defaultPolicies.js.map +1 -0
- package/lib/libs/conf-init/init.types.d.ts +27 -0
- package/lib/libs/conf-init/init.types.js +8 -0
- package/lib/libs/conf-init/init.types.js.map +1 -0
- package/lib/libs/conf-init/presets/loose.d.ts +1 -1
- package/lib/libs/conf-init/presets/loose.js +4 -2
- package/lib/libs/conf-init/presets/loose.js.map +1 -1
- package/lib/libs/conf-init/presets/none.d.ts +2 -7
- package/lib/libs/conf-init/presets/none.js +1 -1
- package/lib/libs/conf-init/presets/none.js.map +1 -1
- package/lib/libs/conf-init/presets/strict.js +3 -1
- package/lib/libs/conf-init/presets/strict.js.map +1 -1
- package/lib/libs/conf-init/presets.d.ts +1 -6
- package/lib/libs/conf-init/presets.js +1 -6
- package/lib/libs/conf-init/presets.js.map +1 -1
- package/lib/libs/quick-scan/userPermissionScanner.js +17 -13
- package/lib/libs/quick-scan/userPermissionScanner.js.map +1 -1
- package/lib/salesforce/index.d.ts +10 -0
- package/lib/salesforce/index.js +8 -0
- package/lib/salesforce/index.js.map +1 -0
- package/lib/salesforce/mdapi/constants.d.ts +1 -0
- package/lib/salesforce/mdapi/constants.js +3 -0
- package/lib/salesforce/mdapi/constants.js.map +1 -0
- package/lib/{libs/core/mdapi/anySettingsMetadata.d.ts → salesforce/mdapi/genericSettingsMetadata.d.ts} +3 -4
- package/lib/{libs/core/mdapi/anySettingsMetadata.js → salesforce/mdapi/genericSettingsMetadata.js} +8 -10
- package/lib/salesforce/mdapi/genericSettingsMetadata.js.map +1 -0
- package/lib/salesforce/mdapi/mdapi.d.ts +46 -0
- package/lib/{libs/core/mdapi/mdapiRetriever.js → salesforce/mdapi/mdapi.js} +19 -40
- package/lib/salesforce/mdapi/mdapi.js.map +1 -0
- package/lib/salesforce/mdapi/metadataRegistry.d.ts +26 -0
- package/lib/salesforce/mdapi/metadataRegistry.js +43 -0
- package/lib/salesforce/mdapi/metadataRegistry.js.map +1 -0
- package/lib/{libs/core → salesforce}/mdapi/metadataRegistryEntry.js +1 -1
- package/lib/salesforce/mdapi/metadataRegistryEntry.js.map +1 -0
- package/lib/{libs/core → salesforce}/mdapi/namedMetadataToolingQueryable.js +1 -1
- package/lib/{libs/core → salesforce}/mdapi/namedMetadataToolingQueryable.js.map +1 -1
- package/lib/salesforce/mdapi/namedMetadataType.js.map +1 -0
- package/lib/salesforce/mdapi/singletonMetadataType.js.map +1 -0
- package/lib/salesforce/repositories/connected-apps/connected-app.types.d.ts +28 -0
- package/lib/salesforce/repositories/connected-apps/connected-app.types.js +6 -0
- package/lib/salesforce/repositories/connected-apps/connected-app.types.js.map +1 -0
- package/lib/salesforce/repositories/connected-apps/connected-apps.d.ts +16 -0
- package/lib/salesforce/repositories/connected-apps/connected-apps.js +83 -0
- package/lib/salesforce/repositories/connected-apps/connected-apps.js.map +1 -0
- package/lib/salesforce/repositories/connected-apps/queries.d.ts +2 -0
- package/lib/salesforce/repositories/connected-apps/queries.js +3 -0
- package/lib/salesforce/repositories/connected-apps/queries.js.map +1 -0
- package/lib/salesforce/repositories/perm-sets/perm-sets.types.d.ts +29 -0
- package/lib/salesforce/repositories/perm-sets/perm-sets.types.js +10 -0
- package/lib/salesforce/repositories/perm-sets/perm-sets.types.js.map +1 -0
- package/lib/salesforce/repositories/perm-sets/permission-sets.d.ts +11 -0
- package/lib/salesforce/repositories/perm-sets/permission-sets.js +43 -0
- package/lib/salesforce/repositories/perm-sets/permission-sets.js.map +1 -0
- package/lib/salesforce/repositories/perm-sets/queries.d.ts +1 -0
- package/lib/salesforce/repositories/perm-sets/queries.js +2 -0
- package/lib/salesforce/repositories/perm-sets/queries.js.map +1 -0
- package/lib/salesforce/repositories/profiles/profile.types.d.ts +29 -0
- package/lib/salesforce/repositories/profiles/profile.types.js +8 -0
- package/lib/salesforce/repositories/profiles/profile.types.js.map +1 -0
- package/lib/salesforce/repositories/profiles/profiles.d.ts +14 -0
- package/lib/salesforce/repositories/profiles/profiles.js +38 -0
- package/lib/salesforce/repositories/profiles/profiles.js.map +1 -0
- package/lib/salesforce/repositories/profiles/queries.d.ts +2 -0
- package/lib/salesforce/repositories/profiles/queries.js +7 -0
- package/lib/salesforce/repositories/profiles/queries.js.map +1 -0
- package/lib/salesforce/repositories/users/queries.d.ts +3 -0
- package/lib/{libs/core/constants.js → salesforce/repositories/users/queries.js} +1 -11
- package/lib/salesforce/repositories/users/queries.js.map +1 -0
- package/lib/salesforce/repositories/users/user.types.d.ts +54 -0
- package/lib/salesforce/repositories/users/user.types.js +12 -0
- package/lib/salesforce/repositories/users/user.types.js.map +1 -0
- package/lib/salesforce/repositories/users/users.d.ts +22 -0
- package/lib/salesforce/repositories/users/users.js +134 -0
- package/lib/salesforce/repositories/users/users.js.map +1 -0
- package/lib/{libs/core/utils.d.ts → utils.d.ts} +2 -0
- package/lib/{libs/core/utils.js → utils.js} +26 -0
- package/lib/utils.js.map +1 -0
- package/lib/ux/auditRunMultiStage.d.ts +1 -1
- package/lib/ux/auditRunMultiStage.js +5 -5
- package/lib/ux/auditRunMultiStage.js.map +1 -1
- package/messages/policies.general.md +9 -1
- package/messages/policyclassifications.md +8 -0
- package/messages/rules.enforceClassificationPresets.md +2 -2
- package/messages/rules.users.md +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
- package/lib/libs/conf-init/permissionsClassification.d.ts +0 -37
- package/lib/libs/conf-init/permissionsClassification.js +0 -126
- package/lib/libs/conf-init/permissionsClassification.js.map +0 -1
- package/lib/libs/conf-init/policyConfigs.d.ts +0 -21
- package/lib/libs/conf-init/policyConfigs.js +0 -47
- package/lib/libs/conf-init/policyConfigs.js.map +0 -1
- package/lib/libs/core/auditRun.js.map +0 -1
- package/lib/libs/core/classification-types.d.ts +0 -20
- package/lib/libs/core/classification-types.js +0 -23
- package/lib/libs/core/classification-types.js.map +0 -1
- package/lib/libs/core/constants.d.ts +0 -10
- package/lib/libs/core/constants.js.map +0 -1
- package/lib/libs/core/file-mgmt/auditConfigFileManager.d.ts +0 -48
- package/lib/libs/core/file-mgmt/auditConfigFileManager.js +0 -145
- package/lib/libs/core/file-mgmt/auditConfigFileManager.js.map +0 -1
- package/lib/libs/core/file-mgmt/schema.d.ts +0 -156
- package/lib/libs/core/file-mgmt/schema.js +0 -81
- package/lib/libs/core/file-mgmt/schema.js.map +0 -1
- package/lib/libs/core/mdapi/anySettingsMetadata.js.map +0 -1
- package/lib/libs/core/mdapi/mdapiRetriever.d.ts +0 -54
- package/lib/libs/core/mdapi/mdapiRetriever.js.map +0 -1
- package/lib/libs/core/mdapi/metadataRegistryEntry.js.map +0 -1
- package/lib/libs/core/mdapi/namedMetadataType.js.map +0 -1
- package/lib/libs/core/mdapi/singletonMetadataType.js.map +0 -1
- package/lib/libs/core/mdapi/usersRepository.d.ts +0 -85
- package/lib/libs/core/mdapi/usersRepository.js +0 -126
- package/lib/libs/core/mdapi/usersRepository.js.map +0 -1
- package/lib/libs/core/policies/connectedAppPolicy.d.ts +0 -10
- package/lib/libs/core/policies/connectedAppPolicy.js +0 -78
- package/lib/libs/core/policies/connectedAppPolicy.js.map +0 -1
- package/lib/libs/core/policies/permissionSetPolicy.d.ts +0 -12
- package/lib/libs/core/policies/permissionSetPolicy.js +0 -64
- package/lib/libs/core/policies/permissionSetPolicy.js.map +0 -1
- package/lib/libs/core/policies/policy.js.map +0 -1
- package/lib/libs/core/policies/profilePolicy.d.ts +0 -12
- package/lib/libs/core/policies/profilePolicy.js +0 -65
- package/lib/libs/core/policies/profilePolicy.js.map +0 -1
- package/lib/libs/core/policies/salesforceStandardTypes.d.ts +0 -58
- package/lib/libs/core/policies/salesforceStandardTypes.js +0 -2
- package/lib/libs/core/policies/salesforceStandardTypes.js.map +0 -1
- package/lib/libs/core/policies/settingsPolicy.d.ts +0 -11
- package/lib/libs/core/policies/settingsPolicy.js.map +0 -1
- package/lib/libs/core/policies/userPolicy.d.ts +0 -12
- package/lib/libs/core/policies/userPolicy.js +0 -62
- package/lib/libs/core/policies/userPolicy.js.map +0 -1
- package/lib/libs/core/policy-types.d.ts +0 -18
- package/lib/libs/core/policy-types.js +0 -28
- package/lib/libs/core/policy-types.js.map +0 -1
- package/lib/libs/core/policyRegistry.d.ts +0 -23
- package/lib/libs/core/policyRegistry.js +0 -52
- package/lib/libs/core/policyRegistry.js.map +0 -1
- package/lib/libs/core/registries/connectedApps.d.ts +0 -13
- package/lib/libs/core/registries/connectedApps.js +0 -13
- package/lib/libs/core/registries/connectedApps.js.map +0 -1
- package/lib/libs/core/registries/helpers/permissionsScanning.js.map +0 -1
- package/lib/libs/core/registries/permissionSets.d.ts +0 -11
- package/lib/libs/core/registries/permissionSets.js +0 -11
- package/lib/libs/core/registries/permissionSets.js.map +0 -1
- package/lib/libs/core/registries/profiles.d.ts +0 -11
- package/lib/libs/core/registries/profiles.js +0 -11
- package/lib/libs/core/registries/profiles.js.map +0 -1
- package/lib/libs/core/registries/ruleRegistry.js.map +0 -1
- package/lib/libs/core/registries/rules/allUsedAppsUnderManagement.d.ts +0 -7
- package/lib/libs/core/registries/rules/allUsedAppsUnderManagement.js.map +0 -1
- package/lib/libs/core/registries/rules/enforcePermissionPresets.js.map +0 -1
- package/lib/libs/core/registries/rules/enforcePermissionsOnProfileLike.js.map +0 -1
- package/lib/libs/core/registries/rules/enforcePermissionsOnUser.js +0 -42
- package/lib/libs/core/registries/rules/enforcePermissionsOnUser.js.map +0 -1
- package/lib/libs/core/registries/rules/enforceSettings.js.map +0 -1
- package/lib/libs/core/registries/rules/noInactiveUsers.d.ts +0 -9
- package/lib/libs/core/registries/rules/noInactiveUsers.js.map +0 -1
- package/lib/libs/core/registries/rules/noOtherApexApiLogins.js.map +0 -1
- package/lib/libs/core/registries/rules/noUserCanSelfAuthorize.d.ts +0 -7
- package/lib/libs/core/registries/rules/noUserCanSelfAuthorize.js.map +0 -1
- package/lib/libs/core/registries/rules/policyRule.js.map +0 -1
- package/lib/libs/core/registries/settings.d.ts +0 -8
- package/lib/libs/core/registries/settings.js +0 -51
- package/lib/libs/core/registries/settings.js.map +0 -1
- package/lib/libs/core/registries/types.js +0 -13
- package/lib/libs/core/registries/types.js.map +0 -1
- package/lib/libs/core/registries/users.d.ts +0 -10
- package/lib/libs/core/registries/users.js +0 -17
- package/lib/libs/core/registries/users.js.map +0 -1
- package/lib/libs/core/result-types.js +0 -2
- package/lib/libs/core/result-types.js.map +0 -1
- package/lib/libs/core/utils.js.map +0 -1
- /package/lib/libs/{core/registries → audit-engine/registry}/rules/allUsedAppsUnderManagement.js +0 -0
- /package/lib/libs/{core/registries → audit-engine/registry}/rules/enforceSettings.js +0 -0
- /package/lib/libs/{core/registries → audit-engine/registry}/rules/noUserCanSelfAuthorize.js +0 -0
- /package/lib/{libs/core → salesforce}/mdapi/metadataRegistryEntry.d.ts +0 -0
- /package/lib/{libs/core → salesforce}/mdapi/namedMetadataToolingQueryable.d.ts +0 -0
- /package/lib/{libs/core → salesforce}/mdapi/namedMetadataType.d.ts +0 -0
- /package/lib/{libs/core → salesforce}/mdapi/namedMetadataType.js +0 -0
- /package/lib/{libs/core → salesforce}/mdapi/singletonMetadataType.d.ts +0 -0
- /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":"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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 { 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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,MAAM,4BAA4B,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAyB,MAAM,iCAAiC,CAAC;AAChG,OAAO,MAAM,EAAE,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;AAEpE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,oCAAoC,EAAE,kBAAkB,CAAC,CAAC;AAEjG,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,MAA6B;IAKnE;IACA;IALQ,aAAa,CAAS;IACtB,eAAe,CAAsC;IAEtE,YACS,MAA6B,EAC7B,YAA4B,EACnC,QAAQ,GAAG,sBAAsB;QAEjC,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAJ/B,WAAM,GAAN,MAAM,CAAuB;QAC7B,iBAAY,GAAZ,YAAY,CAAgB;QAInC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAC1G,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAC/E,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,OAAqB;QACnD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,MAAM,oBAAoB,GAA0C,EAAE,CAAC;QACvE,MAAM,UAAU,GAAuC,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACnH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;YACzE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACb,oBAAoB,CAAC,GAAG,CAAC,GAAG;oBAC1B,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG;iBACV,CAAC;YACJ,CAAC;iBAAM,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACnD,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAC5C,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;gBACtG,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACtG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,yBAAyB,CAAC,QAA6C;IAC9E,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC5C,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -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 +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
|
-
}
|