-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/16710/#review31847
-----------------------------------------------------------


I am not a big fan of this approach because, I see the following issues: 

(a) This implementation assumes that the auth mechanism can be verified from 
the host the scheduler is deployed. Auth may not be implemented this way at 
other places or the scheduler may not have required resources to perform the 
auth.
(b) Even while keeping the auth mechanisms separate, this approach bakes the 
auth mechanism into the scheduler code base.
(c) it skews the metrics like the amount of time it takes to process a request 
because the auth may take variable amount of time.

I think delegating the auth to a set of trusted proxies or clients, while 
keeping a simple auth checks inside the scheduler may be a better way to 
implement this. 

PS: I may have understood this entirely wrong, if so, please feel free to 
ignore this. 

- Suman Karumuri


On Jan. 8, 2014, 12:45 a.m., Kevin Sweeney wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16710/
> -----------------------------------------------------------
> 
> (Updated Jan. 8, 2014, 12:45 a.m.)
> 
> 
> Review request for Aurora, Suman Karumuri, Maxim Khutornenko, Bill Farner, 
> and Brian Wickman.
> 
> 
> Repository: aurora
> 
> 
> Description
> -------
> 
> Support multiple simultaneous auth mechanisms.
> 
> Currently the SessionKey thrift struct has a mechanism field that the 
> scheduler ignores. This change would make the scheduler enforce usage of this 
> field and dispatch the choice of auth mechanism to an 
> appropriately-registered handler. This change also adds a handler registry 
> (via a MapBinder) to allow for independent auth subsystems to register 
> without knowledge of each other. For example, an LDAP_SIMPLE_BIND mechanism 
> might contact an SSO server and be used by human users while an OAUTH2 
> mechanism might be used by another service to perform automated quota 
> management. Each of these subsystems could be enabled and configured 
> independently and would coexist on the same cluster.
> 
> 
> Diffs
> -----
> 
>   src/main/java/org/apache/aurora/auth/UnsecureAuthModule.java 
> 0248c95745fb49f92c1b0db08b878adf9f863a3f 
>   src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 
> c69a2a6c57139f0ad27b1084a24354b80d2465c6 
>   
> src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
>  c1a11bdb91c5e764864324d26248d1783af8048b 
>   src/main/java/org/apache/aurora/scheduler/thrift/aop/AopModule.java 
> 7c29094c138238ddf0d34d9f795b8aea8f17b421 
>   src/main/java/org/apache/aurora/scheduler/thrift/aop/Interceptors.java 
> ee22af10a469db1a3cc46d9092285977b5526f9e 
>   
> src/main/java/org/apache/aurora/scheduler/thrift/aop/LoggingInterceptor.java 
> e66a885302c492b9669e9b526edd7f3c2e9f3ef7 
>   
> src/main/java/org/apache/aurora/scheduler/thrift/aop/SessionKeyMechanismInterceptor.java
>  PRE-CREATION 
>   
> src/main/java/org/apache/aurora/scheduler/thrift/aop/UserCapabilityInterceptor.java
>  8e6e52d6418f5e6809f21b7ab83e6ead0f29be19 
>   src/main/java/org/apache/aurora/scheduler/thrift/auth/ThriftAuthModule.java 
> 1de64bc608d7e0191f81986166504a182374ada9 
>   
> src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
>  91c1c24448092e1b3454844ab8074ed030383594 
>   src/test/java/org/apache/aurora/scheduler/thrift/ThriftIT.java 
> cce27a0e37452f370a3729b6b05bf0bea29f85f6 
>   src/test/java/org/apache/aurora/scheduler/thrift/aop/AopModuleTest.java 
> b510bf1222961329c4eae0a17ff0dfb274ee55a8 
> 
> Diff: https://reviews.apache.org/r/16710/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew build
> 
> 
> Thanks,
> 
> Kevin Sweeney
> 
>

Reply via email to