Skip to content

Commit 331a49b

Browse files
authored
fix: dbauthz: fix RBAC call for GetTemplateVersionVariables (#6670)
In GetTemplateVersionVariables we were effectively asking the provisionerd role to call rbac.ActionCreate on rbac.ResourceTemplate, which will never work. Updated this to be rbac.ActionRead instead.
1 parent 39510f4 commit 331a49b

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

coderd/database/dbauthz/querier.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,7 @@ func (q *querier) GetTemplateVersionVariables(ctx context.Context, templateVersi
735735
object = tv.RBACObject(template)
736736
}
737737

738-
if err := q.authorizeContext(ctx, rbac.ActionCreate, object); err != nil {
738+
if err := q.authorizeContext(ctx, rbac.ActionRead, object); err != nil {
739739
return nil, err
740740
}
741741
return q.db.GetTemplateVersionVariables(ctx, templateVersionID)

coderd/database/dbauthz/querier_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,16 @@ func (s *MethodTestSuite) TestTemplate() {
599599
})
600600
check.Args(tv.ID).Asserts(t1, rbac.ActionRead).Returns([]database.TemplateVersionParameter{})
601601
}))
602+
s.Run("GetTemplateVersionVariables", s.Subtest(func(db database.Store, check *expects) {
603+
t1 := dbgen.Template(s.T(), db, database.Template{})
604+
tv := dbgen.TemplateVersion(s.T(), db, database.TemplateVersion{
605+
TemplateID: uuid.NullUUID{UUID: t1.ID, Valid: true},
606+
})
607+
tvv1 := dbgen.TemplateVersionVariable(s.T(), db, database.TemplateVersionVariable{
608+
TemplateVersionID: tv.ID,
609+
})
610+
check.Args(tv.ID).Asserts(t1, rbac.ActionRead).Returns([]database.TemplateVersionVariable{tvv1})
611+
}))
602612
s.Run("GetTemplateGroupRoles", s.Subtest(func(db database.Store, check *expects) {
603613
t1 := dbgen.Template(s.T(), db, database.Template{})
604614
check.Args(t1.ID).Asserts(t1, rbac.ActionRead)

0 commit comments

Comments
 (0)