You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2015/01/17 13:14:35 UTC

[jira] [Commented] (YARN-3068) Support secure HTTP communications between RM proxy and AM web endpoint

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

Steve Loughran commented on YARN-3068:
--------------------------------------

Jon, I think you meant to say "the RM will create a shared secret"

Note that this feature will also catch the dev-time situation where, if your test code is running on the same host as the RM, you can talk direct to the AM without being 302'd to the proxy. That is, it enforces the same HTTP proxy chain in standalone & minicluster as in production

> Support secure HTTP communications between RM proxy and AM web endpoint
> -----------------------------------------------------------------------
>
>                 Key: YARN-3068
>                 URL: https://issues.apache.org/jira/browse/YARN-3068
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: applications, resourcemanager
>            Reporter: Jonathan Maron
>
> When exposing a web endpoint for UI and REST, an AM is dependent on the RM as a proxy for incoming interactions.  The RM web proxy supports security features such as SSL and SPNEGO.  However, those security mechanisms are not supported by the AM, and supporting them directly at the AM would require some complex implementation details and configuration (not to mention that given the proxying relationship they may be considered somewhat redundant).
> In order to ensure that there is a measure of security (trust) between the RM web proxy and the AM, the following mechanism is suggested:
> - The AM will create a shared secret and propagate it to the AM during AM launch (e.g. it could be part of the existing credentials).
> - The web proxy will leverage the shared secret to encrypt an agreed upon text (e.g. the container ID) and an associated expiry time (to mitigate potential request spoofing).
> - The AM will decrypt the text leveraging the shared secret and, if successful and the expiry time has not been reached, proceed with the request processing (probably appropriate to perform these checks in the existing AmIpFilter or a specific trust filter).
> Note that this feature is key to supporting interactions between Knox and AM REST resources, since those interactions depend on trusted proxy support the RM can provide (via its current SPNEGO and "doAs" support), allowing AM's to focus on performing their processing based on the established doAs identity (established at the RM and related to the AM via a trusted path).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)