如何使用符合LDAP的身份服务配置身份认证,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
如何在Cloudera Manager中使用LDAP配置身份认证。 在Cloudera Manager中使用LDAP配置身份认证
LDAP兼容的身份/目录服务(例如OpenLDAP)提供了不同的选项,以使Cloudera Manager能够在目录中查找用户帐户和组:
• 使用单个专有名称(DN)作为基础,并提供一种模式(
专有名称模式)以匹配目录中的用户名,或者• 搜索过滤器选项使您可以根据更广泛的搜索条件来搜索特定用户-例如,Cloudera Manager用户可以是不同组或组织单位(OU)的成员,因此单个模式无法找到所有这些用户。搜索过滤器选项还使您可以找到用户所属的所有组,以帮助确定该用户是否应具有登录名或管理员访问权限。1) 登录到Cloudera Manager管理控制台。
2) 选择管理>设置。
3) 为 类别过滤器选择外部身份认证以显示设置。
4) 对于“身份认证后端顺序”,选择Cloudera Manager应为登录尝试查找身份认证凭证的顺序。
5) 对于“外部身份认证类型”,选择“ LDAP”。
6) 在LDAP URL属性中,提供LDAP服务器的URL和(可选)作为URL的一部分的基础专有名称(DN)(搜索基础)(例如) ldap://ldap-server.corp.com/dc=corp,dc=com。
7) 如果您的服务器不允许匿名绑定,请提供用于绑定到目录的用户DN和密码。这些是LDAP绑定用户专有名称和 LDAP绑定密码属性。默认情况下,Cloudera Manager假定匿名绑定。
8) 使用以下方法之一搜索用户和组:
• 您可以使用“用户”或“组”搜索过滤器,LDAP User Search Base, LDAP User Search Filter, LDAP Group Search Base and LDAP Group Search Filter设置进行搜索。这些允许您将基本DN与搜索过滤器结合使用,以允许更大范围的搜索目标。
例如,如果要
认证可能属于多个OU之一的用户,则搜索过滤器机制将允许这样做。您可以将用户搜索基础DN指定为
dc=corp,dc=com,将用户搜索过滤器指定为
uid={0}。然后,Cloudera Manager将在从基本DN开始的树中任何位置搜索用户。假设你有两个OUs-
ou=Engineering和
ou=Operations-Cloudera经理会发现用户“foo”是否存在在这些OU中,如果存在, 则为
uid=foo,ou=Engineering,dc=corp,dc=com或
uid=foo,ou=Operations,dc=corp,dc=com。您可以将用户搜索过滤器与DN模式一起使用,以便在DN模式搜索失败时,搜索过滤器可以提供备用。“组”过滤器使您可以搜索以确定DN或用户名是否是目标组的成员。在这种情况下,您提供的过滤器可能类似于
member={0}将要
认证的用户的
DN替换为
{0}的地方。对于需要用户名的过滤器,可以使用
{1},即
memberUid={1}
,这将返回用户所属的组列表,该列表将与讨论的组属性中的列表进行比较。• 或者,指定一个基本的专有名称(DN),然后在LDAP专有名称模式 属性中提供“专有名称模式” 。
在模式中使用
{0}来指示用户名应该去哪里。例如,要搜索
uid属性是用户名的专有名称 ,您可以提供类似于的模式
uid={0},ou=People,dc=corp,dc=com。Cloudera Manager将登录时提供的名称替换为该模式,并搜索该特定用户。因此,如果用户在Cloudera Manager登录页面上提供用户名“ foo”,则Cloudera Manager将搜索DN
uid=foo,ou=People,dc=corp,dc=com。如果您提供了基本DN和URL,则该模式仅需要指定DN模式的其余部分。例如,如果您提供的URL是
ldap://ldap-server.corp.com/dc=corp,dc=com,模式是
uid={0},ou=People,则搜索DN将是
uid=foo,ou=People,dc=corp,dc=com。9) 重新启动Cloudera Manager Server。
配置Cloudera Manager以使用LDAPS如
果LDAP服务器证书已由受信任的证书颁发机构签名,则下面的步骤1和2可能不是必需的。
1) 将CA证书文件复制到Cloudera Manager Server主机。2) 将CA证书从CA证书文件导入本地truststore。默认truststore位于
$JAVA_HOME/jre/lib/security/cacerts文件中。这包含JDK随附的默认CA信息。在
cacerts文件的相同位置 创建一个备用默认文件
jssecacerts。现在,您可以安全地为默认
cacerts文件中不存在的任何私有或公共CA附加CA证书,同时保持原始文件不变。对于我们的示例,我们将遵循以下建议:将默认
cacerts文件复制到新
jssecacerts文件中,然后将CA证书导入此备用truststore。cp $JAVA_HOME/jre/lib/security/cacerts $JAVA_HOME/jre/lib/security/jssecacerts$ /usr/java/latest/bin/keytool -import -alias nt_domain_name-keystore /usr/java/latest/jre/lib/security/jssecacerts -file path_to_CA_cert
Cacerts
存储
的默认密码是
changeit
。在
-alias
并不总是需要的域名。另外,您可以使用Java选项:
javax.net.ssl.trustStore和
javax.net.ssl.trustStorePassword。打开
/etc/default/cloudera-scm-server文件并添加以下选项:export CMF_JAVA_OPTS="-Xmx2G -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djavax.net.ssl.trustStore=/usr/java/default/jre/lib/security/jssecacerts -Djavax.net.ssl.trustStorePassword=changeit"
3) 配置
LDAP URL属性以 代替 ldaps://
ldap_serverldap://
ldap_server4) 重新启动Cloudera Manager Server。看完上述内容,你们掌握如何使用符合LDAP的身份服务配置身份认证的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!