Configuraciones de autorización avanzada de configuración de guardabosques (9)

Configurar la configuración de autorización avanzada

Cómo personalizar la configuración avanzada del administrador al configurar la autenticación.
Inserte la descripción de la imagen aquí

Desarrollar un módulo de autorización personalizado

En el ecosistema de Hadoop, cada componente (como Hive, HBase) tiene su propia implementación de autorización y se puede conectar a un módulo de autorización personalizado. Para implementar funciones centralizadas de autorización y auditoría para los componentes, los componentes deben admitir módulos de autorización personalizables (o conectables).

El complemento de autorización de componente personalizado debe hacer lo siguiente:
• Proporcionar autorización
basada en la estrategia definida en la herramienta de gestión de políticas • Proporcionar información de auditoría basada en la decisión de autorización
para implementar la autorización de componente personalizado Para implementar el complemento de autorización de componente personalizado en, el marco del agente general de Ranger proporciona las siguientes funciones:
• Capaz de leer todas las políticas de un ID de servicio dado del administrador de servicio.
• Capaz de registrar información de auditoría.
Cuando se inicializa el módulo de autorización personalizado, el módulo debe realizar lo siguiente operaciones:

  1. Inicie una llamada a la API REST a la "Herramienta de administración de políticas" para recuperar todas las políticas relacionadas con un componente específico.
  2. Una vez que la política está disponible, debe:
    • Iniciar el hilo de actualización de la política y actualizar periódicamente la política desde la "Herramienta de administración de políticas".
    Cuando se llama al módulo de autorización personalizado para realizar la autorización de operaciones de componentes (como operaciones de lectura) en recursos de componentes específicos (como la carpeta / app), el módulo de autorización:
    • Identificará las decisiones de autorización para cada política: policyList:
    • Si (recurso en la política autorizar-recurso-solicitado)
    • Si (acción-en-política-acción-solicitada
    • Si (usuario actual o grupos de usuarios actuales o grupo público <política permitida>), devuelve el acceso permitido
    • para cada Política requisitos de auditoría de identificación: policyList
    • If (recurso auth- required -resource in policy), return policy. isauditenabled

Requisitos especiales para entornos de alta disponibilidad

En un entorno de alta disponibilidad, los nodos de nombre activos y en espera deben configurarse de acuerdo con la Guía de administración del sistema HDP.
Para habilitar Ranger en el entorno HDFS HA, el complemento HDFS debe configurarse en cada NameNode y luego apuntar al mismo conjunto de servicios HDFS en el Administrador de seguridad. Cualquier política creada en este servicio HDFS.
Sincronice automáticamente con el nodo de nombre maestro y el nodo de nombre esclavo a través del complemento Apache Ranger instalado. En este caso, si el NameNode primario falla, el NameNode secundario se hará cargo y el complemento Ranger en este NameNode comenzará a implementar la misma política de control de acceso.
Al crear un servicio, se debe incluir el atributo fs.default.name y se debe establecer en el nombre de host completo del NameNode primario. Si el NameNode principal falla durante el proceso de creación de la política, puede usar temporalmente fs.default.name del NameNode en espera en los detalles del servicio para habilitar la búsqueda en el directorio para crear la política.
Cuando se cierra el NameNode principal, si desea crear una nueva estrategia, la experiencia del usuario será ligeramente diferente al especificar la ruta del recurso. Si todo está bien, este es un menú desplegable con una ruta seleccionable; sin embargo, si el clúster se ejecuta desde un nodo de conmutación por error, no habrá un menú desplegable y deberá ingresar la ruta manualmente.
La falla del NameNode primario no afectará la ejecución real de la política. En esta configuración de HA, el conector del administrador en el NameNode secundario impone el control de acceso durante la falla del NameNode primario.
En / etc / ranger / admin, cree un enlace simbólico entre HBase -site.xml y HDFS -site.xml:

cd /etc/ranger/admin
ln -s /etc/hadoop/conf/hdfs-site.xml hdfs-site.xml
ln -s /etc/hbase/conf/hbase-site.xml hbase-site.xml

Configurar la configuración avanzada de Usersync

En la página "Servicio personalizado", seleccione la pestaña "Avanzado" para acceder a la configuración de "Sincronización de usuarios". Usersync extrae usuarios de UNIX, LDAP o AD y usa estos usuarios para completar la tabla de usuarios locales de Ranger.

Acerca de esta tarea

Esta tarea guía al ingeniero de puesta en servicio del software para configurar la información de sincronización avanzada del usuario.
• Unix
• (Requerido) LDAP / AD
• LDAP / AD (Opcional)
• Asignar automáticamente roles ADMIN KEYADMIN para usuarios externos

Procesar
Unix: si usa la autenticación Unix, el valor predeterminado del atributo avanzado ranger-ugsync-site es la configuración de la
autenticación UNIX:

Inserte la descripción de la imagen aquí
LDAP / AD (obligatorio)

a) Configuración avanzada de LDAP ranger-ugsync-site.

