Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to limit the project access of a user

Lene Lykke Erichsen September 12, 2019

Hi! 

My company recently started using Jira. We have one internal project, but we also want to create project for our customers (at the same platform as our company project). Is it possible to add a user to our Jira account (xxx.atlassian.net) and then restrict the user's access to only one project?

We have tried restricting the access, but it doesn't work and the user now have access to all Jira projects we have created.

 

Thanks, Lene

4 answers

3 accepted

2 votes
Answer accepted
Joe Pitt
Community Champion
September 12, 2019

Here is my answer to your question. The rest are suggestions to avoid future problems you may find useful since you're new

JIRA permissions

First, by default JIRA has a horrible permission scheme that violates security best practices by allowing everyone that can logon to do just about everything.

JIRA works by GRANTING access. You can't restrict access. By default, it grants access to the group used to logon (see Global permissions to see the "can use" groups and admin groups).  This is where users are getting their access.

 

  1. The FIRST thing you need to do to get control is to remove any groups with logon privileges from the permission scheme unless you absolutely want everyone to have that permission.
  2. Then I suggest you setup Project Roles for the various functions like, tester, QA, Browse Only, etc.
  3. By using project roles, one permission scheme will cover all projects. The project admin controls project role membership
  4. If the project leads want everyone that can logon access to the project they can add the logon group to a project role with the desired permissions.

 

This may be a big effort, but it will pay off down the road by making it easy to control access.

 

Most of the 'old timers' use project roles. It meets the best practice for security and gives complete control to the project lead for access to their project. JIRA comes with many project roles, but you can add more if you have a special need.

 

Do not delete issues. When you delete it is GONE. Hardly a week goes by without someone wanting to restore an issue. Deleting issues will come back and bite you when it is the most inconvenient. I suggest closing with a resolution value of Deleted anything you want to delete. I implement a special transition only the project lead can execute and it requires filling in a reason field from a select list (such as entered in error, OBE, Duplicate, Other) and explanation text.

Deleting issues destroys historical data. Missing issue numbers will eventually cause a question about what it was and why was it deleted even if it was done properly. Missing data always brings in the question of people hiding something that may have looked bad.

 

The only viable way to restore an issue is to create a new instance of JIRA and restore a backup that has the issues. Then export them to a csv file and import them to your production instance. You will lose the history.

Do not delete users

Users should be made inactive not deleted. JIRA uses a pointer to the user’s DB entry to display user information. If you delete a user when you open a JIRA issue the user worked on anywhere the user that would be displayed will cause a SQL error. Even if the user never logged on or were assigned a ticket the history of the ticket will get an error when you display it.

Resolution Field

Resolution Field can't be made optional. DO NOT put the field on any screen except the one presented in the transition where it is to be set. Resolution is a special field in JIRA. It has an initial value of ‘Unresolved’, which means the field is NULL in the database. It is ALWAYS required when it appears on the screen. ONLY display it on the screen during a transition to the status where you want it set. Once it is set the issue ID will appear with as strikethrough. If you re-open an issue the transition from closed to reopen needs to have a post function to CLEAR the resolution field to set it back to Unresolved.

Limiting resolution options

Use the jira.field.resolution.include workflow property

for exampl jira.field.resolution.include =1,2,3  where 1,2,3 are the resolution ids

https://confluence.atlassian.com/adminjiraserver071/workflow-properties-802592825.html

Put JIRA under CR

 I STRONGLY suggest you treat JIRA like a production system, put it under change control (CR), and track all requests for any updates, especially new projects, new custom fields, changes in any of the schemes, etc. That way at least the reporter will know when the actions happen and you'll have a audit trail. I've worked many similar tools to JIRA and too many times no one knows anything about why they are configured why they are because there is no requirements or CR. Things are just done based on emails that have disappeared and hallway or lunch conversations.  

If you don't already have a separate change control tool create a JIRA project. I use a basic workflow with a few custom issue types:

Custom field: with a select list of create, update. The description would be to create a new field or modify a current select list, buttons, etc. of a current one

Create Project: I would have text fields for issue types, custom fields, select list/values, per issue types

New Issue Type: description would include all fields and workflow desired.

Workflow: Select list of Create, update, delete. Description of what needed.

Other: Select list of Notification Scheme, permission scheme, field configuration, other

This should get you started. If you aren't familiar with your CR process there should be a configuration management person to talk to.

The goal is to manage what you do and be able to track who asked for what. For instance, if someone wants a new custom field you want to check to see if there already is one you can use that they don't know about. JIRA will let you have multiple custom fields with the same name, which will just confuse you.

 

Notifications

I have found the default notification scheme is overkill everywhere I've setup JIRA. If you haven't setup the default user profile to exclude sending updates they make I suggest you change the default and have all the users modify their profile.  Talk to your users to see what they want. Most reporters want create, close, and maybe one or two other milestones statuses depending on the issue type. You can easily create custom events to put in the transition post functions for those events. If you allow people other than the assignee to work on the issue the assignee may want notification of things they do, especially update and comment. 

Lene Lykke Erichsen September 12, 2019

Thank you! :-)

1 vote
Answer accepted
Ollie Guan
Community Champion
September 12, 2019

Hello @Lene Lykke Erichsen ,

It seems that you need to modify the permissions scheme of other non-public projects, which has reached the goal of blocking these users.

https://confluence.atlassian.com/display/ADMINJIRACLOUD/Managing+project+permissions

0 votes
Answer accepted
elenushhh
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 12, 2019

Hello @Lene Lykke Erichsen 

Yesterday I've advice someone to work with groups. Check this post: https://community.atlassian.com/t5/Jira-questions/How-to-ristrict-users/qaq-p/1173175#M374374

thanks.

0 votes
barcala
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
December 27, 2021

Hello:

In my opinion, handle this in Jira Cloud is a bit complex, but I have found this document which clarifies it a bit: https://confluence.atlassian.com/cloudkb/how-to-restrict-project-access-for-teams-in-jira-cloud-953142266.html

The idea is to define a role for browsing projects (and to remove the default one which allows anyone to do it) and, after doing this, you must add people (or groups) to this role for each project.  

Suggest an answer

Log in or Sign up to answer