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

Access management in Altinn Studio #1375

Closed
2 tasks done
GGunnar opened this issue Mar 21, 2019 · 3 comments
Closed
2 tasks done

Access management in Altinn Studio #1375

GGunnar opened this issue Mar 21, 2019 · 3 comments
Labels
Epic Used by zenhub to identify the epics that group issues. kind/analysis Used when an issue needs to be analysed before it becomes a user story. solution/studio/designer Issues related to the Altinn Studio Designer solution. status/ready-for-dev Status: Used for issues that are ready for development. Has been through grooming.
Milestone

Comments

@GGunnar
Copy link

GGunnar commented Mar 21, 2019

Description

In Altinn Studio all functionality is available for all members of an organisation. As the organisations will be managing more of the process in towards production it is therefore needed to apply some more access management on the organisations.

To get access management in the solution we should utilize as much as possible in the Gitea solution, by creating teams and setting restrictions to what a team member could do in Altinn Studio.
An org admin should have the possibility to edit how teams are set up and perhaps (must be found in the analysis) editing the restrictions in Gitea.

As we are utilizing functionality in Gitea and will not create new pages for access management for the org admin, the need for documentation is evident. The documentation should describe how the access managment is in Studio, so that it is clear what restrictions the users in different org teams could do. The documentation should also describe how an org admin could edit the teams, add members to the teams etc. (Ref #953)

Currently there is a restriction that only lets users in the "owner" team be able to create services, we need to look at if this is possible to bypass so that a member of another team is able to create a repo. This issue is already registered at: go-gitea/gitea#5114 . Possible to do with the use of sudo? (Ref #947)

When we use functionality in Gitea that includes teams, there will be a need to handle which teams have which repos available. If one where to say that a team would be "service developers" the repo needs to be added to this team in order to get the service developers to edit the app/repo. (ref how it previously was thought as a solution #948).

Depending on the solution found, there might be a need to create teams when creating an organisation in Gitea with the appropriate access. (ref: #949)

Once the solution is selected there is a need to be a clean-up of organisations and users in all the given environments in order to get the correct behaviour. This means putting users in the correct teams etc. (ref #950).

Only some users on an org should be able to deploy an Altinn app to production a org owner should be able to change which users are able to do this. (ref #951)
When solution is found it should be set up automatic tests that verifies that the behaviour is working as expected.

As the new access managment is implemented we also need to look at what messages should be given for the app-developers in Altinn Studio if the app-developer reaches some functionality he is not able to reach.

For users who is not a part of an organisation there should not be any specific access managment, meaning a user has access to do everything in his repo. Note that a user will never have the possibility to deploy a service to a test environment, as this will require an agreement with Altinn and that enviroments are set up for the given user.

Note that a previous proposed solution was that as long as a user had the Admin right and access to releases, the user should be able to deploy to production. This means that either the Owner group should be the only ones that have the possibility to deploy to production. If more teams are created it is important that the repos are added to the team that creates the repo, in order to get the rest of the team to have the new repo available.

For MVP the scope is that deploy is restricted to a group of people within the organisation. Other restrictions are at the time beeing out of scope. If something is found during the analysis should also be restricted, PO needs to be involved.

PO Statement:

Altinn or service owner/org need to have full control of who is able to deploy services to production. Further insight into the need of orgs could identify other changes that are also necessary.

Acceptance criteria

  • It should be possible for the admin of an org to define which Altinn Studio users has the privilege of deploying to production in his/her organisation by using the functionality in Gitea
  • It should be possible to edit a service without having possibility to deploy to production
  • As an org owner admin, I should be able to controll who can deploy services to production. Not all developers should be able to trigger deploy of updates or new services.
  • As a user on an organisation without deploy rights, I should get feedback from the solution that I have not got this right and how I could proceed in order to move forward.

In scope

  • Access management for deploy of service to production
  • Test of existing access management is working as expected
  • Minimum - org itself have full control of users that could deploy

Constraints

  • Gitea functionality should be reused as much as possible

Tasks

  • Is this issue labeled with a correct area label?
  • QA has been done
@GGunnar GGunnar added this to the MVP.3 milestone Mar 21, 2019
@GGunnar GGunnar added access-management kind/analysis Used when an issue needs to be analysed before it becomes a user story. status/draft Status: When you create an issue before you have enough info to properly describe the issue. Epic Used by zenhub to identify the epics that group issues. labels Mar 21, 2019
@lvbachmann lvbachmann added the solution/studio/designer Issues related to the Altinn Studio Designer solution. label May 31, 2019
@GGunnar GGunnar changed the title Access management in MVP3 Access management in Altinn Studio May 31, 2019
@lvbachmann lvbachmann added the status/insight-needed Status: This issue should be verified through gathering insight from users before analysis starts. label Aug 19, 2019
@GGunnar GGunnar modified the milestones: MVP.3, MVP.3.3 Oct 8, 2019
@altinnadmin altinnadmin removed the status/draft Status: When you create an issue before you have enough info to properly describe the issue. label Oct 24, 2019
@GGunnar GGunnar modified the milestones: MVP.3.3, CD - phase 1 Oct 28, 2019
@GGunnar GGunnar modified the milestones: CD - phase 1.1, CD - phase 1.2 Nov 5, 2019
@lvbachmann lvbachmann modified the milestones: 2020-April, 2020-May Apr 1, 2020
@lvbachmann lvbachmann modified the milestones: 2020-May, 2020-June May 25, 2020
@lvbachmann lvbachmann modified the milestones: 2020-June, 2020-Q4 Jun 16, 2020
@altinnadmin
Copy link
Member

altinnadmin commented Dec 16, 2020

I've now tested the functionality in Gitea, and it looks good. I suggest the following solution:

  1. We create a set of standard Teams for each org in Gitea.
    image
    • The Deploy-<env>-teams gives only read access to repos and membership will be checked by the deploy-page in Designer.
    • The Devs-team will give write access to repos, and have set the new "Create Repositories" setting
      image
    • The Owners-team has admin rights and can edit teams etc.
  2. We add checks in the deploy page in Designer so that a user must be part of team Deploy-<env> in the current org to be able to deploy to <env>.
  3. We create documentation, and inform and help all orgs to use the new structure.

@ghost
Copy link

ghost commented Dec 16, 2020

Can we call the teams Operations-Test and Operations-Prod to align with the rest of the rbac?

@altinnadmin
Copy link
Member

Can we call the teams Operations-Test and Operations-Prod to align with the rest of the rbac?

That's possible, just a name. The question is if there is a need to give only access to deploy without giving access to "other operations-related stuff" (monitoring, etc?) and if there is value in being able to give access to just a specific test envionment (ATx, YT, a "new AT5" for training, etc.

@lvbachmann, what do you think?

@lvbachmann lvbachmann added the status/ready-for-dev Status: Used for issues that are ready for development. Has been through grooming. label Dec 16, 2020
@lvbachmann lvbachmann removed the status/insight-needed Status: This issue should be verified through gathering insight from users before analysis starts. label Dec 16, 2020
@lvbachmann lvbachmann modified the milestones: 2020-Q4, 2021 - W3-4 Dec 16, 2020
@lvbachmann lvbachmann modified the milestones: 2021 - W3-4, 2021 - W5/6 Feb 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Used by zenhub to identify the epics that group issues. kind/analysis Used when an issue needs to be analysed before it becomes a user story. solution/studio/designer Issues related to the Altinn Studio Designer solution. status/ready-for-dev Status: Used for issues that are ready for development. Has been through grooming.
Projects
None yet
Development

No branches or pull requests

3 participants