Member since
04-22-2014
1218
Posts
341
Kudos Received
157
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 26253 | 03-03-2020 08:12 AM | |
| 16406 | 02-28-2020 10:43 AM | |
| 4718 | 12-16-2019 12:59 PM | |
| 4473 | 11-12-2019 03:28 PM | |
| 6664 | 11-01-2019 09:01 AM |
02-08-2019
08:18 AM
1 Kudo
@gerasimos, In the code, it appears if desktop.auth.backend.LdapBackend is configured, then the password fields are read-only as you see there. Is it possible that you still have the LdapBackend set? If you haven't yet, it may be good to log out and back into Hue after having reconfigured the auth backend to AllowFirstUserDjangoBackend. I wonder if something may be cached in the browser.
... View more
02-08-2019
07:56 AM
@gerasimos, I think I opened a Jira on this a while back but forgot to follow up on it. Try removing the LDAP server hostname from your Hue configuration. I think if it has a value that tells Hue you plan on using LDAP to sync users. The Jira I opened requests that both buttons be present (so you can add local but still sync from LDAP if desired). Since the feature to import users is separate from the method of authentication, changing the auth method didn't impact the sync config.
... View more
02-05-2019
07:57 AM
@gerasimos, Glad you are making some progress. As for the behavior with existing Hue groups, I'm not sure. We'd need to review the logs to compare what happens when you sync a group that has already been imported into Hue and one that hasn't been imported yet. Also, we would need to see the add_ldap_groups page to see what you selected. Also, seeing your LDAP configuration for Hue would provide more context for the issue.
... View more
02-04-2019
08:15 AM
1 Kudo
@gerasimos, I'm glad to hear you are making some progress with authentication implementation. First, you can toggle authentication backend in CM via the Authentication Backend configuration: You could also consider configuring multiple backends if that suits your needs: http://gethue.com/configuring-hue-multiple-authentication-backends-and-ldap/ As for the group membership issue, you can add the following in order to ensure that a user's groups (and group membership) are synchronized when a user logs in: [desktop] [[ldap]] sync_groups_on_login=true The above can be added to your Hue Service Advanced Configuration Snippet (Safety Valve) for hue_safety_valve.ini There could be any number of reasons that group membership is not being updated. One of the most likely issues is that LDAP Group Membership Attribute is not set to member as that attribute is what will be used to determine group membership when importing and synchronizing. In order to gain debugging that can help you determine the cause of the issue, you can do the following: (1) Turn on Django debug: Hue --> Configuration --> Advanced --> Enable Django Debug Mode Check the box (2) In Hue Service Advanced Configuration Snippet (Safety Valve) for hue_safety_valve.ini add the following to enable LDAP debug [desktop] [[ldap]] debug=true debug_level=255 trace_level=9 (3) Restart Hue After that, reproduce the problem and then review logs: - /var/log/hue/runcpserver.log - stderr.log - stdout.log stderr and stdout exist in the process directory. You can get there by logging into the host where Hue runs and going to: /var/run/cloudera-scm-agent/process/`ls -lrt /var/run/cloudera-scm-agent/process/ | awk '{print $9}' |grep HUE_SERVER|tail -1`/logs/ For example: cd /var/run/cloudera-scm-agent/process/`ls -lrt /var/run/cloudera-scm-agent/process/ | awk '{print $9}' |grep HUE_SERVER|tail -1`/logs/
... View more
01-23-2019
01:48 PM
@Tulasi, Could you start a new thread with your new issue so that we don't mix issues in the same thread. the space character issue is likely to help others, so it would be good to start a new thread for permission denied issue. I think it is a known one, but it will be easier to discuss if we can start fresh.
... View more
01-23-2019
01:47 PM
I opened a Jira internally at Cloudera to ask that config.ini leading non-word characters be trimmed. Regards, Ben
... View more
01-23-2019
08:52 AM
1 Kudo
@gerasimos, I am still a bit unclear about your current deployment and where your users (not kerberos principals) exist now. It sounds as if you may be using OS files (/etc/passwd and /etc/group) for local users. This page is a good start to help shape how you want to approach integration with AD... https://www.cloudera.com/documentation/enterprise/5-16-x/topics/sg_auth_overview.html Specifically, the AD integration section: https://www.cloudera.com/documentation/enterprise/5-16-x/topics/sg_auth_overview.html Also, at the bottom of the page is a matrix of what components support different authentication types. Direct answers to your questions: (1) I can keep both existing user principals along with the AD users (on different realms). Is this right? When talking about these topics, it is important to know two things: where your users' keberos accounts exist and where the hadoop service principals exist. If they are in the same realm, nothing special needs to be done. If your AD users have kerberos credentials in your AD realm, but your hadoop realm is different (and MIT Kerberos based) then you would need to configure cross-realm for your hadoop KDC to trust TGTs from the AD realm. Yes, it is also perfectly reaonable to have our users authenticate via your MIT KDC and have users also authenticate, via LDAP with Active Directory (acting as an LDAP server). (2) For users controlled by AD, will I still need to create them in OS level? Probably "YES", but it depends on what you want to do. How your users' user/group mapping for hadoop is configured is up to you. Hadoop services need to be able to assess authorization via user/group mapping which defaults to org.apache.hadoop.security.ShellBasedUnixGroupsMapping. This means that shell commands such as "id" will be used to determine a user's group membership and thus their access to certain data. How the OS resolves the "id -Gn" command or others is up to your OS's configuration. As mentioned in the documentation cited above, there are are several tools you can use in your cluster's nodes to integrate OS user/group with LDAP. SSSD is a free, open source one, for instance. To summarize how authn/authz works for most components: - User authenticates via Kerberos (Or LDAP if supported) - the derived user id is then mapped to groups for authorization. Front-end applications like Hue and Cloudera Manager are a bit different as they utilize internal service principals to access resources on behalf of the user who has authenticated to the UI. Hue, for instance, will connect as the "hue" service principal for the host it is on to proxy access for the user who has authenticated to Hue. (3) "A one-way, cross-realm trust must be set up from the local Kerberos realm to the central AD realm..." Since I'm still a bit unsure what your endgame is, I hesitate to commit to anything here. If you want all users to use their AD accounts but keep your CDH cluster's service principals in the MIT KDC, then, yes, you would need a one way trust where your CDH cluster's realm's KDC trusts the AD KDC's realm. If you want your users to still kinit against your MIT KDC and your service principals are also there, no change is necessary. I hope that helps a bit... if you can clear up where your users' principals will be and where your service principals will be, we can probably help confirm what basic work that entails. LDAP auth and where LDAP accounts exist does not depend on Kerberos. The good part of AD is that accounts accessed for Kerberos and for LDAP exist as the same object. If you have users on your MIT KDC for kerberos auth, but you want to introduce LDAP auth for services that supported it with AD as the LDAP server, you can do that... the only thing to keep in mind is that the user name (usually sAMAccountName) needs to be the same as their previous user name (whatever that was before LDAP) in order for authorization to work the same as it had before. For example: if currently there is a user, "userone", who has access to certain HDFS directories and Sentry provides access to certain resources, after moving to LDAP auth, the username derived from LDAP authenitication must be "userone" as well.
... View more
01-22-2019
02:24 PM
Hi @gerasimos, First, I think you may be confusing LDAP and Kerberos here so we need some clarification on what you are actually trying to achieve. For authentication. Kerberos and LDAP authentication are used for different things so it is important to understand how each is utilized. For authentication in CDH, Kerberos is required for core hadoop (HDFS, YARN) and clients of those. Servers that are user-facing usually have an option of authenticating via LDAP or Kerberos. Internal is all Kerberos, external can be a mixture depending on what you would like and what the servers support. Bottom line, for hadoop security, you need Kerberos, but some things allow for LDAP too. Also, LDAP can be utilized for user-group mapping. I don't think that is what you are discussing. Another thing to note is that "Kerberos" is not a server, it is a protocol. Any Kerberos v5 server is fine, but CDH requires MIT Kerberos client libraries for communication in non-Java Kerberos operations. To your questions: (1) Users are created and stored where you want them. Active Directory hosts are also Kerberos servers in Windows systems so you can Use MIT Kerberos's KDC or Windows Active Directory as your Kerberos server. Active Directory also supports LDAP protocol requests. It is up to your deployment where your end users exist. We'd need clarification about what configuration changes you are proposing to answer this better. (2) Need some clarification about what sort of "pipelines" you mean. What services are they connecting to? (3) No service "should" be configured with LDAP meaning there is no functional gain to authentication with LDAP vs Kerberos. Each will serve the purpose of authenticating. The following can support LDAP authentication: - Cloudera Manager - Cloudera Navigator Metadata Server - Hue - Hive - Impala - Solr - Sentry (in unsupported 'test' mode only - only Kerberos is supported) (4) No, no Sentry changes should be necessary as long as your groups and users are the same. Permissions are group-based so that has nothing to do the means of authentication. Sentry provides authorization protection. To summarize: - authentication by end users can be achieved by the methods supported by the various servers (roles). Some support LDAP, Kerberos, SAML, etc. - Once a user is authenticated, then authorization is evaluated depending on the role being accessed. Hope that helps get started.
... View more
01-16-2019
01:46 PM
NOTE: You should only specify verify_cert_dir OR verify_cert_file, not both Since you have a pem file, I would suggest using verify_cert_file and commenting out "verify_cert_dir=/opt/cloudera/security/pki"
... View more
01-16-2019
01:42 PM
@Tulasi, Thank you for providing your config. It appears you have space characters at the beginning of your cert/key configs. Remove the space characters form the beginning of the following lines and then restart the agent: verify_cert_file=/opt/cloudera/security/pki/optim-rhel72-uppu.pem verify_cert_dir=/opt/cloudera/security/pki client_key_file=/opt/cloudera/security/pki/agent.key client_keypw_file=/etc/cloudera-scm-agent/agentkey.pw client_cert_file=/opt/cloudera/security/pki/agent.pem
... View more