Tabla 1: Configuración avanzada de LDAP ranger-ugsync-site

Nombre del Atributo Valor de la variable LDAP
ranger.usersync.ldap.bindkeystore Ajústelo al mismo valor que ranger.usersync.credstore. Por ejemplo, el valor predeterminado es /usr/hdp/current/ranger-usersync/conf/ugsync.jceks
ranger.usersync.ldap.bindalias ranger.usersync.ldap.bindalias
ranger.usersync.source.impl.class LDAP
ranger.usersync.ldap.bindkeystore Ajústelo al mismo valor que ranger.usersync.credstore. Por ejemplo, el valor predeterminado es /usr/hdp/current/ranger-usersync/conf/ugsync.jceks

b) Configuración avanzada del sitio ranger-ugsync de AD

Nombre del Atributo Valor de la variable LDAP
ranger.usersync.source.impl.class LDAP

• LDAP / AD (opcional). Si está utilizando la autenticación LDAP o Active Directory, es posible que deba actualizar los siguientes atributos, según las características de su implementación.

a) Configuración avanzada del sitio ranger-ugsync para LDAP y AD

Tabla 3 Configuración avanzada del sitio ranger-ugsync para LDAP y AD

Nombre de la propiedad Valor LDAP ranger-ugsync-site Valor de AD ranger-ugsync-site
ranger.usersync.ldap.url ldap: //127.0.0.1: 389 ldap: // ad-conrowoller-nombre de host: 389
ranger.usersync.ldap.binddn cn = ldapadmin, ou = usuarios, dc = ejemplo, dc = com , cn = adadmin, cn = Usuarios, dc = ejemplo, dc = com
ranger.usersync.ldap.ldapbindpassword secreto secreto
ranger.usersync.ldap.searchBase dc = ejemplo, dc = com dc = ejemplo, dc = com
ranger.usersync.source.impl.class org.apache.ranger. ladpusersync.process.LdapUserGroupBuilder
ranger.usersync.ldap.user.searchbase ou = usuarios, dc = ejemplo, dc = com dc = ejemplo, dc = com
ranger.usersync.ldap.user.searchscope sub sub
ranger.usersync.ldap.user.objectclass persona persona
ranger.usersync.ldap.user.searchfilter Establecer en un solo espacio vacío si no hay ningún valor. No lo dejes como "vacío" (categoría de objeto = persona)
ranger.usersync.ldap.user.nameattribute uid o cn sAMAccountName
ranger.usersync.ldap.user.groupnameattribute miembro de, es miembro de miembro de, es miembro de
ranger.usersync.ldap.username.caseconversion ninguno ninguno
ranger.usersync.ldap.groupname.caseconversion ninguno ninguno
ranger.usersync.group.searchenabled * falso falso
ranger.usersync.group.usermapsyncenabled * falso falso
ranger.usersync.group.searchbase * ou = grupos, dc = ejemplo, dc = com dc = ejemplo, dc = com
ranger.usersync.group.searchscope * sub sub
ranger.usersync.group.objectclass * grupo de nombres grupo de nombres
ranger.usersync.group.searchfilter * necesario para la autenticación AD (miembro = CN = {0}, OU = MyUsers, DC = AD-HDP, DC = COM)
ranger.usersync.group.nameattribute * cn cn
ranger.usersync.group.memberattributename * miembro miembro
ranger.usersync.pagedresultsenabled * cierto cierto
ranger.usersync.pagedresultssize * 500 500
ranger.usersync.user.searchenabled * falso falso
ranger.usersync.group.search.first.enabled * falso falso

*仅适用于想要过滤掉组的情况。
在Customize Services页面上完成指定所有设置后,单击页面底部的Next继续安装。
•为外部用户自动分配ADMIN KEYADMIN角色。您可以使用usersync在Ranger中使用ADMIN或KEYADMIN角色标记特定的外部用户或特定外部组中的用户。这在不允许内部用户登录Ranger的情况下很有用。
a)从Ambari>Ranger>Configs>Advanced>Custom Ranger -ugsync-site,选择添加属性。
b)添加以下属性:
•ranger.usersync.role.assign .list.delimiter = &默认值为&。•ranger.usersync.users.groups.assign .list.delimiter =:默认值为:。
•ranger.usersync.username.groupname.assign .list.delimiter =,默认值为,。
•ranger.usersync.group.based.role.assignment.rules = ROLE_SYS_ADMIN:u:userName1,userName2&ROLE_SYS_ADMIN:g:groupName1,groupName2&ROLE_KEY_ADMIN:u:userName&ROLE_KEY_ADMIN:g:groupName&ROLE_USER:u:userName3,userName4&ROLE_USER:g:groupName
c)单击Add。
d)重启管理员。

