Skip to content

Commit 316861b

Browse files
Merge pull request apache#145 from shapeblue/proj-roleBased-users
Modified project details - role based users in projects
2 parents caf374e + 21a0334 commit 316861b

File tree

1 file changed

+50
-46
lines changed

1 file changed

+50
-46
lines changed

source/adminguide/projects.rst

Lines changed: 50 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,38 @@ You can configure CloudStack to allow any user to create a new project,
3232
or you can restrict that ability to just CloudStack administrators. Once
3333
you have created a project, you become that project’s administrator, and
3434
you can add others within your domain to the project. CloudStack can be
35-
set up either so that you can add people directly to a project, or so
36-
that you have to send an invitation which the recipient must accept.
37-
Project members can view and manage all virtual resources created by
38-
anyone in the project (for example, share VMs). A user can be a member
39-
of any number of projects and can switch views in the CloudStack UI to
40-
show only project-related information, such as project VMs, fellow
41-
project members, project-related alerts, and so on.
42-
43-
The project administrator can pass on the role to another project
44-
member. The project administrator can also add more members, remove
45-
members from the project, set new resource limits (as long as they are
35+
set up to either add people directly to a project, or to send an
36+
invitation which the recipient must accept. Project members can view
37+
and manage all virtual resources created by anyone in the project
38+
(for example, share VMs). A user can be a member of any number of projects
39+
and can switch views in the CloudStack UI to show only project-related information,
40+
such as project VMs, fellow project members, project-related alerts, and so on.
41+
42+
From CloudStack 4.15 onwards, it is possible for a project to have
43+
multiple project administrators and to add/invite specific users of
44+
an account to a project in addition to adding accounts. By means of
45+
Project Roles associated with a user or an account of the project,
46+
it is possible to restrict access of users in a project, i.e., in
47+
addition to account-level roles, one can further restrict access to
48+
operations (or APIs) by associating a project-level role to the
49+
user or account. However, if an account has already been added, one will not
50+
be able to associate a role to a specific user of that account.
51+
52+
**NOTE:** Project Roles work over Account level Roles. If a user/account is
53+
added to a project without a project role, it would imply that the
54+
user / account added will have access to all APIs that are made available
55+
by the Account level role. If there are no specific deny rules in the
56+
project role, it would again fallback onto the account-level role to decide
57+
whether the user has permissions to perform a specific action. It is also to be
58+
noted that Project roles are restrictive in nature, i.e., to say that, one may
59+
not allow a user to perform an operation that is NOT allowed at the Account level.
60+
Even if a rule is added at the project level, allowing such an action, it will not
61+
have any effect as the action will be prohibited by the Account Role.
62+
63+
64+
The project administrator can promote or demote a user in the project.
65+
The project administrator can also add more members, remove members
66+
from the project, set new resource limits (as long as they are
4667
below the global defaults set by the CloudStack administrator), and
4768
delete the project. When the administrator removes a member from the
4869
project, resources created by that user, such as VM instances, remain
@@ -63,7 +84,7 @@ is available to any project in the domain. A project can get access to a
6384
private template if the template’s owner will grant permission. A
6485
project can use any service offering or disk offering available in its
6586
domain; however, you can not create private service and disk offerings
66-
at the project level..
87+
at the project level.
6788

6889

6990
Configuring Projects
@@ -186,7 +207,7 @@ Setting the Global Project Resource Limits
186207
parameter. |Edits parameters|
187208

188209
.. cssclass:: table-striped table-bordered table-hover
189-
210+
190211
+--------------------------+------------------------------------------------------------------------------------------------------------------------------+
191212
| max.project.public.ips | Maximum number of public IP addresses that can be owned by any project in the cloud. See About Public IP Addresses. |
192213
+--------------------------+------------------------------------------------------------------------------------------------------------------------------+
@@ -280,34 +301,19 @@ feature is enabled in the cloud as described in `“Setting
280301
Up Invitations” <#setting-up-invitations>`_. If the invitations feature is
281302
not turned on, use the procedure in Adding Project Members From the UI.
282303

283-
#. Log in to the CloudStack UI.
304+
#. Log in to the CloudStack Primate UI.
284305

285306
#. In the left navigation, click Projects.
286307

287-
#. In Select View, choose Projects.
288-
289308
#. Click the name of the project you want to work with.
290309

291-
#. Click the Invitations tab.
310+
#. Click on the `Add Account to Project` button. This will have 2 tabs, one to add account to the project and the other to add a user to the project. Here, we can specify the:
292311

293-
#. In Add by, select one of the following:
312+
- account or user and/or email id of the user to be invited,
313+
- (Optional) the Role i.e, Admin or Regular that the user is to be added as, defualts to Regular role,
314+
- (Optional) the Project role specifying the list of APIs the user is allowed/ denied access to
294315

295-
#. Account – The invitation will appear in the user’s Invitations tab
296-
in the Project View. See Using the Project View.
297-
298-
#. Email – The invitation will be sent to the user’s email address.
299-
Each emailed invitation includes a unique code called a token
300-
which the recipient will provide back to CloudStack when accepting
301-
the invitation. Email invitations will work only if the global
302-
parameters related to the SMTP server have been set. See
303-
`“Setting Up Invitations” <#setting-up-invitations>`_.
304-
305-
#. Type the user name or email address of the new member you want to
306-
add, and click Invite. Type the CloudStack user name if you chose
307-
Account in the previous step. If you chose Email, type the email
308-
address. You can invite only people who have an account in this cloud
309-
within the same domain as the project. However, you can send the
310-
invitation to any email address.
316+
You can invite only people who have an account in this cloud within the same domain as the project. However, you can send the invitation to any email address.
311317

312318
#. To view and manage the invitations you have sent, return to this tab.
313319
When an invitation is accepted, the new member will appear in the
@@ -332,12 +338,13 @@ Invitations” <#sending-project-membership-invitations>`_.
332338

333339
#. Click the name of the project you want to work with.
334340

335-
#. Click the Accounts tab. The current members of the project are
336-
listed.
341+
#. Click on the `Add Account to Project` button. This will have 2 tabs, one to add account to the project and the other to add a user to the project. Here, we can specify the:
337342

338-
#. Type the account name of the new member you want to add, and click
339-
Add Account. You can add only people who have an account in this
340-
cloud and within the same domain as the project.
343+
- account or user and/or email id of the user to be invited,
344+
- (Optional) the Role i.e, Admin or Regular that the user is to be added as, defualts to Regular role,
345+
- (Optional) the Project role specifying the list of APIs the user is allowed/ denied access to
346+
347+
#. You can add only people who have an account in this cloud and within the same domain as the project.
341348

342349

343350
Accepting a Membership Invitation
@@ -346,11 +353,11 @@ Accepting a Membership Invitation
346353
If you have received an invitation to join a CloudStack project, and you
347354
want to accept the invitation, follow these steps:
348355

349-
#. Log in to the CloudStack UI.
356+
#. Log in to the CloudStack’s Primate UI.
350357

351358
#. In the left navigation, click Projects.
352359

353-
#. In Select View, choose Invitations.
360+
#. Click on the Project Invitations button
354361

355362
#. If you see the invitation listed onscreen, click the Accept button.
356363

@@ -410,12 +417,9 @@ and resources.
410417

411418
- Click the Accounts tab to view and manage project members. If you
412419
are the project administrator, you can add new members, remove
413-
members, or change the role of a member from user to admin. Only
414-
one member at a time can have the admin role, so if you set
415-
another user’s role to admin, your role will change to regular
416-
user.
420+
members, or change the role of a member from user to admin or vice versa.
417421

418-
- (If invitations are enabled) Click the Invitations tab to view and
422+
- (If invitations are enabled) Click the Invitations button to view and
419423
manage invitations that have been sent to new project members but
420424
not yet accepted. Pending invitations will remain in this list
421425
until the new member accepts, the invitation timeout is reached,

0 commit comments

Comments
 (0)