blob: 49fb0dcaaa844ec28ff7c11c8e3bafceaa23388e [file] [log] [blame]
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2016, Apache Software Foundation
# This file is distributed under the same license as the Apache CloudStack Administration Documentation package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Apache CloudStack Administration Documentation 4.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-22 13:55+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../accounts.rst:18
msgid "Managing Roles, Accounts, Users and Domains"
msgstr ""
#: ../../accounts.rst:21
msgid "Roles, Accounts, Users, and Domains"
msgstr ""
#: ../../accounts.rst:24
msgid "Roles"
msgstr ""
#: ../../accounts.rst:26
msgid "A role represents a set of allowed functions. All CloudStack accounts have a role attached to them that enforce access rules on them to be allowed or disallowed to make an API request. Typically there are four default roles: root admin, resource admin, domain admin and user."
msgstr ""
#: ../../accounts.rst:33
msgid "Accounts"
msgstr ""
#: ../../accounts.rst:35
msgid "An account typically represents a customer of the service provider or a department in a large organization. Multiple users can exist in an account."
msgstr ""
#: ../../accounts.rst:41
msgid "Domains"
msgstr ""
#: ../../accounts.rst:43
msgid "Accounts are grouped by domains. Domains usually contain multiple accounts that have some logical relationship to each other and a set of delegated administrators with some authority over the domain and its subdomains. For example, a service provider with several resellers could create a domain for each reseller."
msgstr ""
#: ../../accounts.rst:49
msgid "For each account created, the Cloud installation creates three different types of user accounts: root administrator, domain administrator, and user."
msgstr ""
#: ../../accounts.rst:55
msgid "Users"
msgstr ""
#: ../../accounts.rst:57
msgid "Users are like aliases in the account. Users in the same account are not isolated from each other, but they are isolated from users in other accounts. Most installations need not surface the notion of users; they just have one user per account. The same user cannot belong to multiple accounts."
msgstr ""
#: ../../accounts.rst:63
msgid "Username is unique in a domain across accounts in that domain. The same username can exist in other domains, including sub-domains. Domain name can repeat only if the full pathname from root is unique. For example, you can create root/d1, as well as root/foo/d1, and root/sales/d1."
msgstr ""
#: ../../accounts.rst:68
msgid "Administrators are accounts with special privileges in the system. There may be multiple administrators in the system. Administrators can create or delete other administrators, and change the password for any user in the system."
msgstr ""
#: ../../accounts.rst:75
msgid "Domain Administrators"
msgstr ""
#: ../../accounts.rst:77
msgid "Domain administrators can perform administrative operations for users who belong to that domain. Domain administrators do not have visibility into physical servers or other domains."
msgstr ""
#: ../../accounts.rst:83
msgid "Root Administrator"
msgstr ""
#: ../../accounts.rst:85
msgid "Root administrators have complete access to the system, including managing templates, service offerings, customer care administrators, and domains"
msgstr ""
#: ../../accounts.rst:91
msgid "Resource Ownership"
msgstr ""
#: ../../accounts.rst:93
msgid "Resources belong to the account, not individual users in that account. For example, billing, resource limits, and so on are maintained by the account, not the users. A user can operate on any resource in the account provided the user has privileges for that operation. The privileges are determined by the role. A root administrator can change the ownership of any virtual machine from one account to any other account by using the assignVirtualMachine API. A domain or sub-domain administrator can do the same for VMs within the domain from one account to any other account in the domain or any of its sub-domains."
msgstr ""
#: ../../accounts.rst:105
msgid "Using Dynamic Roles"
msgstr ""
#: ../../accounts.rst:107
msgid "In addition to the four default roles, the dynamic role-based API checker feature allows CloudStack root admins to create new roles with customized permissions. The allow/deny rules can be configured dynamically during runtime without restarting the management server(s)."
msgstr ""
#: ../../accounts.rst:112
msgid "For backward compatiblity, all roles resolve to one of the four role types: admin, resource admin, domain admin and user. A new role can be created using the roles tab in the UI and specifying a name, a role type and optionally a description."
msgstr ""
#: ../../accounts.rst:117
msgid "Role specific rules can be configured through the rules tab on role specific details page. A rule is either an API name or a wildcard string that are one of allow or deny permission and optionally a description."
msgstr ""
#: ../../accounts.rst:121
msgid "When a user makes an API request, the backend checks the requested API against configured rules (in the order the rules were configured) for the caller user-account's role. It will iterate through the rules and would allow the API request if the API matches an allow rule, else if it matches a deny rule it would deny the request. Next, if the request API fails to match any of the configured rules it would allow if the requested API's default authorized annotaions allow that user role type and finally deny the user API request if it fails to be explicitly allowed/denied by the role permission rules or the default API authorize annotations. Note: to avoid root admin being locked out of the system, all root admin accounts are allowed all APIs."
msgstr ""
#: ../../accounts.rst:132
msgid "The dynamic-roles feature is enabled by default only for all new CloudStack installations since version `4.9.x <https://cwiki.apache.org/confluence/display/CLOUDSTACK/Dynamic+Role+Based+API+Access+Checker+for+CloudStack>`_."
msgstr ""
#: ../../accounts.rst:135
msgid "After an upgrade, existing deployments can be migrated to use this feature by running a migration tool by the CloudStack admin. The migration tool is located at ``/usr/share/cloudstack-common/scripts/util/migrate-dynamicroles.py``."
msgstr ""
#: ../../accounts.rst:139
msgid "During migration, this tool enables an internal flag in the database, copies existing static role-based rules from provided commands.properties file (typically at ``/etc/cloudstack/management/commands.properties``) to the database and renames the commands.properties file (typically to /etc/cloudstack/management/commands.properties.deprecated). The migration process does not require restarting the management server(s)."
msgstr ""
#: ../../accounts.rst:146
msgid "Usage: ``migrate-dynamicroles.py`` [options] [-h for help]"
msgstr ""
#: ../../accounts.rst:148
msgid "Options:"
msgstr ""
#: ../../accounts.rst:151
msgid "The name of the database, default: cloud"
msgstr ""
#: ../../accounts.rst:153
msgid "User name a MySQL user with privileges on cloud database, default: cloud"
msgstr ""
#: ../../accounts.rst:155
msgid "Password of a MySQL user with privileges on cloud database"
msgstr ""
#: ../../accounts.rst:157
msgid "Host or IP of the MySQL server"
msgstr ""
#: ../../accounts.rst:159
msgid "Host or IP of the MySQL server, default: 3306"
msgstr ""
#: ../../accounts.rst:161
msgid "The commands.properties file, default: /etc/cloudstack/management/commands.properties"
msgstr ""
#: ../../accounts.rst:163
msgid "Dry run and debug operations this tool will perform"
msgstr ""
#: ../../accounts.rst:166
msgid "Example:"
msgstr ""
#: ../../accounts.rst:168
msgid "sudo python /usr/share/cloudstack-common/scripts/util/migrate-dynamicroles.py -u cloud -p cloud -h localhost -p 3006 -f /etc/cloudstack/management/commands.properties"
msgstr ""
#: ../../accounts.rst:170
msgid "If you've multiple management servers, remove or rename the commands.properties file on all management servers typically in /etc/cloudstack/management path, after running the migration tool for the first management server"
msgstr ""
#: ../../accounts.rst:176
msgid "Dedicating Resources to Accounts and Domains"
msgstr ""
#: ../../accounts.rst:178
msgid "The root administrator can dedicate resources to a specific domain or account that needs private infrastructure for additional security or performance guarantees. A zone, pod, cluster, or host can be reserved by the root administrator for a specific domain or account. Only users in that domain or its subdomain may use the infrastructure. For example, only users in a given domain can create guests in a zone dedicated to that domain."
msgstr ""
#: ../../accounts.rst:186
msgid "There are several types of dedication available:"
msgstr ""
#: ../../accounts.rst:188
msgid "Explicit dedication. A zone, pod, cluster, or host is dedicated to an account or domain by the root administrator during initial deployment and configuration."
msgstr ""
#: ../../accounts.rst:192
msgid "Strict implicit dedication. A host will not be shared across multiple accounts. For example, strict implicit dedication is useful for deployment of certain types of applications, such as desktops, where no host can be shared between different accounts without violating the desktop software's terms of license."
msgstr ""
#: ../../accounts.rst:198
msgid "Preferred implicit dedication. The VM will be deployed in dedicated infrastructure if possible. Otherwise, the VM can be deployed in shared infrastructure."
msgstr ""
#: ../../accounts.rst:204
msgid "How to Dedicate a Zone, Cluster, Pod, or Host to an Account or Domain"
msgstr ""
#: ../../accounts.rst:206
msgid "For explicit dedication: When deploying a new zone, pod, cluster, or host, the root administrator can click the Dedicated checkbox, then choose a domain or account to own the resource."
msgstr ""
#: ../../accounts.rst:210
msgid "To explicitly dedicate an existing zone, pod, cluster, or host: log in as the root admin, find the resource in the UI, and click the Dedicate button. |button to dedicate a zone, pod,cluster, or host|"
msgstr ""
#: ../../accounts.rst:214
msgid "For implicit dedication: The administrator creates a compute service offering and in the Deployment Planner field, chooses ImplicitDedicationPlanner. Then in Planner Mode, the administrator specifies either Strict or Preferred, depending on whether it is permissible to allow some use of shared resources when dedicated resources are not available. Whenever a user creates a VM based on this service offering, it is allocated on one of the dedicated hosts."
msgstr ""
#: ../../accounts.rst:224
msgid "How to Use Dedicated Hosts"
msgstr ""
#: ../../accounts.rst:226
msgid "To use an explicitly dedicated host, use the explicit-dedicated type of affinity group (see `“Affinity Groups” <virtual_machines.html#affinity-groups>`_). For example, when creating a new VM, an end user can choose to place it on dedicated infrastructure. This operation will succeed only if some infrastructure has already been assigned as dedicated to the user's account or domain."
msgstr ""
#: ../../accounts.rst:235
msgid "Behavior of Dedicated Hosts, Clusters, Pods, and Zones"
msgstr ""
#: ../../accounts.rst:237
msgid "The administrator can live migrate VMs away from dedicated hosts if desired, whether the destination is a host reserved for a different account/domain or a host that is shared (not dedicated to any particular account or domain). CloudStack will generate an alert, but the operation is allowed."
msgstr ""
#: ../../accounts.rst:243
msgid "Dedicated hosts can be used in conjunction with host tags. If both a host tag and dedication are requested, the VM will be placed only on a host that meets both requirements. If there is no dedicated resource available to that user that also has the host tag requested by the user, then the VM will not deploy."
msgstr ""
#: ../../accounts.rst:249
msgid "If you delete an account or domain, any hosts, clusters, pods, and zones that were dedicated to it are freed up. They will now be available to be shared by any account or domain, or the administrator may choose to re-dedicate them to a different account or domain."
msgstr ""
#: ../../accounts.rst:254
msgid "System VMs and virtual routers affect the behavior of host dedication. System VMs and virtual routers are owned by the CloudStack system account, and they can be deployed on any host. They do not adhere to explicit dedication. The presence of system vms and virtual routers on a host makes it unsuitable for strict implicit dedication. The host can not be used for strict implicit dedication, because the host already has VMs of a specific account (the default system account). However, a host with system VMs or virtual routers can be used for preferred implicit dedication."
msgstr ""
#: ../../accounts.rst:266
msgid "Using an LDAP Server for User Authentication"
msgstr ""
#: ../../accounts.rst:268
msgid "You can use an external LDAP server such as Microsoft Active Directory or ApacheDS to authenticate CloudStack end-users. CloudStack will search the external LDAP directory tree starting at a specified base directory and gets user info such as first name, last name, email and username."
msgstr ""
#: ../../accounts.rst:273
msgid "To authenticate, username and password entered by the user are used. Cloudstack does a search for a user with the given username. If it exists, it does a bind request with DN and password."
msgstr ""
#: ../../accounts.rst:277
msgid "To set up LDAP authentication in CloudStack, call the CloudStack API command ``addLdapConfiguration`` and provide Hostname or IP address and listening port of the LDAP server. You could configure multiple servers as well. These are expected to be replicas. If one fails, the next one is used."
msgstr ""
#: ../../accounts.rst:283
msgid "The following global configurations should also be configured (the default values are for openldap)"
msgstr ""
#: ../../accounts.rst:286
msgid "``ldap.basedn``: Sets the basedn for LDAP. Ex: **OU=APAC,DC=company,DC=com**"
msgstr ""
#: ../../accounts.rst:288
msgid "``ldap.bind.principal``, ``ldap.bind.password``: DN and password for a user who can list all the users in the above basedn. Ex: **CN=Administrator, OU=APAC, DC=company, DC=com**"
msgstr ""
#: ../../accounts.rst:292
msgid "``ldap.user.object``: object type of users within LDAP. Defaults value is **user** for AD and **inetorgperson** for openldap."
msgstr ""
#: ../../accounts.rst:295
msgid "``ldap.email.attribute``: email attribute within ldap for a user. Default value for AD and openldap is **mail**."
msgstr ""
#: ../../accounts.rst:298
msgid "``ldap.firstname.attribute``: firstname attribute within ldap for a user. Default value for AD and openldap is **givenname**."
msgstr ""
#: ../../accounts.rst:301
msgid "``ldap.lastname.attribute``: lastname attribute within ldap for a user. Default value for AD and openldap is **sn**."
msgstr ""
#: ../../accounts.rst:304
msgid "``ldap.username.attribute``: username attribute for a user within LDAP. Default value is **SAMAccountName** for AD and **uid** for openldap."
msgstr ""
#: ../../accounts.rst:309
msgid "Restricting LDAP users to a group:"
msgstr ""
#: ../../accounts.rst:311
msgid "``ldap.search.group.principle``: this is optional and if set only users from this group are listed."
msgstr ""
#: ../../accounts.rst:316
msgid "LDAP SSL:"
msgstr ""
#: ../../accounts.rst:318
msgid "If the LDAP server requires SSL, you need to enable the below configurations. Before enabling SSL for LDAP, you need to get the certificate which the LDAP server is using and add it to a trusted keystore. You will need to know the path to the keystore and the password."
msgstr ""
#: ../../accounts.rst:322
msgid "``ldap.truststore`` : truststore path"
msgstr ""
#: ../../accounts.rst:323
msgid "``ldap.truststore.password`` : truststore password"
msgstr ""
#: ../../accounts.rst:327
msgid "LDAP groups:"
msgstr ""
#: ../../accounts.rst:329
msgid "``ldap.group.object``: object type of groups within LDAP. Default value is group for AD and **groupOfUniqueNames** for openldap."
msgstr ""
#: ../../accounts.rst:332
msgid "``ldap.group.user.uniquemember``: attribute for uniquemembers within a group. Default value is **member** for AD and **uniquemember** for openldap."
msgstr ""
#: ../../accounts.rst:335
msgid "Once configured, on Add Account page, you will see an \"Add LDAP Account\" button which opens a dialog and the selected users can be imported."
msgstr ""
#: ../../accounts.rst:342
msgid "You could also use api commands: ``listLdapUsers``, ``ldapCreateAccount`` and ``importLdapUsers``."
msgstr ""
#: ../../accounts.rst:345
msgid "Once LDAP is enabled, the users will not be allowed to changed password directly in cloudstack."
msgstr ""
#: ../../accounts.rst:353
msgid "Using a SAML 2.0 Identity Provider for User Authentication"
msgstr ""
#: ../../accounts.rst:355
msgid "You can use a SAML 2.0 Identity Provider with CloudStack for user authentication. This will require enabling the SAML 2.0 service provider plugin in CloudStack. To do that first, enable the SAML plugin by setting ``saml2.enabled`` to ``true`` and restart management server."
msgstr ""
#: ../../accounts.rst:360
msgid "Starting 4.5.2, the SAML plugin uses an authorization workflow where users should be authorized by an admin using ``authorizeSamlSso`` API before those users can use Single Sign On against a specific IDP. This can be done by ticking the enable SAML Single Sign On checkbox and selecting a IDP when adding or importing users. For existing users, admin can go to the user's page and click on configure SAML SSO option to enable/disable SSO for a user and select a Identity Provider. A user can be authorized to authenticate against only one IDP."
msgstr ""
#: ../../accounts.rst:368
msgid "The CloudStack service provider metadata is accessible using the ``getSPMetadata`` API command, or from the URL http://acs-server:8080/client/api?command=getSPMetadata where acs-server is the domain name or IP address of the management server. The IDP administrator can get the SP metadata from CloudStack and add it to their IDP server."
msgstr ""
#: ../../accounts.rst:374
msgid "To start a SAML 2.0 Single Sign-On authentication, on the login page users need to select the Identity Provider or Institution/Department they can authenticate with and click on Login button. This action call the ``samlsso`` API command which will redirect the user to the Identity Provider's login page. Upon successful authentication, the IdP will redirect the user to CloudStack. In case a user has multiple user accounts with the same username (across domains) for the same authorized IDP, that user would need to specify domainpath after selecting their IDP server from the dropdown list. By default, users don't need to specify any domain path. After a user is successfully authenticated by an IDP server, the SAML authentication plugin finds user accounts whose username match the username attribute value returned by the SAML authentication response; it fails only when it finds that there are multiple user accounts with the same user name for the specific IDP otherwise the unique useraccount is allowed to proceed and the user is logged into their account."
msgstr ""
#: ../../accounts.rst:389
msgid "Limitations:"
msgstr ""
#: ../../accounts.rst:391
msgid "The plugin uses a user attribute returned by the IDP server in the SAML response to find and map the authorized user in CloudStack. The default attribute is `uid`."
msgstr ""
#: ../../accounts.rst:394
msgid "The SAML authentication plugin supports HTTP-Redirect and HTTP-Post bindings."
msgstr ""
#: ../../accounts.rst:396
msgid "Tested with Shibboleth 2.4, SSOCircle, Microsoft ADFS, OneLogin, Feide OpenIDP, PingIdentity."
msgstr ""
#: ../../accounts.rst:399
msgid "The following global configuration should be configured:"
msgstr ""
#: ../../accounts.rst:401
msgid "``saml2.enabled``: Indicates whether SAML SSO plugin is enabled or not true. Default is **false**"
msgstr ""
#: ../../accounts.rst:403
msgid "``saml2.sp.id``: SAML2 Service Provider Identifier string"
msgstr ""
#: ../../accounts.rst:405
msgid "``saml2.idp.metadata.url``: SAML2 Identity Provider Metadata XML Url or Filename. If a URL is not provided, it will look for a file in the config directory /etc/cloudstack/management"
msgstr ""
#: ../../accounts.rst:407
msgid "``saml2.default.idpid``: The default IdP entity ID to use only in case of multiple IdPs"
msgstr ""
#: ../../accounts.rst:409
msgid "``saml2.sigalg``: The algorithm to use to when signing a SAML request. Default is SHA1, allowed algorithms: SHA1, SHA256, SHA384, SHA512."
msgstr ""
#: ../../accounts.rst:411
msgid "``saml2.redirect.url``: The CloudStack UI url the SSO should redirected to when successful. Default is **http://localhost:8080/client**"
msgstr ""
#: ../../accounts.rst:413
msgid "``saml2.sp.org.name``: SAML2 Service Provider Organization Name"
msgstr ""
#: ../../accounts.rst:415
msgid "``saml2.sp.org.url``: SAML2 Service Provider Organization URL"
msgstr ""
#: ../../accounts.rst:417
msgid "``saml2.sp.contact.email``: SAML2 Service Provider Contact Email Address"
msgstr ""
#: ../../accounts.rst:419
msgid "``saml2.sp.contact.person``: SAML2 Service Provider Contact Person Name"
msgstr ""
#: ../../accounts.rst:421
msgid "``saml2.sp.slo.url``: SAML2 CloudStack Service Provider Single Log Out URL"
msgstr ""
#: ../../accounts.rst:423
msgid "``saml2.sp.sso.url``: SAML2 CloudStack Service Provider Single Sign On URL"
msgstr ""
#: ../../accounts.rst:425
msgid "``saml2.user.attribute``: Attribute name to be looked for in SAML response that will contain the username. Default is **uid**"
msgstr ""
#: ../../accounts.rst:427
msgid "``saml2.timeout``: SAML2 IDP Metadata refresh interval in seconds, minimum value is set to 300. Default is 1800"
msgstr ""