Skip to content

Commit b2748f6

Browse files
p7novandreyaksenov
andauthored
Managing cluster users and roles in TCM (#4423)
Resolves #4317 Co-authored-by: Andrey Aksenov <38073144+andreyaksenov@users.noreply.github.com>
1 parent dbee43e commit b2748f6

10 files changed

+138
-23
lines changed

doc/tooling/tcm/index.rst

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ to read data. LDAP authorization is supported as well.
3838

3939
tcm_ui_overview
4040
tcm_connect_clusters
41-
tcm_cluster_config
42-
tcm_cluster_monitoring
43-
tcm_cluster_metrics
41+
tcm_cluster_management/index
4442
tcm_cluster_data_access
4543
tcm_access_control
4644
tcm_audit_log
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
.. _tcm_cluster_management:
2+
3+
Cluster management
4+
==================
5+
6+
.. include:: ../index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
9+
10+
The main goal of |tcm_full_name| is to provide visual tools for managing
11+
various aspects of Tarantool clusters from the browser. See the pages of this section
12+
to learn how to perform various management operations on Tarantool clusters from |tcm|.
13+
14+
.. toctree::
15+
:maxdepth: 1
16+
17+
tcm_cluster_state
18+
tcm_cluster_config
19+
tcm_cluster_users
20+
tcm_cluster_metrics

doc/tooling/tcm/tcm_cluster_config.rst renamed to doc/tooling/tcm/tcm_cluster_management/tcm_cluster_config.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Configuring clusters
44
====================
55

6-
.. include:: index.rst
6+
.. include:: ../index.rst
77
:start-after: ee_note_tcm_start
88
:end-before: ee_note_tcm_end
99

doc/tooling/tcm/tcm_cluster_metrics.rst renamed to doc/tooling/tcm/tcm_cluster_management/tcm_cluster_metrics.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Viewing cluster metrics
44
=======================
55

6-
.. include:: index.rst
6+
.. include:: ../index.rst
77
:start-after: ee_note_tcm_start
88
:end-before: ee_note_tcm_end
99

doc/tooling/tcm/tcm_cluster_monitoring.rst renamed to doc/tooling/tcm/tcm_cluster_management/tcm_cluster_state.rst

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
.. _tcm_cluster_monitoring:
1+
.. _tcm_cluster_state:
22

3-
Cluster monitoring
4-
==================
3+
Viewing cluster state
4+
=====================
55

6-
|tcm_full_name| provides means for monitoring various aspects of connected clusters,
6+
.. include:: ../index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
9+
10+
|tcm_full_name| provides a visual interface for checking various aspects of connected clusters,
711
such as:
812

913
* topology
@@ -12,17 +16,17 @@ such as:
1216
* data distribution
1317
* Tarantool versions
1418

15-
Cluster monitoring tools are available on the **Cluster** > **Stateboard** page.
19+
Cluster state information is available on the **Cluster** > **Stateboard** page.
1620

17-
.. _tcm_cluster_monitoring_topology:
21+
.. _tcm_cluster_state_topology:
1822

1923
Cluster topology
2024
----------------
2125

2226
The cluster topology is displayed on the **Stateboard** page in one of two forms:
2327
a list or a graph.
2428

25-
.. _tcm_cluster_monitoring_topology_list:
29+
.. _tcm_cluster_state_topology_list:
2630

2731
List view
2832
~~~~~~~~~
@@ -37,7 +41,7 @@ to filter the instances with the selected versions and states.
3741

3842
To switch to the list view, click the list button on the right of the search bar on the **Stateboard** page.
3943

40-
.. _tcm_cluster_monitoring_topology_graph:
44+
.. _tcm_cluster_state_topology_graph:
4145

4246
Graph view
4347
~~~~~~~~~~
@@ -49,7 +53,7 @@ which is helpful for larger clusters.
4953

5054
To switch to the graph view, click the graph button on the right of the search bar on the **Stateboard** page.
5155

52-
.. _tcm_cluster_monitoring_topology_group:
56+
.. _tcm_cluster_state_topology_group:
5357

5458
Instance grouping
5559
~~~~~~~~~~~~~~~~~
@@ -66,7 +70,7 @@ you see if issues happen in a specific data center or server.
6670
To change the instance grouping, click **Group by** in the **Actions** menu on the **Stateboard** page.
6771
Then add or remove grouping criteria.
6872

69-
.. _tcm_cluster_monitoring_topology_filters:
73+
.. _tcm_cluster_state_topology_filters:
7074

7175
Filtering
7276
~~~~~~~~~
@@ -81,7 +85,7 @@ at the top. It has predefined filters that select:
8185

8286
To display all instances, delete the filter applied in the search bar.
8387

84-
.. _tcm_cluster_monitoring_instance_details:
88+
.. _tcm_cluster_state_instance_details:
8589

8690
Instance details
8791
----------------
@@ -104,10 +108,10 @@ find:
104108
Additionally, on the instance details page there is a terminal in which you can execute
105109
arbitrary Lua code on the instance.
106110

107-
.. _tcm_cluster_monitoring_urls:
111+
.. _tcm_cluster_state_urls:
108112

109-
Additional monitoring services
110-
------------------------------
113+
Linked external services
114+
------------------------
111115

112116
When you :ref:`connect a cluster <tcm_connect_clusters>` to |tcm|, you can specify
113117
URLs of external services linked to this cluster. For example, this can be a Grafana
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
.. _tcm_cluster_users:
2+
3+
Managing cluster users and roles
4+
================================
5+
6+
.. include:: ../index.rst
7+
:start-after: ee_note_tcm_start
8+
:end-before: ee_note_tcm_end
9+
10+
|tcm_full_name| provides a visual interface for managing Tarantool users and roles
11+
on connected clusters.
12+
13+
.. note::
14+
15+
This page describes management of :ref:`Tarantool users and roles <access_control>`
16+
on instances of connected clusters. To learn to manage |tcm| users, see :ref:`tcm_access_control`.
17+
18+
The :ref:`Tarantool access model <access_control>` defines user access to entities
19+
inside a single instance. Thus, to create or alter a cluster-wide user or role, you need to
20+
do this on all cluster instances. In replication clusters, changes in access model
21+
are possible only on read-write instances (replica set leaders). Changes made on
22+
a leader instance are propagated to all instances of its replica set automatically.
23+
24+
Operations on the cluster access model are possible only if the :ref:`user <tcm_connect_clusters_parameters_tarantool>`
25+
that |tcm| uses to connect to the cluster has the privileges to manage users and roles.
26+
27+
You can also manage Tarantool users and roles from |tcm| using the Lua API
28+
as described in :ref:`access_control`. To do this, connect to instance consoles
29+
from the **Terminal** tab of the instance page.
30+
31+
.. _tcm_cluster_users_users:
32+
33+
Managing cluster users
34+
----------------------
35+
36+
The tools for managing cluster users are located on the **Users** tab
37+
of the :ref:`instance page <tcm_ui_instance>`.
38+
39+
.. important::
40+
41+
To ensure the access model consistency across the cluster, repeat all user
42+
management operations on all read-write instances of the cluster.
43+
44+
To create a user on a cluster:
45+
46+
#. Go to **Stateboard**.
47+
#. Find a replica set leader in the instances list and click it to open the instance page.
48+
#. Go to the **Users** tab and click **Add user**.
49+
50+
To edit or delete a user, click the **Edit** or **Delete** button against the username
51+
in the **Users** table.
52+
53+
To edit a user's privileges:
54+
55+
#. Click the lock icon against the username in the **Users** table.
56+
#. In the privileges dialog:
57+
58+
- Click **Add** to grant privileges
59+
- Click **Revoke** (the trash bin icon) to revoke a privilege
60+
61+
.. _tcm_cluster_users_roles:
62+
63+
Managing cluster roles
64+
----------------------
65+
66+
The tools for managing cluster roles are located on the **Users** tab
67+
of the :ref:`instance page <tcm_ui_instance>`.
68+
69+
.. important::
70+
71+
To ensure the access model consistency across the cluster, repeat all role
72+
management operations on all read-write instances of the cluster.
73+
74+
To create a role on a cluster:
75+
76+
#. Go to **Stateboard**.
77+
#. Find a replica set leader in the instances list and click it to open the instance page.
78+
#. Go to the **Users** tab and click **Add role**.
79+
80+
To delete a role, click the **Delete** button against the role name in the **Roles** table.
81+
82+
To edit a role's privileges:
83+
84+
#. Click the lock icon against the role name in the **Roles** table.
85+
#. In the privileges dialog:
86+
87+
- Click **Add** to grant privileges
88+
- Click **Revoke** (the trash bin icon) to revoke a privilege

doc/tooling/tcm/tcm_connect_clusters.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ Connection parameters
3232
When connecting a cluster to |tcm|, you need to provide two sets of connection parameters:
3333
for the cluster instances and for the centralized configuration storage.
3434

35+
.. _tcm_connect_clusters_parameters_storage:
36+
3537
Configuration storage connection
3638
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3739

@@ -50,6 +52,8 @@ provide the corresponding encryption configuration: keys, certificates, and othe
5052
parameters. For the complete list of parameters, consult the `etcd documentation <https://etcd.io/docs/v3.5/op-guide/configuration/#security>`__
5153
or Tarantool :ref:`enterprise-iproto-encryption`.
5254

55+
.. _tcm_connect_clusters_parameters_tarantool:
56+
5357
Cluster connection
5458
~~~~~~~~~~~~~~~~~~
5559

doc/tooling/tcm/tcm_releases/tcm_1.0.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ the selected cluster:
3939
From the stateboard, you can navigate to specific instances to view their details
4040
or connect to their interactive consoles.
4141

42-
To learn more, see :ref:`tcm_cluster_monitoring`.
42+
To learn more, see :ref:`tcm_cluster_state`.
4343

4444
.. _tcm_releases_1_0_config:
4545

doc/tooling/tcm/tcm_releases/tcm_1.2.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ cluster through the |tcm| web interface.
2424
The tools for managing Tarantool users on a cluster instance are located on the
2525
**Users** tab of the instance page.
2626

27-
Learn more about Tarantool access model in :ref:`access_control`.
27+
Learn more about managing Tarantool users from |tcm| in :ref:`tcm_cluster_users`.
2828

2929
.. _tcm_releases_1_2_migrations:
3030

doc/tooling/tcm/tcm_ui_overview.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ On this page, you can:
124124
by clicking instance names in the cluster topology list
125125
- start and stop instances (in the development mode).
126126

127-
Learn more about using the cluster stateboard in :ref:`tcm_cluster_monitoring`.
127+
Learn more about using the cluster stateboard in :ref:`tcm_cluster_state`.
128128

129129
.. _tcm_ui_instance:
130130

@@ -144,7 +144,8 @@ It provides a set of tabs for performing actions on the selected Tarantool insta
144144
or as a console output of ``box.cfg``, ``box.info``, and other built-in functions
145145
- **SQL** and **Terminal** tabs: run SQL and Lua commands on the instance
146146
- **Logs** tab: view instance logs
147-
- **Slab stats** tab: view :ref:`slab allocator <memtx-memory>` statistics
147+
- **Slabs** tab: view :ref:`slab allocator <memtx-memory>` statistics
148+
- **Users** tab: manage Tarantool :ref:`users and roles <tcm_cluster_users>` on the instance
148149
- **Funcs**: manage and call stored functions
149150
- **Metrics**: view instance metrics
150151

0 commit comments

Comments
 (0)