accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-3513) Ensure MapReduce functionality with Kerberos enabled
Date Wed, 28 Jan 2015 02:56:34 GMT


Josh Elser commented on ACCUMULO-3513:

bq. Without the whitelist, and only the delegation token, all we can do is trust that the
MapReduce layer authenticated the client at some point, for some purpose. With the whitelist,
we can trust that we've vetted the MapReduce layer to function properly. If we already have
that degree of trust, the delegation token is kinda moot.

I'm not sure you understand how the delegation token would work. The client would need to
communicate with an Accumulo process to obtain some shared secret between Accumulo and that
client. So, in addition to knowing that YARN is vetting that the "real" user is running the
tasks on YARN, we know that the "real" user is going to be communicating with us using the
shared secret we agreed upon.

When YARN actually runs the tasks for us, as that unix user acct tied to the client, that
yarn task will have the shared secret (that we trust YARN to keep safe when it leaves the
client's possession and go into the cluster), we let Accumulo RPCs happen using the shared
secret instead of the KRB credentials. The YARN task isn't connecting to Accumulo with it's
principals because, again, it's not running as a {{yarn}} user, but the "real" user".

So, no. I say again that the delegation token is not moot :)

> Ensure MapReduce functionality with Kerberos enabled
> ----------------------------------------------------
>                 Key: ACCUMULO-3513
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>          Components: client
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>            Priority: Blocker
>             Fix For: 1.7.0
> I talked to [~devaraj] today about MapReduce support running on secure Hadoop to help
get a picture about what extra might be needed to make this work.
> Generally, in Hadoop and HBase, the client must have valid credentials to submit a job,
then the notion of delegation tokens is used by for further communication since the servers
do not have access to the client's sensitive information. A centralized service manages creation
of a delegation token which is a record which contains certain information (such as the submitting
user name) necessary to securely identify the holder of the delegation token.
> The general idea is that we would need to build support into the master to manage delegation
tokens to node managers to acquire and use to run jobs. Hadoop and HBase both contain code
which implements this general idea, but we will need to apply them Accumulo and verify that
it is M/R jobs still work on a kerberized environment.

This message was sent by Atlassian JIRA

View raw message