hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3068) Support secure HTTP communications between RM proxy and AM web endpoint
Date Sat, 17 Jan 2015 12:14:35 GMT

    [ 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

> 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

View raw message