You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flesh out authz policy (Polar file) and associated Rust types; prototype by protecting a project-level endpoint (DELETE disk) (flesh out authz policy #405)
get feedback from product/customers about reduced-scope authz model. (2022-01-31 update: we've spoken with two prospects and both were fine with a static set of roles in the MVP. Both felt they were going to need it to be more flexible later.)
figure out authz from saga actions (e.g., need to construct an OpContext for the saga)
there should be no more uses of Datastore::pool() -- it should all be Datastore::pool_authorized
there should probably be no more uses of dropshot's make_request() family of functions in the test suite because everything requires authn except for the unauthorized test.
review use of public_error_from_diesel_pool -- that seems a lot less necessary post-authz because there's an authz variant
related to this: there may be a lot of code paths today that need to assign roles to things that currently don't. e.g., when you create a Project, you should get a role on it.
*_refetch() functions in datastore.rs could be provided by the lookup API (macro) instead (e.g., top-level functions on LookupPath that take the authz object and work basically the same way as a by-id lookup, but use the lookup_type of the original authz object for a not-found error and preserve the original authz object)
review TODO-security
review endpoints not tested by unauthorized.rs/unauthorized_coverage.rs. Currently that includes /session/me, /login, /logout, which are all somewhat special cases. For example, "logout" succeeds even if your authn failed. And "/session/me" will work even for unprivileged users. Maybe they should have their own separate tests?
Closing this because at this point we're not doing more MVP authz work. I don't think there's anything remaining under "cleanup" that doesn't already have its own issue and hasn't been done at least enough for MVP.
(moving some notes from a local text file for better visibility)
authz
types could be more type-safe #848)public_error_from_diesel*
#644OpContext
Datastore::pool()
-- it should all beDatastore::pool_authorized
make_request()
family of functions in the test suite because everything requires authn except for theunauthorized
test.public_error_from_diesel_pool
-- that seems a lot less necessary post-authz because there's an authz variantauthz
types could be more type-safe #848LookupPath
that take the authz object and work basically the same way as a by-id lookup, but use the lookup_type of the original authz object for a not-found error and preserve the original authz object)The text was updated successfully, but these errors were encountered: