mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
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.
This commit is contained in:
@@ -735,7 +735,7 @@ func (q *querier) GetTemplateVersionVariables(ctx context.Context, templateVersi
|
|||||||
object = tv.RBACObject(template)
|
object = tv.RBACObject(template)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := q.authorizeContext(ctx, rbac.ActionCreate, object); err != nil {
|
if err := q.authorizeContext(ctx, rbac.ActionRead, object); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return q.db.GetTemplateVersionVariables(ctx, templateVersionID)
|
return q.db.GetTemplateVersionVariables(ctx, templateVersionID)
|
||||||
|
|||||||
@@ -599,6 +599,16 @@ func (s *MethodTestSuite) TestTemplate() {
|
|||||||
})
|
})
|
||||||
check.Args(tv.ID).Asserts(t1, rbac.ActionRead).Returns([]database.TemplateVersionParameter{})
|
check.Args(tv.ID).Asserts(t1, rbac.ActionRead).Returns([]database.TemplateVersionParameter{})
|
||||||
}))
|
}))
|
||||||
|
s.Run("GetTemplateVersionVariables", s.Subtest(func(db database.Store, check *expects) {
|
||||||
|
t1 := dbgen.Template(s.T(), db, database.Template{})
|
||||||
|
tv := dbgen.TemplateVersion(s.T(), db, database.TemplateVersion{
|
||||||
|
TemplateID: uuid.NullUUID{UUID: t1.ID, Valid: true},
|
||||||
|
})
|
||||||
|
tvv1 := dbgen.TemplateVersionVariable(s.T(), db, database.TemplateVersionVariable{
|
||||||
|
TemplateVersionID: tv.ID,
|
||||||
|
})
|
||||||
|
check.Args(tv.ID).Asserts(t1, rbac.ActionRead).Returns([]database.TemplateVersionVariable{tvv1})
|
||||||
|
}))
|
||||||
s.Run("GetTemplateGroupRoles", s.Subtest(func(db database.Store, check *expects) {
|
s.Run("GetTemplateGroupRoles", s.Subtest(func(db database.Store, check *expects) {
|
||||||
t1 := dbgen.Template(s.T(), db, database.Template{})
|
t1 := dbgen.Template(s.T(), db, database.Template{})
|
||||||
check.Args(t1.ID).Asserts(t1, rbac.ActionRead)
|
check.Args(t1.ID).Asserts(t1, rbac.ActionRead)
|
||||||
|
|||||||
Reference in New Issue
Block a user