Skip to content

Commit 77c0c24

Browse files
(DOCSP-5607): SaaS data source permission model updates (#184)
* (DOCSP-5607): SaaS data source permission model updates * Removing reference to reader role * Removing weird interaction between dashboard owners and ds viewers * Updates per Steve's feedback * quick fixes * Updates per Tom's feedback * Cleanup
1 parent 8bfe87a commit 77c0c24

9 files changed

+137
-87
lines changed

source/build-charts.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _build-charts:
2+
13
============
24
Build Charts
35
============

source/dashboard-permissions.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ following dashboard permissions are available:
4242
* - Owner
4343
- Has all privileges of ``Author`` and can also
4444
:ref:`manage permissions <dashboard-permissions>` on the
45-
dasbhoard and :ref:`delete the dashboard
45+
dashboard and :ref:`delete the dashboard
4646
<dashboard-delete>`.
4747

4848
The creator of the dashboard automatically has the

source/dashboards.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dashboards:
2+
13
==========
24
Dashboards
35
==========
@@ -135,7 +137,7 @@ Fullscreen View
135137
---------------
136138

137139
|charts| provides a fullscreen view for dashboards. In this view,
138-
|charts| hides the main navigation bar and exapands the dashboard to
140+
|charts| hides the main navigation bar and expands the dashboard to
139141
show the title, description, time of last modification, and charts in
140142
the entire space of the screen.
141143

source/data-source-permissions.txt

Lines changed: 113 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,25 @@
44
Data Source Permissions
55
=======================
66

7-
Data source permissions dictate which users in your |service|
8-
project have access to the data source and the actions they can perform
9-
on the data source. The following data source permissions are
10-
available:
7+
.. default-domain:: mongodb
8+
9+
.. contents:: On this page
10+
:local:
11+
:backlinks: none
12+
:depth: 1
13+
:class: singlecol
14+
15+
Data source permissions dictate which actions users in your |service|
16+
project can perform on the data source. You can also set data source
17+
permissions to make a data source only visible to a subset of users.
18+
19+
|service| automatically grants data source permissions based on a
20+
user's :atlas:`Atlas role </reference/user-roles/>`. You must
21+
manually :ref:`grant permissions <data-source-set-permissions>`
22+
to users with the ``Project Read Only`` |service| role to allow
23+
those users to view charts which use a particular data source.
24+
25+
The following table describes the data source permission levels:
1126

1227
.. _data-source-roles:
1328

@@ -17,25 +32,69 @@ available:
1732

1833
* - Permission
1934
- Description
35+
* - .. data:: Viewer
36+
- Can view any chart on a dashboard that uses the data source.
37+
You can grant this permission to
38+
:ref:`specific users <data-source-specific-access>` or
39+
:ref:`everyone in the Atlas project
40+
<data-source-access-everyone>` for the given data source.
41+
42+
Data source ``Viewers`` cannot see the data source in the
43+
:ref:`Data Sources list <data-sources-view>`, or
44+
in the :guilabel:`Data Source` dropdown in the
45+
:ref:`Chart Builder <build-charts>`.
46+
47+
* - .. data:: Author
48+
- Inherits all actions from ``Viewer`` and can also
49+
create and edit charts using the data source.
50+
51+
Users who have one of the following
52+
:atlas:`Atlas roles </reference/user-roles/>` automatically have
53+
the ``Author`` permission on all data sources:
54+
55+
- ``Project Data Access Read Only``
56+
- ``Project Data Access Read / Write``
57+
- ``Project Data Access Admin``
58+
59+
.. note::
60+
61+
If you create a data source and do not have the
62+
``Project Owner``
63+
:atlas:`Atlas role </reference/user-roles/>`, you will
64+
not be an ``Owner`` of that data source. The ``Owner``
65+
data source permission is reserved for users with the
66+
``Project Owner`` |service| role.
67+
68+
* - .. data:: Owner
69+
- Inherits all permissions from ``Author`` and can also
70+
:ref:`manage all aspects of the data source
71+
<manage-existing-data-sources>`.
72+
73+
Users with the ``Project Owner``
74+
:atlas:`Atlas role </reference/user-roles/>` automatically
75+
have the ``Owner`` permission on all data sources.
76+
77+
Modify Data Source Authors and Owners
78+
-------------------------------------
79+
80+
|service| automatically assigns data source permissions to users based
81+
on their :atlas:`Atlas roles </reference/user-roles/>`. As such, to
82+
modify data source :data:`Authors <Author>` and :data:`Owners <Owner>`,
83+
you must do so through the |service| :guilabel:`Access Management` page.
84+
85+
To access the |service| :guilabel:`Access Management`:
86+
87+
1. Click :guilabel:`Atlas` at the top-left of |charts-short| to return
88+
to your |service| :guilabel:`Clusters` view.
2089

21-
* - Reader
22-
- Can access the data source by viewing existing charts or
23-
creating new charts which use the data source.
90+
#. Click :guilabel:`Access Management` in the left navigation.
2491

25-
* - Manager
26-
- Has all privileges of ``Reader`` and can also
27-
:ref:`modify the alias <mod-data-source-alias>` of a data
28-
source.
92+
#. Click :guilabel:`Edit Permissions` for a user whose permissions you
93+
wish to change.
2994

30-
* - Owner
31-
- Has all privileges of ``Manager`` and can also
32-
:ref:`manage permissions <mod-data-source-permissions>` on the
33-
data source and :ref:`remove the data source
34-
<charts-remove-data-source>`.
95+
#. Select new permission levels in the dropdown.
3596

36-
The creator of the data source automatically has the
37-
``Owner`` role. The creator cannot be removed from the list of
38-
data source users and thier ``Owner`` role cannot be modified.
97+
#. Click the green check mark to save your changes.
3998

4099
View Data Source Permissions
41100
----------------------------
@@ -58,19 +117,16 @@ permissions:
58117
* - Icon
59118
- Description
60119

61-
* - :icon:`eye` Eye Icon
62-
- You have ``Reader`` permission.
63-
64120
* - :icon:`globe` Globe Icon
65-
- You have either ``Manager`` or ``Owner`` permission and
66-
:ref:`Everyone <data-source-access-everyone>` in your |service|
67-
`project <https://docs.atlas.mongodb.com/tutorial/manage-projects/>`__
121+
- You have either ``Author`` or ``Owner`` permission and
122+
:ref:`Everyone <data-source-access-everyone>` in your
123+
:atlas:`Atlas project </tutorial/manage-projects/>`
68124
has some level of access to the data source.
69125

70126
* - :icon:`users` Group Icon
71-
- You have either ``Manager`` or ``Owner`` permission and
127+
- You have either ``Author`` or ``Owner`` permission and
72128
:ref:`additional users <data-source-specific-access>` have
73-
some level of access to the data source.
129+
``Viewer`` permission on the data source.
74130

75131
* - :icon:`lock` Lock Icon
76132
- You have ``Owner`` permission and no other user has
@@ -81,10 +137,13 @@ permissions:
81137
Set Data Source Permissions
82138
---------------------------
83139

84-
You can set data source permissions when you first
85-
:ref:`add a data source <add-data-source>`, or you can
86-
:ref:`modify permissions <mod-data-source-permissions>` on a data
87-
source which has already been created.
140+
If you are a data source :data:`Owner`, you can:
141+
142+
- Set data source permissions when you first
143+
:ref:`add a data source <add-data-source>`, and
144+
145+
- :ref:`Modify permissions <mod-data-source-permissions>` on a data
146+
source which has already been created.
88147

89148
Refer to the following sections for instructions on granting
90149
:ref:`specific users <data-source-specific-access>` permissions on a
@@ -97,30 +156,24 @@ data source and granting
97156
Specific User Access
98157
~~~~~~~~~~~~~~~~~~~~
99158

100-
To grant specific users from your |service| project permissions on
101-
your data source:
159+
.. note::
160+
161+
You can only share data sources with users who are members of
162+
the |service| project associated with your |charts-short|
163+
instance.
164+
165+
To grant specific users with the ``Project Read Only``
166+
:atlas:`Atlas role </reference/user-roles/>` permission to view
167+
charts which use your data source:
102168

103169
1. Search for the desired user using the search bar directly above
104170
where the data source users are listed. You can search for users
105171
by their username or email address.
106172

107-
.. note::
108-
109-
You can only share data sources with users who are members of
110-
the |service| project associated with your |charts-short|
111-
instance.
112-
113173
#. Click the desired user to add them to the permissions list.
114174

115-
#. Use the dropdown to the right of the user's name to assign the
116-
appropriate :ref:`role <data-source-roles>`.
117-
118175
#. Repeat steps 1-3 for each user you wish to grant data source access.
119176

120-
.. figure:: /images/charts/data-source-permissions-saas.gif
121-
:alt: Adding a data source user
122-
:figwidth: 721px
123-
124177
To remove access for a user you have added, click the trash can icon
125178
to the right of the user's name.
126179

@@ -129,28 +182,21 @@ to the right of the user's name.
129182
Access for All Users
130183
~~~~~~~~~~~~~~~~~~~~
131184

132-
.. note::
133-
134-
When you create a data source, |service| assigns the
135-
:ref:`Reader <data-source-roles>` permission to every user in your
136-
|service| project by default.
185+
You can the grant the :data:`Viewer` permission to all users with the
186+
``Project Read Only`` :atlas:`Atlas role </reference/user-roles/>`.
187+
This allows all users to view any chart on a dashboard that uses that
188+
data source.
137189

138-
To grant all users in your |service| project permissions on your data
139-
source:
190+
To grant all users the :data:`Viewer` permission, toggle the switch on
191+
the right-side of the :guilabel:`Everyone in <Project Name>` user to
192+
``On``.
140193

141-
1. Toggle the switch on the right-side of the :guilabel:`Everyone in
142-
<Project Name>` user to ``On``.
143-
144-
#. Select the :ref:`role <data-source-roles>` to apply to all
145-
users in your |service| project.
146-
147-
.. note::
194+
.. note::
148195

149-
If permissions are assigned to both :guilabel:`Everyone` in your
150-
project and a specific user, the user's specific permissions
151-
take precedence over the permissions set to :guilabel:`Everyone`.
196+
If you enable the :data:`Viewer` permission for everyone in your
197+
project, a user's specific permissions take precedence over the
198+
permissions set to :guilabel:`Everyone`.
152199

153-
For example, if :guilabel:`Everyone` has the ``Manager``
154-
permission on a data source and a specific user Alice has the
155-
``Reader`` permission, Alice's effective permission level is
156-
``Reader``.
200+
For example, if you grant :data:`Viewer` to all users and
201+
the :data:`Author` permission to a user named Alice, Alice's
202+
effective permission level is ``Author``.

source/data-sources.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Data Sources
1717
Data sources in |charts| reference a :ref:`collection <collections>`
1818
or :ref:`view <3.4-reference-views>` in your MongoDB
1919
deployment. The fields in that collection or view can be used
20-
to contruct a chart. When building a chart, you will need to specify
20+
to construct a chart. When building a chart, you will need to specify
2121
the data source that the chart uses.
2222

2323
To view, add, or remove data sources, click :guilabel:`Data Sources` on
@@ -122,9 +122,9 @@ Add a Data Source
122122

123123
#. Set the :ref:`permissions <permission-model>` for the data source.
124124

125-
By default, |service| assigns the :ref:`Reader <data-source-roles>`
126-
permission to every user in the project. To change a user's permission,
127-
search for the user by name or email address using the search bar.
125+
You can assign the :data:`Viewer` permission to every user in the
126+
project. To assign a user a specific permission level, search for
127+
the user by name or email address using the search bar.
128128

129129
.. note::
130130

source/embedding-charts.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.. _embedding-charts:
22

3-
========================================
4-
Embedding Charts in Your Web Application
5-
========================================
3+
====================================
4+
Embed Charts in Your Web Application
5+
====================================
66

77
.. default-domain:: mongodb
88

source/filter-documents.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Filter Documents in the Visualization
1515
Filters display a subset of results that match a given criteria.
1616
|charts| provides two ways to filter your data. You can either use:
1717

18-
- The :ref:`Filter Tab <filter-tab>` in the Chart Builter, or
18+
- The :ref:`Filter Tab <filter-tab>` in the Chart Builder, or
1919

2020
- The :ref:`Query Bar <query-bar>` above the chart display.
2121

source/manage-dashboards.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ Resize a Chart
150150
~~~~~~~~~~~~~~
151151

152152
To resize a chart, hover over the chart and drag the bottom-right
153-
corner until the appearing blue rectangle reaches the deired size.
153+
corner until the appearing blue rectangle reaches the desired size.
154154

155155
.. figure:: /images/charts/resize-chart2.gif
156156
:figwidth: 750px
@@ -238,6 +238,6 @@ To delete a dashboard:
238238
Modify Dashboard Permissions
239239
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
240240

241-
A dashbaord ``Owner`` can modify which users can access the dashboard
241+
A dashboard ``Owner`` can modify which users can access the dashboard
242242
and their respective permission levels. For more information, refer to
243243
the :doc:`Dashboard Permissions <dashboard-permissions>` page.

source/manage-data-sources.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ Manage Existing Data Sources
1313
:depth: 1
1414
:class: singlecol
1515

16-
|charts| users can modify certain properties of a data source provided
17-
they have appropriate :ref:`permissions <permission-model>` on the
18-
target data source.
16+
Users who are :data:`Owners <Owner>` of a data source can
17+
modify certain properties of that data source. This page outlines the
18+
modifications data source ``Owners`` can make.
1919

2020
.. _mod-data-source-alias:
2121

2222
Modify Data Source Alias
2323
------------------------
2424

25-
A data source ``Manager`` or ``Owner`` can modify the :guilabel:`Alias`
25+
A data source ``Owner`` can modify the :guilabel:`Alias`
2626
of that data source. To modify a data source :guilabel:`Alias`:
2727

2828
1. Hover over the row's :guilabel:`Alias` field.
@@ -35,11 +35,11 @@ of that data source. To modify a data source :guilabel:`Alias`:
3535

3636
.. _data-source-embedding:
3737

38-
Enable or Disable Embedding
39-
---------------------------
38+
Modify Embedding Settings
39+
-------------------------
4040

41-
As a data source ``Owner``, you can allow other people to
42-
:ref:`embed charts <embedding-charts>` which use your data source
41+
A data source ``Owner`` can allow other people to
42+
:ref:`embed charts <embedding-charts>` which use the data source
4343
in external web pages. In order to allow a chart to be embedded
4444
in an external web page, you must enable embedding both on the
4545
data source and the individual chart.

0 commit comments

Comments
 (0)