Zones for Multitenancy

Problem Statement

You have one or more JIRA projects, which you want to your customers to have access too. It is important that your customers don't have access to each others issues. A customer may have different JIRA users and all of the customers JIRA users should be able to work with the same issues. Every Issue created by a customer user is automatically shared with all users of the customer.

Solution

Each of your Customers/Tenants is a Zone. For every of your JIRA projects you can specify if you want a customer to have access to it or not.

Customers can only see issues that they created or that were set to their zone.

You and your co workers are able to create issues and set the zone to any customer.

Benefits

  • Intuitive zones-UI for managing customers
  • Use selectbox or autocomplete to select members of a customer
  • Secure and easy to use issue visibility solution
  • Configure Once - Use Everywhere. No need to change multiple places when there are new or leaving customer employees
  • Multi Project Support

Configuration

For details on how to configure Zones Plugin take a look at the Zones Administration Guide. In each configuration section below we provide links to the documentation on how to configure.

Customfields

Customfield NameCustomfield TypeConfiguration
CustomerZone Field 
Primary Customer ContactZone User PickerDepends on Customer, No Zone Role restriction

You may want to take a look at:

Edit and Selectable Zones Permissions

If you want to be able to differentiate between customers and users in a JIRA project you will need an additional JIRA project role customer.

JIRA Project RoleEdit PermissionZones in Zone Field
AdministratorsAllowAll Zones
DevelopersDenyOwn Zones
UsersDeny

Own Zones

You may want to take a look at:

Zone Role Mapping

JIRA Project RoleZone Role "User"
Administrators-
Developers-
UsersMap

You may want to take a look at:

Dashboards and Filters

You can probably reuse most of your already defined filters. You just need to replace your currently used customer selector with the following snippet:

Customer in myZones()

You may want to take a look at:

Customer/Zone management

You may want to take a look at:

Issue Security

Default security level needs to allow project role Developers and group custom field Customer.

You may want to take a look at: