Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes and improvements for admin permissions #238

Merged
merged 1 commit into from
May 22, 2016
Merged

Conversation

GUI
Copy link
Member

@GUI GUI commented May 22, 2016

  • Allows limited admins to create sub-scopes underneath their current scopes (Allow non-superuser admins to create new API sub-scopes 18F/api.data.gov#135).
  • Allows limited admins to create new groups utilizing the scopes they have access to (Agency admins can't create new admin groups 18F/api.data.gov#339).
  • Fixes potential security issues where a limited admin with knowledge of internal record UUIDs could overwrite records they didn't originally have access to (by overwriting the original record with data they do have access to). Since this hinges upon the limited admin knowing the random UUIDs of other records they don't have access to view, the likelihood of this actually being exploitable should be low.
  • Refactor most of the admin permission tests to ensure better consistency and coverage. There's now a shared baseline of permission checks we can more easily apply across all admin resource types to ensure basic permission checks. We also now perform the same permission check tests across all CRUD actions (rather than requiring different tests to be written for each CRUD action, which was easy to miss and difficult to maintain).

- Allows limited admins to create sub-scopes underneath their current
  scopes (18F/api.data.gov#135).
- Allows limited admins to create new groups utilizing the scopes they
  have access to (18F/api.data.gov#339).
- Fixes potential security issues where a limited admin with knowledge
  of internal record UUIDs could overwrite records they didn't
  originally have access to (by overwriting the original record with
  data they do have access to). Since this hinges upon the limited admin
  knowing the random UUIDs of other records they don't have access to
  view, the likelihood of this actually being exploitable should be low.
- Refactor most of the admin permission tests to ensure better
  consistency and coverage. There's now a shared baseline of permission
  checks we can more easily apply across all admin resource types to
  ensure basic permission checks. We also now perform the same
  permission check tests across all CRUD actions (rather than requiring
  different tests to be written for each CRUD action, which was easy to
  miss and difficult to maintain).
@GUI GUI merged commit d964219 into master May 22, 2016
@GUI GUI deleted the admin-permission-fixes branch May 22, 2016 20:28
@GUI GUI added this to the v0.12 milestone Jun 26, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant