Skip to content

Commit 7af30ec

Browse files
authored
Merge branch 'main' into limits
2 parents afbc2fe + 717903c commit 7af30ec

File tree

115 files changed

+672
-413
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+672
-413
lines changed

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ On your computer, follow these steps to setup a local repository for working on
9090
.. code:: bash
9191
9292
$ git clone https://github.com/YOUR_ACCOUNT/cloudstack-documentation.git
93-
$ cd cloudstack-docs-install
93+
$ cd cloudstack-documentation
9494
$ git remote add upstream https://github.com/apache/cloudstack-documentation.git
9595
$ git checkout main
9696
$ git fetch upstream

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ docutils==0.20.1
22
Sphinx==7.2.6
33
sphinx-rtd-theme==2.0.0
44
readthedocs-sphinx-ext==2.2.5
5-
Jinja2==3.1.3
5+
Jinja2==3.1.5
80.6 KB
Loading
58.6 KB
Loading
29.1 KB
Loading
51.8 KB
Loading
93.6 KB
Loading
103 KB
Loading

source/adminguide/accounts.rst

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ For GitHub, please follow the instructions mentioned here `"Setting up OAuth 2.0
676676
In any OAuth 2.0 configuration admin has to use the redirect URI "http://<management server IP>:<port>/#/verifyOauth"
677677

678678
.. Note:: [Google OAuth 2.0 redirect URI] :
679-
Google OAuth 2.0 configuration wont accept '#' in the URI, please use "http://<management server Domain>:<port>/?verifyOauth"
679+
Google OAuth 2.0 configuration won't accept '#' in the URI, please use "http://<management server Domain>:<port>/?verifyOauth"
680680
Google does not accept direct IP address in the redirect URI, it must be a domain. As a workaround one can add the management
681681
server IP to host table in the local system and assign a domain, something like "management.cloud". In that redirect URI looks like
682682
"http://management.cloud:8080/?verifyOauth"
@@ -884,3 +884,76 @@ password for a user:
884884

885885
.. figure:: /_static/images/reset-password.png
886886
:align: center
887+
888+
Using API Key and Secret Key based Authentication
889+
-------------------------------------------------
890+
Users can generate API key and Secret key to directly access CloudStack APIs.
891+
This authenctication method is used for programatically calling CloudStack APIs and thus helps in automation.
892+
The API key uniquely identifies the Account, while the Secret key is used to generate a secure singnature.
893+
When making an API call, the API key and signature are included along with the command and other parameters,
894+
and sent to the CloudStack API endpoint. For detailed information, refer to the CloudStack's Programmer Guide.
895+
896+
Disabling Api Key and Secret Key based Access
897+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
898+
Root Administrators may choose to Disable Api key based access for certain Users, Accounts or Domains.
899+
Or the Administrator may choose to Disable Api Key based access globally and allow only for certain users.
900+
This could be particularly useful in cases where external authorization mechanisms like LDAP, SAML or OAuth2 are used,
901+
as then Api key based authorization is the only means for automation.
902+
This gives control to the Admin over who is allowed to run automation.
903+
904+
Api key based access is enabled by default but it can be disabled (or enabled) at different granularities:
905+
906+
1. Users
907+
908+
Setting for a User can be changed through the Api Key Access field in the Edit User form, visible only to the Root Administrator.
909+
Three values are possible: Disable, Enable and Inherit. Inherit means that the User will inherit whatever value is set for the Account.
910+
911+
.. figure:: /_static/images/edit-user-api-key-access.png
912+
:align: center
913+
914+
Admins can also search for Users having the required Api key access value using the User list view search filter.
915+
916+
.. figure:: /_static/images/filter-user-api-key-access.png
917+
:align: center
918+
919+
2. Accounts
920+
921+
Similar to Users, Api Key Access field is present in the Edit Account Form and the Account list view search filter, only for the Root Administrator.
922+
If the value is set to Inherit, it means that Account will inherit whatever value is set for the Domain.
923+
924+
3. Domains
925+
926+
Api Key Access at Domain level is controlled by the Domain level setting "api.key.access". If the Domain level
927+
configuration is not set, then similar to other configurations it will consult the global value.
928+
929+
4. Global
930+
931+
The global value of the configuration setting "api.key.access" is set to 'True' by default. So Api Key Access at
932+
all levels is enabled by default. If the global value is changed to 'False' without setting any of the lower levels,
933+
then Api Key Access will be disabled for all Users.
934+
935+
Order of Precedence
936+
^^^^^^^^^^^^^^^^^^^
937+
The local value always takes precedence over the global value. So if Api key access is disabled for a User but
938+
enabled for an Account, the User authorisation will still fail. Only if the User's Api key access is set to
939+
'Inherit', the Account's Api Key Access value is considered.
940+
Similarly if Account's Api Key Access is set to 'Inherit', only then the Domain level setting is considered,
941+
And only if the Domain level configuration is not set, the Global configuration is considered.
942+
943+
Examples
944+
^^^^^^^^
945+
946+
#. Disallow Api key access for all Accounts and Users in a Domain.
947+
948+
#. Leave all User and Account level Api Key Access values to the default 'Inherit'.
949+
#. Set the Domain level setting "api.key.access" to False only for the required domain.
950+
951+
#. Disallow Api key access for some Users, but allowed globally.
952+
953+
#. Set the User level permission to ‘Disabled’ only for the required Users.
954+
#. All upper level permissions should either be Inherit or Enabled.
955+
956+
#. Allow Api key access to some Users, but disallowed globally.
957+
958+
#. Set User level permission to ‘Enabled’ only for the required Users.
959+
#. All upper level permissions should either be Inherit or Disabled.

source/adminguide/api.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,16 @@ the user data:
6464
#. Run the following command to find the virtual router.
6565

6666
.. code:: bash
67+
6768
# cat /var/lib/dhclient/dhclient-eth0.leases | grep dhcp-server-identifier | tail -1
69+
6870
#. Access user data by running the following command using the result of
6971
the above command
7072

7173
.. code:: bash
74+
7275
# curl http://10.1.1.1/latest/user-data
76+
7377
Meta Data can be accessed similarly, using a URL of the form
7478
http://10.1.1.1/latest/meta-data/{metadata type}. (For backwards
7579
compatibility, the previous URL http://10.1.1.1/latest/{metadata type}

0 commit comments

Comments
 (0)