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

Santhosh G Nayak commented on HADOOP-14935:
-------------------------------------------

[~tmarquardt], according to HDFS permissions guide, traversal check is required 
for all the operations. But, wasb authorization permission spec does not have 
traversal check. The main reason to use READ as a substitute to traversal as a 
*compromise* was to have a protection against wrongly diagnosed security issue 
with hive. Now that it is clearly understood that the same security issue can 
be resolved using the implementation of {{access()}} method in 
{{NativeAzureFileSystem}}, authorization check from {{getFileStatus()}} alone 
can be removed. 

However, it is not understood, if {{getFileStatus()}} is used instead of 
{{access()}} in other applications. So, the main motivation to add 
{{fs.azure.enable.authorization.getfilestatus}} is to be able to *reintroduce 
authorization check for {{getFileStatus()}}* easily, if security related issues 
are exposed in other applications in authorization enabled secure cluster 
without having to change the code which involves longer turn around time. This 
cannot be achieved using {{azure Authorization}} configuration alone, as it is 
meant for all the file system operations. I hope this clarifies the confusion. 

> Azure: POSIX permissions are taking effect in access() method even when 
> authorization is enabled
> ------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-14935
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14935
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/azure
>    Affects Versions: 2.9.0
>            Reporter: Santhosh G Nayak
>            Assignee: Santhosh G Nayak
>         Attachments: HADOOP-14935-003.patch, HADOOP-14935-004.patch, 
> HADOOP-14935.1.patch, HADOOP-14935.2.patch
>
>
> FileSystem implementation class for azure i.e. {{NativeAzureFileSystem}} does 
> not override {{access(path,mode)}} method and uses the default implementation 
> from the base class. This base implementaion uses the POSIX permissions to 
> check if the requested user has access to given path or not even when 
> authorization is enabled, which is incorrect.
> {{NativeAzureFileSystem.access()}} in authorization enabled mode should use 
> the authorization mechanism provided instead of relying on the POSIX 
> permission ons. So the proposal is to override {{FileSystem.access()}} method 
> in {{NativeAzureFileSystem}} such that it honors the authorization mechanism 
> configured in authorization enabled mode and falls back to POSIX permissions 
> otherwise.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to