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

User authorization framework #101

Open
rhiananthony opened this issue Jul 31, 2018 · 5 comments
Open

User authorization framework #101

rhiananthony opened this issue Jul 31, 2018 · 5 comments
Assignees
Labels
DevSecOps Tickets that require DCP DevSecOps Epic

Comments

@rhiananthony
Copy link
Contributor

rhiananthony commented Jul 31, 2018

Need

The concrete need as expressed in user stories:

  • As a DCP developer, I want an authorization API for determining if a given user is permitted to perform a given action on the DCP (such as downloading data), so that I can control which actions that user can perform.

  • As a DCP developer, I want python bindings for the DCP's authorization API, so that it is easier to integrate my service with our authorization API.

Definition of done

  • Register service account with fusillade.
  • use shared library to perform authn/z across components.
  • assigned required permissions to each service account.
  • components use fusillade to determine a client permissions.
  • store all component roles in a central location permissions

Context

As the Data Coordination Platform, we want to be protected, to protect each of our services from each other, and to protect the human subjects data we have. This requires authn and authz on our endpoints and on any access routes.

All components in a secure and federally compliant system need to have four main features: authentication #73 , authorization (also #99 ), audit trails #103 , and encryption #102 in other tickets. Even if hosting public data, a system containing Federal Government data still needs to have these features for all of the administrative and operational components to maintain integrity. This has the added benefit of enabling reuse of components in more settings than the HCA. Even though the first use of the DCP Blue Box (HCA) is an open data store, we need to add authentication to components of the DCP. Some of these will be operations-facing, those that are user-facing will be configurable so that they can be turned off during HCA DCP deployment.

@stahiri
Copy link

stahiri commented Jul 18, 2019

@Bento007 should this epic have linked subtasks for a Q3 milestone or should this be iceboxed for now?

Removing the GA tag since that's outdated

@Bento007
Copy link
Member

Bento007 commented Aug 1, 2019

@mweiden
Copy link
Contributor

mweiden commented Aug 1, 2019

@stahiri @Bento007 this seems a bit circular. The Epics #99 and #101 refer to each other and the language is almost the same. Suggestion:

  • Close one of these
  • Rephrase the user story to be more concrete (it's very vague... what are you authorizing users to do?)
  • Write down some clear, concise acceptance criteria based on the refined user story. It should be clear what we have to do to cross the finish line here.

@Bento007 Bento007 added this to the Q3 2019 Milestone 3 milestone Aug 8, 2019
@Bento007
Copy link
Member

Relates to HumanCellAtlas/fusillade#232

@mweiden mweiden changed the title User AuthZ by framework User authorization framework Aug 13, 2019
@stahiri
Copy link

stahiri commented Aug 27, 2019

Note: Epic #99 is closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DevSecOps Tickets that require DCP DevSecOps Epic
Projects
None yet
Development

No branches or pull requests

8 participants