Near the bottom of the bylaws, it states that addition of a "New Branch
Committer" requires "Lazy consensus of active PMC members."  I think this
means that you'll need to get a PMC member to sponsor the vote for you.
 Regular committer votes happen on the private PMC mailing list, and I
assume it would be the same for a branch committer vote.

http://hadoop.apache.org/bylaws.html

Chris Nauroth
Hortonworks
http://hortonworks.com/



On Tue, Aug 6, 2013 at 2:48 PM, Larry McCay <lmc...@hortonworks.com> wrote:

> That sounds perfect!
> I have been thinking of late that we would maybe need an incubator project
> or something for this - which would be unfortunate.
>
> This would allow us to move much more quickly with a set of patches broken
> up into consumable/understandable chunks that are made functional more
> easily within the branch.
> I assume that we need to start a separate thread for DISCUSS or VOTE to
> start that process - correct?
>
> On Aug 6, 2013, at 4:15 PM, Alejandro Abdelnur <t...@cloudera.com> wrote:
>
> > yep, that is what I meant. Thanks Chris
> >
> >
> > On Tue, Aug 6, 2013 at 1:12 PM, Chris Nauroth <cnaur...@hortonworks.com
> >wrote:
> >
> >> Perhaps this is also a good opportunity to try out the new "branch
> >> committers" clause in the bylaws, enabling non-committers who are
> working
> >> on this to commit to the feature branch.
> >>
> >>
> >>
> http://mail-archives.apache.org/mod_mbox/hadoop-general/201308.mbox/%3CCACO5Y4we4d8knB_xU3a=hr2gbeqo5m3vau+inba0li1i9e2...@mail.gmail.com%3E
> >>
> >> Chris Nauroth
> >> Hortonworks
> >> http://hortonworks.com/
> >>
> >>
> >>
> >> On Tue, Aug 6, 2013 at 1:04 PM, Alejandro Abdelnur <t...@cloudera.com
> >>> wrote:
> >>
> >>> Larry,
> >>>
> >>> Sorry for the delay answering. Thanks for laying down things, yes, it
> >> makes
> >>> sense.
> >>>
> >>> Given the large scope of the changes, number of JIRAs and number of
> >>> developers involved, wouldn't make sense to create a feature branch for
> >> all
> >>> this work not to destabilize (more ;) trunk?
> >>>
> >>> Thanks again.
> >>>
> >>>
> >>> On Tue, Jul 30, 2013 at 9:43 AM, Larry McCay <lmc...@hortonworks.com>
> >>> wrote:
> >>>
> >>>> The following JIRA was filed to provide a token and basic authority
> >>>> implementation for this effort:
> >>>> https://issues.apache.org/jira/browse/HADOOP-9781
> >>>>
> >>>> I have attached an initial patch though have yet to submit it as one
> >>> since
> >>>> it is dependent on the patch for CMF that was posted to:
> >>>> https://issues.apache.org/jira/browse/HADOOP-9534
> >>>> and this patch still has a couple outstanding issues - javac warnings
> >> for
> >>>> com.sun classes for certification generation and 11 javadoc warnings.
> >>>>
> >>>> Please feel free to review the patches and raise any questions or
> >>> concerns
> >>>> related to them.
> >>>>
> >>>> On Jul 26, 2013, at 8:59 PM, Larry McCay <lmc...@hortonworks.com>
> >> wrote:
> >>>>
> >>>>> Hello All -
> >>>>>
> >>>>> In an effort to scope an initial iteration that provides value to the
> >>>> community while focusing on the pluggable authentication aspects, I've
> >>>> written a description for "Iteration 1". It identifies the goal of the
> >>>> iteration, the endstate and a set of initial usecases. It also
> >> enumerates
> >>>> the components that are required for each usecase. There is a scope
> >>> section
> >>>> that details specific things that should be kept out of the first
> >>>> iteration. This is certainly up for discussion. There may be some of
> >>> these
> >>>> things that can be contributed in short order. If we can add some
> >> things
> >>> in
> >>>> without unnecessary complexity for the identified usecases then we
> >>> should.
> >>>>>
> >>>>> @Alejandro - please review this and see whether it satisfies your
> >> point
> >>>> for a definition of what we are building.
> >>>>>
> >>>>> In addition to the document that I will paste here as text and
> >> attach a
> >>>> pdf version, we have a couple patches for components that are
> >> identified
> >>> in
> >>>> the document.
> >>>>> Specifically, COMP-7 and COMP-8.
> >>>>>
> >>>>> I will be posting COMP-8 patch to the HADOOP-9534 JIRA which was
> >> filed
> >>>> specifically for that functionality.
> >>>>> COMP-7 is a small set of classes to introduce JsonWebToken as the
> >> token
> >>>> format and a basic JsonWebTokenAuthority that can issue and verify
> >> these
> >>>> tokens.
> >>>>>
> >>>>> Since there is no JIRA for this yet, I will likely file a new JIRA
> >> for
> >>> a
> >>>> SSO token implementation.
> >>>>>
> >>>>> Both of these patches assume to be modules within
> >>>> hadoop-common/hadoop-common-project.
> >>>>> While they are relatively small, I think that they will be pulled in
> >> by
> >>>> other modules such as hadoop-auth which would likely not want a
> >>> dependency
> >>>> on something larger like
> >>> hadoop-common/hadoop-common-project/hadoop-common.
> >>>>>
> >>>>> This is certainly something that we should discuss within the
> >> community
> >>>> for this effort though - that being, exactly how to add these
> libraries
> >>> so
> >>>> that they are most easily consumed by existing projects.
> >>>>>
> >>>>> Anyway, the following is the Iteration-1 document - it is also
> >> attached
> >>>> as a pdf:
> >>>>>
> >>>>> Iteration 1: Pluggable User Authentication and Federation
> >>>>>
> >>>>> Introduction
> >>>>> The intent of this effort is to bootstrap the development of
> >> pluggable
> >>>> token-based authentication mechanisms to support certain goals of
> >>>> enterprise authentication integrations. By restricting the scope of
> >> this
> >>>> effort, we hope to provide immediate benefit to the community while
> >>> keeping
> >>>> the initial contribution to a manageable size that can be easily
> >>> reviewed,
> >>>> understood and extended with further development through follow up
> >> JIRAs
> >>>> and related iterations.
> >>>>>
> >>>>> Iteration Endstate
> >>>>> Once complete, this effort will have extended the authentication
> >>>> mechanisms - for all client types - from the existing: Simple,
> Kerberos
> >>> and
> >>>> Plain (for RPC) to include LDAP authentication and SAML based
> >> federation.
> >>>> In addition, the ability to provide additional/custom authentication
> >>>> mechanisms will be enabled for users to plug in their preferred
> >>> mechanisms.
> >>>>>
> >>>>> Project Scope
> >>>>> The scope of this effort is a subset of the features covered by the
> >>>> overviews of HADOOP-9392 and HADOOP-9533. This effort concentrates on
> >>>> enabling Hadoop to issue, accept/validate SSO tokens of its own. The
> >>>> pluggable authentication mechanism within SASL/RPC layer and the
> >>>> authentication filter pluggability for REST and UI components will be
> >>>> leveraged and extended to support the results of this effort.
> >>>>>
> >>>>> Out of Scope
> >>>>> In order to scope the initial deliverable as the minimally viable
> >>>> product, a handful of things have been simplified or left out of scope
> >>> for
> >>>> this effort. This is not meant to say that these aspects are not
> useful
> >>> or
> >>>> not needed but that they are not necessary for this iteration. We do
> >>>> however need to ensure that we don’t do anything to preclude adding
> >> them
> >>> in
> >>>> future iterations.
> >>>>> 1. Additional Attributes - the result of authentication will continue
> >>> to
> >>>> use the existing hadoop tokens and identity representations.
> Additional
> >>>> attributes used for finer grained authorization decisions will be
> added
> >>>> through follow-up efforts.
> >>>>> 2. Token revocation - the ability to revoke issued identity tokens
> >> will
> >>>> be added later
> >>>>> 3. Multi-factor authentication - this will likely require additional
> >>>> attributes and is not necessary for this iteration.
> >>>>> 4. Authorization changes - we will require additional attributes for
> >>> the
> >>>> fine-grained access control plans. This is not needed for this
> >> iteration.
> >>>>> 5. Domains - we assume a single flat domain for all users
> >>>>> 6. Kinit alternative - we can leverage existing REST clients such as
> >>>> cURL to retrieve tokens through authentication and federation for the
> >>> time
> >>>> being
> >>>>> 7. A specific authentication framework isn’t really necessary within
> >>> the
> >>>> REST endpoints for this iteration. If one is available then we can use
> >> it
> >>>> otherwise we can leverage existing things like Apache Shiro within a
> >>>> servlet filter.
> >>>>>
> >>>>> In Scope
> >>>>> What is in scope for this effort is defined by the usecases described
> >>>> below. Components required for supporting the usecases are summarized
> >> for
> >>>> each client type. Each component is a candidate for a JIRA subtask -
> >>> though
> >>>> multiple components are likely to be included in a JIRA to represent a
> >>> set
> >>>> of functionality rather than individual JIRAs per component.
> >>>>>
> >>>>> Terminology and Naming
> >>>>> The terms and names of components within this document are merely
> >>>> descriptive of the functionality that they represent. Any similarity
> or
> >>>> difference in names or terms from those that are found in other
> >> documents
> >>>> are not intended to make any statement about those other documents or
> >> the
> >>>> descriptions within. This document represents the pluggable
> >>> authentication
> >>>> mechanisms and server functionality required to replace Kerberos.
> >>>>>
> >>>>> Ultimately, the naming of the implementation classes will be a
> >> product
> >>>> of the patches accepted by the community.
> >>>>>
> >>>>> Usecases:
> >>>>> client types: REST, CLI, UI
> >>>>> authentication types: Simple, Kerberos, authentication/LDAP,
> >>>> federation/SAML
> >>>>>
> >>>>> Simple and Kerberos
> >>>>> Simple and Kerberos usecases continue to work as they do today. The
> >>>> addition of Authentication/LDAP and Federation/SAML are added through
> >> the
> >>>> existing pluggability points either as they are or with required
> >>> extension.
> >>>> Either way, continued support for Simple and Kerberos must not require
> >>>> changes to existing deployments in the field as a result of this
> >> effort.
> >>>>>
> >>>>> REST
> >>>>> USECASE REST-1 Authentication/LDAP:
> >>>>> For REST clients, we will provide the ability to:
> >>>>> 1. use cURL to Authenticate via LDAP through an IdP endpoint exposed
> >> by
> >>>> an AuthenticationServer instance via REST calls to:
> >>>>>   a. authenticate - passing username/password returning a hadoop
> >>>> id_token
> >>>>>   b. get-access-token - from the TokenGrantingService by passing the
> >>>> hadoop id_token as an Authorization: Bearer token along with the
> >> desired
> >>>> service name (master service name) returning a hadoop access token
> >>>>> 2. Successfully invoke a hadoop service REST API passing the hadoop
> >>>> access token through an HTTP header as an Authorization Bearer token
> >>>>>   a. validation of the incoming token on the service endpoint is
> >>>> accomplished by an SSOAuthenticationHandler
> >>>>> 3. Successfully block access to a REST resource when presenting a
> >>> hadoop
> >>>> access token intended for a different service
> >>>>>   a. validation of the incoming token on the service endpoint is
> >>>> accomplished by an SSOAuthenticationHandler
> >>>>>
> >>>>> USECASE REST-2 Federation/SAML:
> >>>>> We will also provide federation capabilities for REST clients such
> >>> that:
> >>>>> 1. acquire SAML assertion token from a trusted IdP (shibboleth?) and
> >>>> persist in a permissions protected file - ie.
> >> ~/.hadoop_tokens/.idp_token
> >>>>> 2. use cURL to Federate a token from a trusted IdP through an SP
> >>>> endpoint exposed by an AuthenticationServer(FederationServer?)
> instance
> >>> via
> >>>> REST calls to:
> >>>>>   a. federate - passing a SAML assertion as an Authorization: Bearer
> >>>> token returning a hadoop id_token
> >>>>>      - can copy and paste from commandline or use cat to include
> >>>> persisted token through "--Header Authorization: Bearer 'cat
> >>>> ~/.hadoop_tokens/.id_token'"
> >>>>>   b. get-access-token - from the TokenGrantingService by passing the
> >>>> hadoop id_token as an Authorization: Bearer token along with the
> >> desired
> >>>> service name (master service name) to the TokenGrantingService
> >> returning
> >>> a
> >>>> hadoop access token
> >>>>> 3. Successfully invoke a hadoop service REST API passing the hadoop
> >>>> access token through an HTTP header as an Authorization Bearer token
> >>>>>   a. validation of the incoming token on the service endpoint is
> >>>> accomplished by an SSOAuthenticationHandler
> >>>>> 4. Successfully block access to a REST resource when presenting a
> >>> hadoop
> >>>> access token intended for a different service
> >>>>>   a. validation of the incoming token on the service endpoint is
> >>>> accomplished by an SSOAuthenticationHandler
> >>>>>
> >>>>> REQUIRED COMPONENTS for REST USECASES:
> >>>>> COMP-1. REST client - cURL or similar
> >>>>> COMP-2. REST endpoint for BASIC authentication to LDAP - IdP endpoint
> >>>> example - returning hadoop id_token
> >>>>> COMP-3. REST endpoint for federation with SAML Bearer token -
> >>> shibboleth
> >>>> SP?|OpenSAML? - returning hadoop id_token
> >>>>> COMP-4. REST TokenGrantingServer endpoint for acquiring hadoop access
> >>>> tokens from hadoop id_tokens
> >>>>> COMP-5. SSOAuthenticationHandler to validate incoming hadoop access
> >>>> tokens
> >>>>> COMP-6. some source of a SAML assertion - shibboleth IdP?
> >>>>> COMP-7. hadoop token and authority implementations
> >>>>> COMP-8. core services for crypto support for signing, verifying and
> >> PKI
> >>>> management
> >>>>>
> >>>>> CLI
> >>>>> USECASE CLI-1 Authentication/LDAP:
> >>>>> For CLI/RPC clients, we will provide the ability to:
> >>>>> 1. use cURL to Authenticate via LDAP through an IdP endpoint exposed
> >> by
> >>>> an AuthenticationServer instance via REST calls to:
> >>>>>   a. authenticate - passing username/password returning a hadoop
> >>>> id_token
> >>>>>      - for RPC clients we need to persist the returned hadoop
> >> identity
> >>>> token in a file protected by fs permissions so that it may be
> leveraged
> >>>> until expiry
> >>>>>      - directing the returned response to a file may suffice for now
> >>>> something like ">~/.hadoop_tokens/.id_token"
> >>>>> 2. use hadoop CLI to invoke RPC API on a specific hadoop service
> >>>>>   a. RPC client negotiates a TokenAuth method through SASL layer,
> >>>> hadoop id_token is retrieved from ~/.hadoop_tokens/.id_token is passed
> >> as
> >>>> Authorization: Bearer token to the get-access-token REST endpoint
> >> exposed
> >>>> by TokenGrantingService returning a hadoop access token
> >>>>>   b. RPC server side validates the presented hadoop access token and
> >>>> continues to serve request
> >>>>>   c. Successfully invoke a hadoop service RPC API
> >>>>>
> >>>>> USECASE CLI-2 Federation/SAML:
> >>>>> For CLI/RPC clients, we will provide the ability to:
> >>>>> 1. acquire SAML assertion token from a trusted IdP (shibboleth?) and
> >>>> persist in a permissions protected file - ie.
> >> ~/.hadoop_tokens/.idp_token
> >>>>> 2. use cURL to Federate a token from a trusted IdP through an SP
> >>>> endpoint exposed by an AuthenticationServer(FederationServer?)
> instance
> >>> via
> >>>> REST calls to:
> >>>>>   a. federate - passing a SAML assertion as an Authorization: Bearer
> >>>> token returning a hadoop id_token
> >>>>>      - can copy and paste from commandline or use cat to include
> >>>> previously persisted token through "--Header Authorization: Bearer
> 'cat
> >>>> ~/.hadoop_tokens/.id_token'"
> >>>>> 3. use hadoop CLI to invoke RPC API on a specific hadoop service
> >>>>>   a. RPC client negotiates a TokenAuth method through SASL layer,
> >>>> hadoop id_token is retrieved from ~/.hadoop_tokens/.id_token is passed
> >> as
> >>>> Authorization: Bearer token to the get-access-token REST endpoint
> >> exposed
> >>>> by TokenGrantingService returning a hadoop access token
> >>>>>   b. RPC server side validates the presented hadoop access token and
> >>>> continues to serve request
> >>>>>   c. Successfully invoke a hadoop service RPC API
> >>>>>
> >>>>> REQUIRED COMPONENTS for CLI USECASES - (beyond those required for
> >>> REST):
> >>>>> COMP-9. TokenAuth Method negotiation, etc
> >>>>> COMP-10. Client side implementation to leverage REST endpoint for
> >>>> acquiring hadoop access tokens given a hadoop id_token
> >>>>> COMP-11. Server side implementation to validate incoming hadoop
> >> access
> >>>> tokens
> >>>>>
> >>>>> UI
> >>>>> Various Hadoop services have their own web UI consoles for
> >>>> administration and end user interactions. These consoles need to also
> >>>> benefit from the pluggability of authentication mechansims to be on
> par
> >>>> with the access control of the cluster REST and RPC APIs.
> >>>>> Web consoles are protected with an WebSSOAuthenticationHandler which
> >>>> will be configured for either authentication or federation.
> >>>>>
> >>>>> USECASE UI-1 Authentication/LDAP:
> >>>>> For the authentication usecase:
> >>>>> 1. User’s browser requests access to a UI console page
> >>>>> 2. WebSSOAuthenticationHandler intercepts the request and redirects
> >> the
> >>>> browser to an IdP web endpoint exposed by the AuthenticationServer
> >>> passing
> >>>> the requested url as the redirect_url
> >>>>> 3. IdP web endpoint presents the user with a FORM over https
> >>>>>   a. user provides username/password and submits the FORM
> >>>>> 4. AuthenticationServer authenticates the user with provided
> >>> credentials
> >>>> against the configured LDAP server and:
> >>>>>   a. leverages a servlet filter or other authentication mechanism
> >> for
> >>>> the endpoint and authenticates the user with a simple LDAP bind with
> >>>> username and password
> >>>>>   b. acquires a hadoop id_token and uses it to acquire the required
> >>>> hadoop access token which is added as a cookie
> >>>>>   c. redirects the browser to the original service UI resource via
> >> the
> >>>> provided redirect_url
> >>>>> 5. WebSSOAuthenticationHandler for the original UI resource
> >>> interrogates
> >>>> the incoming request again for an authcookie that contains an access
> >>> token
> >>>> upon finding one:
> >>>>>   a. validates the incoming token
> >>>>>   b. returns the AuthenticationToken as per AuthenticationHandler
> >>>> contract
> >>>>>   c. AuthenticationFilter adds the hadoop auth cookie with the
> >>> expected
> >>>> token
> >>>>>   d. serves requested resource for valid tokens
> >>>>>   e. subsequent requests are handled by the AuthenticationFilter
> >>>> recognition of the hadoop auth cookie
> >>>>>
> >>>>> USECASE UI-2 Federation/SAML:
> >>>>> For the federation usecase:
> >>>>> 1. User’s browser requests access to a UI console page
> >>>>> 2. WebSSOAuthenticationHandler intercepts the request and redirects
> >> the
> >>>> browser to an SP web endpoint exposed by the AuthenticationServer
> >> passing
> >>>> the requested url as the redirect_url. This endpoint:
> >>>>>   a. is dedicated to redirecting to the external IdP passing the
> >>>> required parameters which may include a redirect_url back to itself as
> >>> well
> >>>> as encoding the original redirect_url so that it can determine it on
> >> the
> >>>> way back to the client
> >>>>> 3. the IdP:
> >>>>>   a. challenges the user for credentials and authenticates the user
> >>>>>   b. creates appropriate token/cookie and redirects back to the
> >>>> AuthenticationServer endpoint
> >>>>> 4. AuthenticationServer endpoint:
> >>>>>   a. extracts the expected token/cookie from the incoming request
> >> and
> >>>> validates it
> >>>>>   b. creates a hadoop id_token
> >>>>>   c. acquires a hadoop access token for the id_token
> >>>>>   d. creates appropriate cookie and redirects back to the original
> >>>> redirect_url - being the requested resource
> >>>>> 5. WebSSOAuthenticationHandler for the original UI resource
> >>> interrogates
> >>>> the incoming request again for an authcookie that contains an access
> >>> token
> >>>> upon finding one:
> >>>>>   a. validates the incoming token
> >>>>>   b. returns the AuthenticationToken as per AuthenticationHandler
> >>>> contrac
> >>>>>   c. AuthenticationFilter adds the hadoop auth cookie with the
> >>> expected
> >>>> token
> >>>>>   d. serves requested resource for valid tokens
> >>>>>   e. subsequent requests are handled by the AuthenticationFilter
> >>>> recognition of the hadoop auth cookie
> >>>>> REQUIRED COMPONENTS for UI USECASES:
> >>>>> COMP-12. WebSSOAuthenticationHandler
> >>>>> COMP-13. IdP Web Endpoint within AuthenticationServer for FORM based
> >>>> login
> >>>>> COMP-14. SP Web Endpoint within AuthenticationServer for 3rd party
> >>> token
> >>>> federation
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Wed, Jul 10, 2013 at 1:59 PM, Brian Swan <
> >> brian.s...@microsoft.com>
> >>>> wrote:
> >>>>> Thanks, Larry. That is what I was trying to say, but you've said it
> >>>> better and in more detail. :-) To extract from what you are saying:
> "If
> >>> we
> >>>> were to reframe the immediate scope to the lowest common denominator
> of
> >>>> what is needed for accepting tokens in authentication plugins then we
> >>>> gain... an end-state for the lowest common denominator that enables
> >> code
> >>>> patches in the near-term is the best of both worlds."
> >>>>>
> >>>>> -Brian
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Larry McCay [mailto:lmc...@hortonworks.com]
> >>>>> Sent: Wednesday, July 10, 2013 10:40 AM
> >>>>> To: common-dev@hadoop.apache.org
> >>>>> Cc: da...@yahoo-inc.com; Kai Zheng; Alejandro Abdelnur
> >>>>> Subject: Re: [DISCUSS] Hadoop SSO/Token Server Components
> >>>>>
> >>>>> It seems to me that we can have the best of both worlds here...it's
> >> all
> >>>> about the scoping.
> >>>>>
> >>>>> If we were to reframe the immediate scope to the lowest common
> >>>> denominator of what is needed for accepting tokens in authentication
> >>>> plugins then we gain:
> >>>>>
> >>>>> 1. a very manageable scope to define and agree upon 2. a deliverable
> >>>> that should be useful in and of itself 3. a foundation for community
> >>>> collaboration that we build on for higher level solutions built on
> this
> >>>> lowest common denominator and experience as a working community
> >>>>>
> >>>>> So, to Alejandro's point, perhaps we need to define what would make
> >> #2
> >>>> above true - this could serve as the "what" we are building instead of
> >>> the
> >>>> "how" to build it.
> >>>>> Including:
> >>>>> a. project structure within hadoop-common-project/common-security or
> >>> the
> >>>> like b. the usecases that would need to be enabled to make it a self
> >>>> contained and useful contribution - without higher level solutions c.
> >> the
> >>>> JIRA/s for contributing patches d. what specific patches will be
> needed
> >>> to
> >>>> accomplished the usecases in #b
> >>>>>
> >>>>> In other words, an end-state for the lowest common denominator that
> >>>> enables code patches in the near-term is the best of both worlds.
> >>>>>
> >>>>> I think this may be a good way to bootstrap the collaboration process
> >>>> for our emerging security community rather than trying to tackle a
> huge
> >>>> vision all at once.
> >>>>>
> >>>>> @Alejandro - if you have something else in mind that would bootstrap
> >>>> this process - that would great - please advise.
> >>>>>
> >>>>> thoughts?
> >>>>>
> >>>>> On Jul 10, 2013, at 1:06 PM, Brian Swan <brian.s...@microsoft.com>
> >>>> wrote:
> >>>>>
> >>>>>> Hi Alejandro, all-
> >>>>>>
> >>>>>> There seems to be agreement on the broad stroke description of the
> >>>> components needed to achieve pluggable token authentication (I'm sure
> >>> I'll
> >>>> be corrected if that isn't the case). However, discussion of the
> >> details
> >>> of
> >>>> those components doesn't seem to be moving forward. I think this is
> >>> because
> >>>> the details are really best understood through code. I also see *a*
> >> (i.e.
> >>>> one of many possible) token format and pluggable authentication
> >>> mechanisms
> >>>> within the RPC layer as components that can have immediate benefit to
> >>>> Hadoop users AND still allow flexibility in the larger design. So, I
> >>> think
> >>>> the best way to move the conversation of "what we are aiming for"
> >> forward
> >>>> is to start looking at code for these components. I am especially
> >>>> interested in moving forward with pluggable authentication mechanisms
> >>>> within the RPC layer and would love to see what others have done in
> >> this
> >>>> area (if anything).
> >>>>>>
> >>>>>> Thanks.
> >>>>>>
> >>>>>> -Brian
> >>>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Alejandro Abdelnur [mailto:t...@cloudera.com]
> >>>>>> Sent: Wednesday, July 10, 2013 8:15 AM
> >>>>>> To: Larry McCay
> >>>>>> Cc: common-dev@hadoop.apache.org; da...@yahoo-inc.com; Kai Zheng
> >>>>>> Subject: Re: [DISCUSS] Hadoop SSO/Token Server Components
> >>>>>>
> >>>>>> Larry, all,
> >>>>>>
> >>>>>> Still is not clear to me what is the end state we are aiming for,
> >> or
> >>>> that we even agree on that.
> >>>>>>
> >>>>>> IMO, Instead trying to agree what to do, we should first  agree on
> >>> the
> >>>> final state, then we see what should be changed to there there, then
> we
> >>> see
> >>>> how we change things to get there.
> >>>>>>
> >>>>>> The different documents out there focus more on how.
> >>>>>>
> >>>>>> We not try to say how before we know what.
> >>>>>>
> >>>>>> Thx.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Wed, Jul 10, 2013 at 6:42 AM, Larry McCay <
> >> lmc...@hortonworks.com
> >>>>
> >>>> wrote:
> >>>>>>
> >>>>>>> All -
> >>>>>>>
> >>>>>>> After combing through this thread - as well as the summit session
> >>>>>>> summary thread, I think that we have the following two items that
> >> we
> >>>>>>> can probably move forward with:
> >>>>>>>
> >>>>>>> 1. TokenAuth method - assuming this means the pluggable
> >>>>>>> authentication mechanisms within the RPC layer (2 votes: Kai and
> >>>>>>> Kyle) 2. An actual Hadoop Token format (2 votes: Brian and myself)
> >>>>>>>
> >>>>>>> I propose that we attack both of these aspects as one. Let's
> >> provide
> >>>>>>> the structure and interfaces of the pluggable framework for use in
> >>>>>>> the RPC layer through leveraging Daryn's pluggability work and POC
> >>> it
> >>>>>>> with a particular token format (not necessarily the only format
> >> ever
> >>>>>>> supported - we just need one to start). If there has already been
> >>>>>>> work done in this area by anyone then please speak up and commit
> >> to
> >>>>>>> providing a patch - so that we don't duplicate effort.
> >>>>>>>
> >>>>>>> @Daryn - is there a particular Jira or set of Jiras that we can
> >> look
> >>>>>>> at to discern the pluggability mechanism details? Documentation of
> >>> it
> >>>>>>> would be great as well.
> >>>>>>> @Kai - do you have existing code for the pluggable token
> >>>>>>> authentication mechanism - if not, we can take a stab at
> >>> representing
> >>>>>>> it with interfaces and/or POC code.
> >>>>>>> I can standup and say that we have a token format that we have
> >> been
> >>>>>>> working with already and can provide a patch that represents it
> >> as a
> >>>>>>> contribution to test out the pluggable tokenAuth.
> >>>>>>>
> >>>>>>> These patches will provide progress toward code being the central
> >>>>>>> discussion vehicle. As a community, we can then incrementally
> >> build
> >>>>>>> on that foundation in order to collaboratively deliver the common
> >>>> vision.
> >>>>>>>
> >>>>>>> In the absence of any other home for posting such patches, let's
> >>>>>>> assume that they will be attached to HADOOP-9392 - or a dedicated
> >>>>>>> subtask for this particular aspect/s - I will leave that detail to
> >>>> Kai.
> >>>>>>>
> >>>>>>> @Alejandro, being the only voice on this thread that isn't
> >>>>>>> represented in the votes above, please feel free to agree or
> >>> disagree
> >>>> with this direction.
> >>>>>>>
> >>>>>>> thanks,
> >>>>>>>
> >>>>>>> --larry
> >>>>>>>
> >>>>>>> On Jul 5, 2013, at 3:24 PM, Larry McCay <lmc...@hortonworks.com>
> >>>> wrote:
> >>>>>>>
> >>>>>>>> Hi Andy -
> >>>>>>>>
> >>>>>>>>> Happy Fourth of July to you and yours.
> >>>>>>>>
> >>>>>>>> Same to you and yours. :-)
> >>>>>>>> We had some fun in the sun for a change - we've had nothing but
> >>> rain
> >>>>>>>> on
> >>>>>>> the east coast lately.
> >>>>>>>>
> >>>>>>>>> My concern here is there may have been a misinterpretation or
> >> lack
> >>>>>>>>> of consensus on what is meant by "clean slate"
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Apparently so.
> >>>>>>>> On the pre-summit call, I stated that I was interested in
> >>>>>>>> reconciling
> >>>>>>> the jiras so that we had one to work from.
> >>>>>>>>
> >>>>>>>> You recommended that we set them aside for the time being - with
> >>> the
> >>>>>>> understanding that work would continue on your side (and our's as
> >>>>>>> well) - and approach the community discussion from a clean slate.
> >>>>>>>> We seemed to do this at the summit session quite well.
> >>>>>>>> It was my understanding that this community discussion would live
> >>>>>>>> beyond
> >>>>>>> the summit and continue on this list.
> >>>>>>>>
> >>>>>>>> While closing the summit session we agreed to follow up on
> >>>>>>>> common-dev
> >>>>>>> with first a summary then a discussion of the moving parts.
> >>>>>>>>
> >>>>>>>> I never expected the previous work to be abandoned and fully
> >>>>>>>> expected it
> >>>>>>> to inform the discussion that happened here.
> >>>>>>>>
> >>>>>>>> If you would like to reframe what clean slate was supposed to
> >> mean
> >>>>>>>> or
> >>>>>>> describe what it means now - that would be welcome - before I
> >> waste
> >>>>>>> anymore time trying to facilitate a community discussion that is
> >>>>>>> apparently not wanted.
> >>>>>>>>
> >>>>>>>>> Nowhere in this
> >>>>>>>>> picture are self appointed "master JIRAs" and such, which have
> >>> been
> >>>>>>>>> disappointing to see crop up, we should be collaboratively
> >> coding
> >>>>>>>>> not planting flags.
> >>>>>>>>
> >>>>>>>> I don't know what you mean by self-appointed master JIRAs.
> >>>>>>>> It has certainly not been anyone's intention to disappoint.
> >>>>>>>> Any mention of a new JIRA was just to have a clear context to
> >>> gather
> >>>>>>>> the
> >>>>>>> agreed upon points - previous and/or existing JIRAs would easily
> >> be
> >>>> linked.
> >>>>>>>>
> >>>>>>>> Planting flags... I need to go back and read my discussion point
> >>>>>>>> about the
> >>>>>>> JIRA and see how this is the impression that was made.
> >>>>>>>> That is not how I define success. The only flags that count is
> >>> code.
> >>>>>>> What we are lacking is the roadmap on which to put the code.
> >>>>>>>>
> >>>>>>>>> I read Kai's latest document as something approaching today's
> >>>>>>>>> consensus
> >>>>>>> (or
> >>>>>>>>> at least a common point of view?) rather than a historical
> >>> document.
> >>>>>>>>> Perhaps he and it can be given equal share of the consideration.
> >>>>>>>>
> >>>>>>>> I definitely read it as something that has evolved into something
> >>>>>>> approaching what we have been talking about so far. There has not
> >>>>>>> however been enough discussion anywhere near the level of detail
> >> in
> >>>>>>> that document and more details are needed for each component in
> >> the
> >>>> design.
> >>>>>>>> Why the work in that document should not be fed into the
> >> community
> >>>>>>> discussion as anyone else's would be - I fail to understand.
> >>>>>>>>
> >>>>>>>> My suggestion continues to be that you should take that document
> >>> and
> >>>>>>> speak to the inventory of moving parts as we agreed.
> >>>>>>>> As these are agreed upon, we will ensure that the appropriate
> >>>>>>>> subtasks
> >>>>>>> are filed against whatever JIRA is to host them - don't really
> >> care
> >>>>>>> much which it is.
> >>>>>>>>
> >>>>>>>> I don't really want to continue with two separate JIRAs - as I
> >>>>>>>> stated
> >>>>>>> long ago - but until we understand what the pieces are and how
> >> they
> >>>>>>> relate then they can't be consolidated.
> >>>>>>>> Even if 9533 ended up being repurposed as the server instance of
> >>> the
> >>>>>>> work - it should be a subtask of a larger one - if that is to be
> >>>>>>> 9392, so be it.
> >>>>>>>> We still need to define all the pieces of the larger picture
> >> before
> >>>>>>>> that
> >>>>>>> can be done.
> >>>>>>>>
> >>>>>>>> What I thought was the clean slate approach to the discussion
> >>> seemed
> >>>>>>>> a
> >>>>>>> very reasonable way to make all this happen.
> >>>>>>>> If you would like to restate what you intended by it or something
> >>>>>>>> else
> >>>>>>> equally as reasonable as a way to move forward that would be
> >>> awesome.
> >>>>>>>>
> >>>>>>>> I will be happy to work toward the roadmap with everyone once it
> >> is
> >>>>>>> articulated, understood and actionable.
> >>>>>>>> In the meantime, I have work to do.
> >>>>>>>>
> >>>>>>>> thanks,
> >>>>>>>>
> >>>>>>>> --larry
> >>>>>>>>
> >>>>>>>> BTW - I meant to quote you in an earlier response and ended up
> >>>>>>>> saying it
> >>>>>>> was Aaron instead. Not sure what happened there. :-)
> >>>>>>>>
> >>>>>>>> On Jul 4, 2013, at 2:40 PM, Andrew Purtell <apurt...@apache.org>
> >>>> wrote:
> >>>>>>>>
> >>>>>>>>> Hi Larry (and all),
> >>>>>>>>>
> >>>>>>>>> Happy Fourth of July to you and yours.
> >>>>>>>>>
> >>>>>>>>> In our shop Kai and Tianyou are already doing the coding, so I'd
> >>>>>>>>> defer
> >>>>>>> to
> >>>>>>>>> them on the detailed points.
> >>>>>>>>>
> >>>>>>>>> My concern here is there may have been a misinterpretation or
> >> lack
> >>>>>>>>> of consensus on what is meant by "clean slate". Hopefully that
> >> can
> >>>>>>>>> be
> >>>>>>> quickly
> >>>>>>>>> cleared up. Certainly we did not mean ignore all that came
> >> before.
> >>>>>>>>> The
> >>>>>>> idea
> >>>>>>>>> was to reset discussions to find common ground and new direction
> >>>>>>>>> where
> >>>>>>> we
> >>>>>>>>> are working together, not in conflict, on an agreed upon set of
> >>>>>>>>> design points and tasks. There's been a lot of good discussion
> >> and
> >>>>>>>>> design preceeding that we should figure out how to port over.
> >>>>>>>>> Nowhere in this picture are self appointed "master JIRAs" and
> >>> such,
> >>>>>>>>> which have been disappointing to see crop up, we should be
> >>>>>>>>> collaboratively coding not planting flags.
> >>>>>>>>>
> >>>>>>>>> I read Kai's latest document as something approaching today's
> >>>>>>>>> consensus
> >>>>>>> (or
> >>>>>>>>> at least a common point of view?) rather than a historical
> >>> document.
> >>>>>>>>> Perhaps he and it can be given equal share of the consideration.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Wednesday, July 3, 2013, Larry McCay wrote:
> >>>>>>>>>
> >>>>>>>>>> Hey Andrew -
> >>>>>>>>>>
> >>>>>>>>>> I largely agree with that statement.
> >>>>>>>>>> My intention was to let the differences be worked out within
> >> the
> >>>>>>>>>> individual components once they were identified and subtasks
> >>>> created.
> >>>>>>>>>>
> >>>>>>>>>> My reference to HSSO was really referring to a SSO *server*
> >> based
> >>>>>>> design
> >>>>>>>>>> which was not clearly articulated in the earlier documents.
> >>>>>>>>>> We aren't trying to compare and contrast one design over
> >> another
> >>>>>>> anymore.
> >>>>>>>>>>
> >>>>>>>>>> Let's move this collaboration along as we've mapped out and the
> >>>>>>>>>> differences in the details will reveal themselves and be
> >>> addressed
> >>>>>>> within
> >>>>>>>>>> their components.
> >>>>>>>>>>
> >>>>>>>>>> I've actually been looking forward to you weighing in on the
> >>>>>>>>>> actual discussion points in this thread.
> >>>>>>>>>> Could you do that?
> >>>>>>>>>>
> >>>>>>>>>> At this point, I am most interested in your thoughts on a
> >> single
> >>>>>>>>>> jira
> >>>>>>> to
> >>>>>>>>>> represent all of this work and whether we should start
> >> discussing
> >>>>>>>>>> the
> >>>>>>> SSO
> >>>>>>>>>> Tokens.
> >>>>>>>>>> If you think there are discussion points missing from that
> >> list,
> >>>>>>>>>> feel
> >>>>>>> free
> >>>>>>>>>> to add to it.
> >>>>>>>>>>
> >>>>>>>>>> thanks,
> >>>>>>>>>>
> >>>>>>>>>> --larry
> >>>>>>>>>>
> >>>>>>>>>> On Jul 3, 2013, at 7:35 PM, Andrew Purtell <
> >> apurt...@apache.org>
> >>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Hi Larry,
> >>>>>>>>>>>
> >>>>>>>>>>> Of course I'll let Kai speak for himself. However, let me
> >> point
> >>>>>>>>>>> out
> >>>>>>> that,
> >>>>>>>>>>> while the differences between the competing JIRAs have been
> >>>>>>>>>>> reduced
> >>>>>>> for
> >>>>>>>>>>> sure, there were some key differences that didn't just
> >>> disappear.
> >>>>>>>>>>> Subsequent discussion will make that clear. I also disagree
> >> with
> >>>>>>>>>>> your characterization that we have simply endorsed all of the
> >>>>>>>>>>> design
> >>>>>>> decisions
> >>>>>>>>>>> of the so-called HSSO, this is taking a mile from an inch. We
> >>> are
> >>>>>>> here to
> >>>>>>>>>>> engage in a collaborative process as peers. I've been
> >> encouraged
> >>>>>>>>>>> by
> >>>>>>> the
> >>>>>>>>>>> spirit of the discussions up to this point and hope that can
> >>>>>>>>>>> continue beyond one design summit.
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> On Wed, Jul 3, 2013 at 1:10 PM, Larry McCay
> >>>>>>>>>>> <lmc...@hortonworks.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> Hi Kai -
> >>>>>>>>>>>>
> >>>>>>>>>>>> I think that I need to clarify something...
> >>>>>>>>>>>>
> >>>>>>>>>>>> This is not an update for 9533 but a continuation of the
> >>>>>>>>>>>> discussions
> >>>>>>>>>> that
> >>>>>>>>>>>> are focused on a fresh look at a SSO for Hadoop.
> >>>>>>>>>>>> We've agreed to leave our previous designs behind and
> >> therefore
> >>>>>>>>>>>> we
> >>>>>>>>>> aren't
> >>>>>>>>>>>> really seeing it as an HSSO layered on top of TAS approach or
> >>> an
> >>>>>>> HSSO vs
> >>>>>>>>>>>> TAS discussion.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Your latest design revision actually makes it clear that you
> >>> are
> >>>>>>>>>>>> now targeting exactly what was described as HSSO - so
> >> comparing
> >>>>>>>>>>>> and
> >>>>>>>>>> contrasting
> >>>>>>>>>>>> is not going to add any value.
> >>>>>>>>>>>>
> >>>>>>>>>>>> What we need you to do at this point, is to look at those
> >>>>>>>>>>>> high-level components described on this thread and comment on
> >>>>>>>>>>>> whether we need additional components or any that are listed
> >>>>>>>>>>>> that don't seem
> >>>>>>> necessary
> >>>>>>>>>> to
> >>>>>>>>>>>> you and why.
> >>>>>>>>>>>> In other words, we need to define and agree on the work that
> >>> has
> >>>>>>>>>>>> to
> >>>>>>> be
> >>>>>>>>>>>> done.
> >>>>>>>>>>>>
> >>>>>>>>>>>> We also need to determine those components that need to be
> >> done
> >>>>>>> before
> >>>>>>>>>>>> anything else can be started.
> >>>>>>>>>>>> I happen to agree with Brian that #4 Hadoop SSO Tokens are
> >>>>>>>>>>>> central to
> >>>>>>>>>> all
> >>>>>>>>>>>> the other components and should probably be defined and POC'd
> >>> in
> >>>>>>> short
> >>>>>>>>>>>> order.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Personally, I think that continuing the separation of 9533
> >> and
> >>>>>>>>>>>> 9392
> >>>>>>> will
> >>>>>>>>>>>> do this effort a disservice. There doesn't seem to be enough
> >>>>>>> differences
> >>>>>>>>>>>> between the two to justify separate jiras anymore. It may be
> >>>>>>>>>>>> best to
> >>>>>>>>>> file a
> >>>>>>>>>>>> new one that reflects a single vision without the extra cruft
> >>>>>>>>>>>> that
> >>>>>>> has
> >>>>>>>>>>>> built up in either of the existing ones. We would certainly
> >>>>>>>>>>>> reference
> >>>>>>>>>> the
> >>>>>>>>>>>> existing ones within the new one. This approach would align
> >>> with
> >>>>>>>>>>>> the
> >>>>>>>>>> spirit
> >>>>>>>>>>>> of the discussions up to this point.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I am prepared to start a discussion around the shape of the
> >> two
> >>>>>>> Hadoop
> >>>>>>>>>> SSO
> >>>>>>>>>>>> tokens: identity and access. If this is what others feel the
> >>>>>>>>>>>> next
> >>>>>>> topic
> >>>>>>>>>>>> should be.
> >>>>>>>>>>>> If we can identify a jira home for it, we can do it there -
> >>>>>>> otherwise we
> >>>>>>>>>>>> can create another DISCUSS thread for it.
> >>>>>>>>>>>>
> >>>>>>>>>>>> thanks,
> >>>>>>>>>>>>
> >>>>>>>>>>>> --larry
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Jul 3, 2013, at 2:39 PM, "Zheng, Kai" <
> >> kai.zh...@intel.com>
> >>>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Hi Larry,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Thanks for the update. Good to see that with this update we
> >>> are
> >>>>>>>>>>>>> now
> >>>>>>>>>>>> aligned on most points.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I have also updated our TokenAuth design in HADOOP-9392. The
> >>>>>>>>>>>>> new
> >>>>>>>>>>>> revision incorporates feedback and suggestions in related
> >>>>>>>>>>>> discussion
> >>>>>>>>>> with
> >>>>>>>>>>>> the community, particularly from Microsoft and others
> >> attending
> >>>>>>>>>>>> the Security design lounge session at the Hadoop summit.
> >>> Summary
> >>>>>>>>>>>> of the
> >>>>>>>>>> changes:
> >>>>>>>>>>>>> 1.    Revised the approach to now use two tokens, Identity
> >>> Token
> >>>>>>> plus
> >>>>>>>>>>>> Access Token, particularly considering our authorization
> >>>>>>>>>>>> framework
> >>>>>>> and
> >>>>>>>>>>>> compatibility with HSSO;
> >>>>>>>>>>>>> 2.    Introduced Authorization Server (AS) from our
> >>>> authorization
> >>>>>>>>>>>> framework into the flow that issues access tokens for clients
> >>>>>>>>>>>> with
> >>>>>>>>>> identity
> >>>>>>>>>>>> tokens to access services;
> >>>>>>>>>>>>> 3.    Refined proxy access token and the proxy/impersonation
> >>>> flow;
> >>>>>>>>>>>>> 4.    Refined the browser web SSO flow regarding access to
> >>>> Hadoop
> >>>>>>> web
> >>>>>>>>>>>> services;
> >>>>>>>>>>>>> 5.    Added Hadoop RPC access flow regard
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Best regards,
> >>>>>>>>>
> >>>>>>>>> - Andy
> >>>>>>>>>
> >>>>>>>>> Problems worthy of attack prove their worth by hitting back. -
> >>> Piet
> >>>>>>>>> Hein (via Tom White)
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Alejandro
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> <Iteration1PluggableUserAuthenticationandFederation.pdf>
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> Alejandro
> >>>
> >>
> >
> >
> >
> > --
> > Alejandro
>
>

Reply via email to