Class WhitelistBasedResolver

java.lang.Object
org.apache.hadoop.security.SaslPropertiesResolver
org.apache.hadoop.security.WhitelistBasedResolver
All Implemented Interfaces:
Configurable

public class WhitelistBasedResolver extends SaslPropertiesResolver
An implementation of the SaslPropertiesResolver. Uses a white list of IPs. If the connection's IP address is in the list of IP addresses, the salProperties will be unchanged. If the connection's IP is not in the list of IP addresses, then QOP for the connection will be restricted to "hadoop.rpc.protection.non-whitelist" Uses 3 IPList implementations together to form an aggregate whitelist. 1. ConstantIPList - to check against a set of hardcoded IPs 2. Fixed IP List - to check against a list of IP addresses which are specified externally, but will not change over runtime. 3. Variable IP List - to check against a list of IP addresses which are specified externally and could change during runtime. A connection IP address will checked against these 3 IP Lists in the order specified above. Once a match is found , the IP address is determined to be in whitelist. The behavior can be configured using a bunch of configuration parameters.
  • Field Details

    • LOG

      public static final org.slf4j.Logger LOG
    • HADOOP_SECURITY_SASL_FIXEDWHITELIST_FILE

      public static final String HADOOP_SECURITY_SASL_FIXEDWHITELIST_FILE
      Path to the file to containing subnets and ip addresses to form fixed whitelist.
      See Also:
    • HADOOP_SECURITY_SASL_VARIABLEWHITELIST_ENABLE

      public static final String HADOOP_SECURITY_SASL_VARIABLEWHITELIST_ENABLE
      Enables/Disables variable whitelist
      See Also:
    • HADOOP_SECURITY_SASL_VARIABLEWHITELIST_FILE

      public static final String HADOOP_SECURITY_SASL_VARIABLEWHITELIST_FILE
      Path to the file to containing subnets and ip addresses to form variable whitelist.
      See Also:
    • HADOOP_SECURITY_SASL_VARIABLEWHITELIST_CACHE_SECS

      public static final String HADOOP_SECURITY_SASL_VARIABLEWHITELIST_CACHE_SECS
      time in seconds by which the variable whitelist file is checked for updates
      See Also:
    • HADOOP_RPC_PROTECTION_NON_WHITELIST

      public static final String HADOOP_RPC_PROTECTION_NON_WHITELIST
      comma separated list containing alternate hadoop.rpc.protection values for clients which are not in whitelist
      See Also:
  • Constructor Details

    • WhitelistBasedResolver

      public WhitelistBasedResolver()
  • Method Details