NetWorker: How To Set up LDAP/AD using authc_config scripts
Summary: This KB provides a basic overview for how to add LDAP/AD authentication using the authc_config script template. Microsoft Active Directory (AD) or Linux Lightweight Directory Access Protocol (LDAP) authentication can be used with NetWorker. ...
Instructions
NetWorker supports Microsoft Active Directory (AD) or Linux Lightweight Directory Protocol (LDAP). Both solutions use the LDAP protocol to communicate with the external authentication service. This article explains how to use the NetWorker authc_config script templates to add external authority to NetWorker. This article does not provide instructions for configuring Secure LDAP (LDAPS). Instructions for configuring LDAPS can be found in: NetWorker: How To configure LDAPS Authentication
This article can be broken down into the following sections. Carefully review each section before proceeding:
Prerequisites:
- Determine which host is the authc server. This is helpful in larger NetWorker datazones. In smaller datazones with a single NetWorker server, the NetWorker server is the authentication server.
Configuring the External Authority Resource:
- Create the external authority resource in the authentication service.
- Determine external users or groups to be used for NetWorker.
- Define which external users or groups have access to the NetWorker Management Console (NMC).
- Define the NetWorker server permissions external users and groups have.
- (Optional) Configure FULL_CONTROL security permissions for an external user or group.
Prerequisites:
Determine which host is the NetWorker Authentication server. This can be validated in the NetWorker Management Console (NMC) server's gstd.conf file:
Windows: C:\Program Files\EMC NetWorker\Management\GST\etc\gstd.conf
Configuring the External Authority Resource:
The NetWorker authentication server includes authc_config script templates in the following location:
- For Microsoft Active Directory, use authc-create-ad-config.x.template
- For Linux LDAP (OpenLDAP, so forth), use authc-create-ldap-config.x.template
authc_config -u administrator -p <password> -e add-config \ -D "config-tenant-id=<tenant_id>" \ -D "config-active-directory=y" \ -D "config-name=<authority_name>" \ -D "config-domain=<domain_name>" \ -D "config-server-address=<protocol>://<hostname_or_ip_address>:<port>/<base_dn>" \ -D "config-user-dn=<user_dn>" \ -D "config-user-dn-password=<user_password>" \ -D "config-user-search-path=<user_search_path>" \ -D "config-user-id-attr=sAMAccountName" \ -D "config-user-object-class=<user_object_class>" \ -D "config-group-search-path=<group_search_path>" \ -D "config-group-name-attr=cn" \ -D "config-group-object-class=group" \ -D "config-group-member-attr=member" \ -D "config-user-search-filter=" \ -D "config-group-search-filter=" \ -D "config-search-subtree=n" \ -D "config-user-group-attr=memberOf" \ -D "config-object-class=objectClass"
The following table details the parameters defined in the configuration file.
| config-tenant-id | Tenants can be used in environments where more than one authentication method may be used or when multiple authorities must be configured. Creating a tenant is optional. You can use the default tenant, config-tenant-id=1.
|
| config-active-directory | If you are using a Microsoft Active Directory (AD) server: y. This is the default setting in the authc-create-ad-config.x.template. If you are using an LDAP server (e.g: OpenLDAP): n. This is the default setting in the authc-create-ldap-config.x.template. |
| config-name | This name is only an identifier for the authentication configuration being added to NetWorker. |
| config-domain | This is the domain name that is used for logging into NetWorker, for example: networker.lan. This field should match the Domain Component (DC) values of the domain. |
| config-server-address | <protocol>://<hostname_or_ip_address>:<port>/<base_dn> Protocol:
Hostname/IP address:
|
| config-user-dn | Specify the full Distinguished Name |
| config-user-dn-password | Specify the password for the account specified in the config-user-dn. |
| config-user-search-path | This field can be left blank in which case authc can query the full domain. Permissions must be granted for NMC/ NetWorker server access before these users/groups can log in the NMC and manage the NetWorker server. If a Base DN was specified in the config-server-address, specify the relative path (excluding the Base DN) to the domain. |
| config-user-id-attr | The user ID that is associated with the user object in the LDAP or AD hierarchy.
|
| config-user-object-class | The object class that identifies the users in the LDAP or AD hierarchy. For example, inetOrgPerson (LDAP) or user (AD) |
| config-group-search-path | Like config-user-search-path this field can be left blank in which case authc is capable of querying the full domain. If a Base DN was specified in the config-server-address, specify the relative path (excluding the Base DN) to the domain. |
| config-group-name-attr | The attribute that identifies the group name. For example, cn |
| config-group-object-class | The object class that identifies groups in the LDAP or AD hierarchy.
|
| config-group-member-attr | The group membership of the user within a group
|
| config-user-search-filter | (Optional.) The filter that the NetWorker Authentication Service can use to perform user searches in the LDAP or AD hierarchy. RFC 2254 |
| config-group-search-filter | (Optional.) The filter that the NetWorker Authentication Service can use to perform group searches in the LDAP or AD hierarchy. RFC 2254 |
| config-search-subtree | (Optional.) A yes or no value that specifies if the external authority should perform subtree searches. Default value: no |
| config-user-group-attr | (Optional.) This option supports configurations that identify the group membership for a user within the properties of the user object. For example, for AD, specify the attribute memberOf. |
| config-object-class | (Optional.) The object class of the external authentication authority. RFC 4512 |
authc_config -u administrator -p 'NetWorker_Administrator_Password' -e add-config \ -D "config-tenant-id=1" \ -D "config-active-directory=y" \ -D "config-name=ad" \ -D "config-domain=networker.lan" \ -D "config-server-address=ldap://dc.networker.lan:389/DC=networker,DC=lan" \ -D "config-user-dn=CN=Administrator,CN=Users,DC=networker,DC=lan" \ -D "config-user-dn-password=XXXXXXXX" \ -D "config-user-search-path=" \ -D "config-user-id-attr=sAMAccountName" \ -D "config-user-object-class=user" \ -D "config-group-search-path=" \ -D "config-group-name-attr=cn" \ -D "config-group-object-class=group" \ -D "config-group-member-attr=member" \ -D "config-user-search-filter=" \ -D "config-group-search-filter=" \ -D "config-search-subtree=y" \ -D "config-user-group-attr=memberOf" \ -D "config-object-class=objectClass"
[root@nsr ~]# /opt/nsr/authc-server/scripts/authc-create-ad-config.sh Configuration ad is created successfully.
Determine external users or groups to be used for NetWorker.
authc_mgmt -u administrator -p 'NetWorker_Administrator_Password' -e query-ldap-groups-for-user -D query-tenant=Tenant_Name -D query-domain=Domain_Name -D user-name=AD/LDAP_Username
[root@nsr ~]# authc_mgmt -u Administrator -p '!Password1' -e query-ldap-groups-for-user -D query-tenant=default -D query-domain=networker.lan -D user-name=bkupadmin The query returns 1 records. Group Name Full Dn Name NetWorker_Admins CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan
Configuring NMC to accept external authentication:
- Log in to the NMC as the default NetWorker Administrator account.
- Go to Setup-->Users and Roles-->NMC Roles.
- Add the group DN collected from the above step to the "External Roles" field of the appropriate roles for that AD group. Full Administrators should have "Console Application Administrator" and "Console Security Administrator" Roles. (See the NetWorker Security Configuration Guide for more information about these roles.)
Configuring the NetWorker server external user permissions:
- As the default NetWorker Administrator account, connect to the NetWorker server.
- Go to Server-->User Groups.
- Add the group DN to the "External Roles" field of the appropriate roles for that AD group. Full Administrators should have "Application Administrators" and "Security Administrators" permissions.
nsraddadmin -e "USER/GROUP_DN"
[root@nsr ~]# nsraddadmin -e "CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan" 134749:nsraddadmin: 'CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan' added to the 'external roles' list of 'Security Administrators' user group. 134749:nsraddadmin: 'CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan' added to the 'external roles' list of 'Application Administrators' user group.
Access the NMC:
Extra Security Permissions
(OPTIONAL) If you want an AD/LDAP group to be able to manage External Authorities you must perform the following on the NetWorker server.Using the AD group DN you want to grant FULL_CONTROL permission to run:
authc_config -u Administrator -p 'NetWorker_Administrator_Password' -e add-permission -D permission-name=FULL_CONTROL -D permission-group-dn="AD/LDAP_group_dn"
[root@nsr ~]# authc_config -u Administrator -p '!Password1' -e add-permission -D permission-name=FULL_CONTROL -D permission-group-dn="CN=NetWorker_Admins,OU=DELL,dc=networker,dc=lan" Permission FULL_CONTROL is created successfully. nve:~ # authc_config -u Administrator -p '!Password1' -e find-all-permissions The query returns 2 records. Permission Id Permission Name Group DN Pattern Group DN 1 FULL_CONTROL ^cn=Administrators,cn=Groups.*$ 2 FULL_CONTROL CN=NetWorker_Admins,OU=DELL,dc=networ...
Additional Information
NetWorker NWUI: How to Configure AD/LDAP from the NetWorker Web User Interface