Skip to content

Commit d1c95ff

Browse files
fix: auditor allow evidence + review crud (#2470)
* feat: auditor role should have crud access to evidence Signed-off-by: Sarah Funkhouser <147884153+golanglemonade@users.noreply.github.com> * feat: auditor role should have crud access to evidence Signed-off-by: Sarah Funkhouser <147884153+golanglemonade@users.noreply.github.com> --------- Signed-off-by: Sarah Funkhouser <147884153+golanglemonade@users.noreply.github.com>
1 parent 05d1a67 commit d1c95ff

3 files changed

Lines changed: 16 additions & 7 deletions

File tree

fga/model/generated/crud.fga

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ extend type organization
123123
define can_delete_entity_type: [service, user] or full_access
124124
define can_create_entity_type: can_edit or can_edit_entity_type
125125

126-
define can_view_evidence: [service, user] or auditor or can_edit_evidence or can_manage_compliance or full_access
127-
define can_edit_evidence: [service, user] or can_delete_evidence or can_manage_compliance or full_access
128-
define can_delete_evidence: [service, user] or can_manage_compliance or full_access
126+
define can_view_evidence: [service, user] or auditor or auditor or can_edit_evidence or can_manage_compliance or full_access
127+
define can_edit_evidence: [service, user] or auditor or can_delete_evidence or can_manage_compliance or full_access
128+
define can_delete_evidence: [service, user] or auditor or can_manage_compliance or full_access
129129
define can_create_evidence: can_edit or can_edit_evidence or auditor or can_manage_compliance
130130

131131
define can_view_file: [service, user] or can_edit_file or full_access
@@ -270,9 +270,9 @@ extend type organization
270270
define remediation_creator: [group#member]
271271
define can_create_remediation: can_edit or can_edit_remediation or remediation_creator or can_manage_risk or can_manage_compliance
272272

273-
define can_view_review: [service, user, group#member] or auditor or can_edit_review or can_manage_compliance or can_manage_risk or full_access
274-
define can_edit_review: [service, user, group#member] or can_delete_review or can_manage_compliance or can_manage_risk or full_access
275-
define can_delete_review: [service, user, group#member] or can_manage_compliance or can_manage_risk or full_access
273+
define can_view_review: [service, user, group#member] or auditor or auditor or can_edit_review or can_manage_compliance or can_manage_risk or full_access
274+
define can_edit_review: [service, user, group#member] or auditor or can_delete_review or can_manage_compliance or can_manage_risk or full_access
275+
define can_delete_review: [service, user, group#member] or auditor or can_manage_compliance or can_manage_risk or full_access
276276
define review_creator: [group#member]
277277
define can_create_review: can_edit or can_edit_review or review_creator or auditor or can_manage_risk or can_manage_compliance
278278

fga/model/roles/roles.fga

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ extend type organization
1313
# owner should be able to have full access to all objects in the system that are organization owned. The only exception would be user specific objects like their own user object or personal access tokens.
1414
define owner: [user] or owner from parent
1515

16-
# @create: review, comment, discussion, task, evidence
16+
# @create: comment, discussion, task
1717
# @view: control, subcontrol, program, evidence, policy, procedure, review
18+
# @crud: evidence, review
1819
define auditor: [user] or auditor from parent
1920

2021
# @inherit: can_manage_compliance, can_manage_policies, can_manage_registry, can_manage_risk

internal/graphapi/evidence_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,14 @@ func TestMutationUpdateEvidence(t *testing.T) {
694694
client: suite.client.api,
695695
ctx: sharedViewOnlyUser.UserCtx,
696696
},
697+
{
698+
name: "auditor allowed to updated",
699+
request: testclient.UpdateEvidenceInput{
700+
Status: &enums.EvidenceStatusAuditorApproved,
701+
},
702+
client: suite.client.api,
703+
ctx: sharedAuditorUser.UserCtx,
704+
},
697705
{
698706
name: "update not allowed, no permissions to update but can view due to program membership",
699707
request: testclient.UpdateEvidenceInput{

0 commit comments

Comments
 (0)