ranger.usersync.role.assignment.list.delimiter = &
ranger.usersync.users.groups.assignment.list.delimiter = :
ranger.usersync.username.groupname.assignment.list.delimiter = ,
ranger.usersync.group.based.role.assignment.rules :
 &ROLE_SYS_ADMIN:u:ldapuser_12,ldapuser2

配置用户同步LDAP SSL

如何使用默认管理员用户同步信任存储中的自签名证书配置LDAP SSL。

过程

  1. 默认位置为/usr/hdp/current/rangerusersync/conf/mytruststore。jks为ranger.usersync.truststore。文件属性。
  2. 或者,复制并编辑自签名的ca证书。
  3. 设置ranger.usersync.truststore。属性设置为新的cacert文件。
cd /usr/hdp/<version>/ranger-usersync 
service ranger-usersync stop 
service ranger-usersync start

其中cert.pem包含LDAPS证书。

在不共享DBA凭据的情况下设置数据库用户

如果不希望向Ambari Ranger安装程序提供系统数据库管理员(DBA)帐户详细信息,可以使用dba_script.py Python脚本创建Ranger DB数据库用户,而不必将DBA帐户信息暴露给Ambari Ranger安装程序。然后,您可以运行正常的Ambari Ranger安装,而不需要指定DBA用户名和密码。

过程

  1. 使用yum install命令下载Ranger rpm: yum install Ranger -admin。

  2. 您应该会在/usr/hdp/current/ranger-admin目录下看到一个名为dba_script.py的文件。

3.在内部审查脚本,并验证DBA是否被授权运行脚本。

  1. 执行如下命令:python dba_script.py。

  2. 传递参数中需要的所有值。这些参数应该包括db样式、JDBC jar、db主机、db名称、db用户和其他参数。
    •如果你不想通过命令提示符传递运行时参数,你可以更新/usr/hdp/ current/ranger-admin/install。当指定-q选项时,脚本将从安装中读取所有必需的信息。属性文件。
    •您可以使用-d选项在“dry”模式下运行脚本。以干模式运行脚本会生成数据库脚本。

python dba_script.py -d /tmp/generated-script.sql

•任何人都可以运行该脚本,但建议系统DBA以dry模式运行该脚本。在任何一种情况下,系统DBA都应该检查生成的脚本,但应该只对脚本进行较小的调整,例如,更改特定数据库文件的位置。不应该对脚本进行重大更改,否则Ranger安装可能会失败。
然后,系统DBA必须运行生成的脚本
6. 运行Ranger Ambari安装过程,但是在定制服务页面的Ranger Admin部分将Setup Database和Database User设置为No。

更新管理员管理员密码

对于某些用户,如果您更新了Ranger Configs页面上的密码,那么您还必须更新启用了Ranger插件的每个Ambari组件的Configs页面上的密码。
单个Ambari组件配置不会自动更新——如果不更新每个组件上的这些密码,服务重启将失败。
•Ranger Admin用户——该用户的凭证设置在Configs > Advanced Ranger -env中标签为admin_username(默认值:Admin)和admin_password(默认值:Admin)的字段中。
•Ambari用于创建repo/policies的Admin用户——该用户的用户名设置在Configs > Admin Settings中,标签为“Ranger Admin Admin”的字段中(默认值:amb_ranger_admin)。该用户的密码在标记为Ranger Admin user’s password for Ambari的字段中设置。此密码是在Ranger安装期间指定的。

下图显示了Ranger配置页面上这些设置的位置:
Inserte la descripción de la imagen aquí
管理员密码要求

Introduzca los requisitos de contraseña de Ranger y Ranger KMS. Requisitos de contraseña de usuario de administrador:
• Al menos 8 caracteres
• Debe incluir al menos una letra y un carácter numérico
• No se pueden incluir los siguientes caracteres especiales no admitidos: "'\' Requisitos de contraseña de usuario de base de datos de Ranger y Ranger KMS:
• No se pueden incluir los siguientes caracteres especiales caracteres: "'\' Requisitos de contraseña de instancia de base de datos Ranger:
• Consulte los requisitos de contraseña del tipo de base de datos aplicable (MySQL, PostgreSQL, Oracle, etc.)

Supongo que te gusta

Origin blog.csdn.net/m0_48187193/article/details/114847364
Recomendado
Clasificación