Skip to content

Commit e1cfc30

Browse files
authored
Merge pull request #21 from mxlint/002_0008-improvements
2 parents d47c834 + 9171cee commit e1cfc30

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

rules/002_domain_model/002_0008_avoid_read_write_default_access_rule.rego

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@
44
# description: This can lead to wrong set access rights
55
# authors:
66
# - Jurre Tanja <jurre.tanja@mendix.com>
7+
# - Bart Zantingh <bart.zantingh@nl.abnamro.com>
8+
# related_resources:
9+
# - https://docs.mendix.com/refguide/access-rules/
10+
# - https://docs.mendix.com/refguide/dev-best-practices/#security
711
# custom:
812
# category: Maintainability
913
# rulename: AvoidDefaultReadWriteAccess
1014
# severity: MEDIUM
1115
# rulenumber: 002_0008
1216
# remediation: Set default access rights to Read only or None.
1317
# input: .*/DomainModels\$DomainModel\.yaml
14-
package app.mendix.domain_model.avoind_default_readwrite_access
18+
package app.mendix.domain_model.avoid_default_readwrite_access
1519

1620
import rego.v1
1721

@@ -22,22 +26,23 @@ default allow := false
2226
allow if count(errors) == 0
2327

2428
errors contains error if {
25-
entity := input.Entities[_]
29+
some entity in input.Entities
2630
entity_name := entity.Name
2731

2832
# Bind the specific access rule we are evaluating
29-
access_rule := entity.AccessRules[_]
33+
some access_rule in entity.AccessRules
3034

3135
# Only consider access rules with ReadWrite default rights
3236
access_rule.DefaultMemberAccessRights == "ReadWrite"
3337

3438
# Now collect roles only from THIS access_rule
3539
roles := access_rule.AllowedModuleRoles
40+
3641
role_names := [name |
37-
role := roles[_]
38-
parts := split(role, ".")
39-
name := parts[count(parts) - 1]
42+
some role in roles
43+
name := split(role, ".")[1]
4044
]
45+
4146
roles_list := concat(", ", role_names)
4247

4348
error := sprintf(

0 commit comments

Comments
 (0)