[ 
https://issues.apache.org/jira/browse/HADOOP-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Raghu Angadi updated HADOOP-2184:
---------------------------------

    Attachment: HADOOP-2184-demo.patch

Attached a "demo" patch. This is not really meant for inclusion but shows how 
this feature works. Some of the changes in the patch are temporary.

- User ticket passed through {{getProxy()}} call. This will change once we have 
HADOOP-1701 and friends. Thats ok.
- The main meat : when ticket is set, RPC Client invokes a RPC call every time 
it opens a new socket.
-- Since this RPC is internal, it uses another InvocationHandler so that we 
still use all the RPC utilities.
-- Some rearrangement of code in ipc pacakge.
-- Now a 'connection' is identified by remote address and ticket instead of 
just by remote address.
- VersionProtocolWithTicket is temporary to this patch in order to avoid 
changing all the implementors of VersionsedProtocol.
- As an example use, {{open()}} in NameNode prints the user name.
- {{Client.TempTicket}} is just a place holder for 'real ticket'.

 


> RPC Support for user permissions and authentication.
> ----------------------------------------------------
>
>                 Key: HADOOP-2184
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2184
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: ipc
>    Affects Versions: 0.15.0
>            Reporter: Tsz Wo (Nicholas), SZE
>            Assignee: Raghu Angadi
>             Fix For: 0.16.0
>
>         Attachments: HADOOP-2184-demo.patch
>
>
> Update 11/13/2007: What is proposed for 0.16.0 :
> The client can set a user ticket (as defined in HADOOP-1701) for each 
> connection and that ticket is made available to RPC calls at the server. The 
> client can replace the ticket at any time. The main advantage is that rest of 
> the the client RPCs don't need to be aware of the user tickets.
> What RPC would ideally support in future :
> In the current version of RPC, there is no authentication or data protection. 
>  We propose to change the RPC framework, so that secure communication is 
> possible.
> The new RPC should:
> - Compatible with current RPC
> - Allow a pluggable security implementations (see HADOOP-1701)
> - Support both secure and non-secure modes.
> Here is a rough idea:
> - Store security information (e.g. username, keys) in a ticket
> - Use the ticket to establish a RPC connection
> - Create secure sockets by the (subclass of) SocketFactory corresponding to 
> the selected security implementations
> - Send the data and RPC parameters with the secure sockets
> When authentication is supported, the RPC callee should also initialize 
> caller information during RPC setup and execute the RPC on the caller's 
> behalf.

-- 
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