[ 
https://issues.apache.org/jira/browse/HADOOP-4348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12653346#action_12653346
 ] 

Enis Soztutar commented on HADOOP-4348:
---------------------------------------

I have a few questions regarding the patch :

#Is there any advantage of doing authentication check in RPC rather than 
ipc.Server? If this one is better, then shouldn't ipc.Server#authorize() be an 
abstract method rather than one with empty body. 

# I understand that current configuration of policy is inline with queue 
configuration. However I am not comfortable with Service and PolicyProvider 
classes only holding key name ->protocol name mappings. I propose we 
## introduce Configuration#keys() method returning key names in the 
configuration.
## configure the acls like :
{code} 
<property>
  
<name>security.connectionPermission.org.apache.hadoop.mapred.JobSubmissionProtocol</name>
  <value>*</value>
  <description></description>
</property>
{code} 
## search for keys starting with prefix "security.connectionPermission" and 
load them. Sure, the whole configuration keys will be searched, which is in the 
order of 100s, but I guess it will be acceptable. Moreover we can use 
configuration w/o default resources (see below).

#In ConfiguredPolicy#refresh() with every reload request conf.resources 
arraylist gets appended which is a leak. I guess we should create a new 
Configuration w/o loading default resources and add hadoop-policy.xml to it. 
Alternatively we can get rid of hadoop-policy.xml, and configure everything 
with hadoop-site.xml (core-site.xml), and use 
Configuration#reloadConfiguration() in ConfiguredPolicy#refresh(). 

Minor things : 
#mradmin and refresh-auth-policy seems good. 
# the LOG.info() in ConfiguredPolicy#implies() seems redundant. 

> Adding service-level authorization to Hadoop
> --------------------------------------------
>
>                 Key: HADOOP-4348
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4348
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: security
>            Reporter: Kan Zhang
>            Assignee: Arun C Murthy
>             Fix For: 0.20.0
>
>         Attachments: HADOOP-4348_0_20081022.patch, 
> HADOOP-4348_1_20081201.patch, HADOOP-4348_2_20081202.patch, 
> HADOOP-4348_3_20081204.patch, jaas_service_v1.patch, jaas_service_v2.patch, 
> jaas_service_v3.patch, ServiceLevelAuthorization.pdf, 
> ServiceLevelAuthorization.pdf
>
>
> Service-level authorization is the initial checking done by a Hadoop service 
> to find out if a connecting client is a pre-defined user of that service. If 
> not, the connection or service request will be declined. This feature allows 
> services to limit access to a clearly defined group of users. For example, 
> service-level authorization allows "world-readable" files on a HDFS cluster 
> to be readable only by the pre-defined users of that cluster, not by anyone 
> who can connect to the cluster. It also allows a M/R cluster to define its 
> group of users so that only those users can submit jobs to it.
> Here is an initial list of requirements I came up with.
>     1. Users of a cluster is defined by a flat list of usernames and groups. 
> A client is a user of the cluster if and only if her username is listed in 
> the flat list or one of her groups is explicitly listed in the flat list. 
> Nested groups are not supported.
>     2. The flat list is stored in a conf file and pushed to every cluster 
> node so that services can access them.
>     3. Services will monitor the modification of the conf file periodically 
> (5 mins interval by default) and reload the list if needed.
>     4. Checking against the flat list is done as early as possible and before 
> any other authorization checking. Both HDFS and M/R clusters will implement 
> this feature.
>     5. This feature can be switched off and is off by default.
> I'm aware of interests in pulling user data from LDAP. For this JIRA, I 
> suggest we implement it using a conf file. Additional data sources may be 
> supported via new JIRA's.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to