I left some comments in the Google document. It would be great if someone from the community with security experience could also take a look at it. Maybe Eron you have an opinion on the topic.
Cheers, Till On Thu, Jun 17, 2021 at 6:57 PM Till Rohrmann <trohrm...@apache.org> wrote: > Hi Gabor, > > I haven't found time to look into the updated FLIP yet. I'll try to do it > asap. > > Cheers, > Till > > On Wed, Jun 16, 2021 at 9:35 PM Konstantin Knauf <kna...@apache.org> > wrote: > >> Hi Gabor, >> >> > However representing Kerberos as completely new feature is not true >> because >> it's already in since Flink makes authentication at least with HDFS and >> Hbase through Kerberos. >> >> True, that is one way to look at it, but there are differences, too: >> Control Plane vs Data Plane, Core vs Connectors. >> >> > Adding OIDC or OAuth2 has the exact same concerns what you've guys just >> raised. Why exactly these? If you think this would be beneficial we can >> discuss it in detail >> >> That's exactly my point. Once we start adding authx support, we will >> sooner or later discuss other options besides Kerberos, too. A user who >> would like to use OAuth can not easily use Kerberos, right? >> That is one of the reasons I am skeptical about adding initial authx >> support. >> >> > Related authorization you've mentioned it can be complicated over time. >> Can >> you show us an example? We've knowledge with couple of open source >> components >> but authorization was never a horror complex story. I personally have the >> most experience with Spark which I think is quite simple and stable. Users >> can be viewers/admins >> and jobs started by others can't be modified. If you can share an example >> over-complication we can discuss on facts. >> >> Authorization is a new aspect that needs to be considered for every >> addition to the REST API. In the future users might ask for additional >> roles (e.g. an editor), user-defined roles and you've already mentioned >> job-level permissions yourself. And keep in mind that there might also be >> larger additions in the future like the flink-sql-gateway. Contributions >> like this become more expensive the more aspects we need to consider. >> >> In general, I believe, it is important that the community focuses its >> efforts where we can generate the most value to the user and - personally - >> I don't think there is much to gain by extending Flink's scope in that >> direction. Of course, this is not black and white and there are other valid >> opinions. >> >> Thanks, >> >> Konstantin >> >> On Wed, Jun 16, 2021 at 7:38 PM Gabor Somogyi <gabor.g.somo...@gmail.com> >> wrote: >> >>> Hi Konstantin, >>> >>> Thanks for the response. Related new feature introduction in case of >>> Basic >>> auth I tend to agree, anything else can be chosen. >>> >>> However representing Kerberos as completely new feature is not true >>> because >>> it's already in since Flink makes authentication at least with HDFS and >>> Hbase through Kerberos. >>> The main problem with the actual Kerberos implementation is that it >>> contains several bugs and only partially implemented. Following your >>> suggestion can we agree that we >>> skip the Basic auth implementation and finish an already started Kerberos >>> story by adding History Server and Job Dashboard authentication? >>> >>> Adding OIDC or OAuth2 has the exact same concerns what you've guys just >>> raised. Why exactly these? If you think this would be beneficial we can >>> discuss it in detail >>> but as a side story it would be good to finish a halfway done Kerberos >>> story. >>> >>> Related authorization you've mentioned it can be complicated over time. >>> Can >>> you show us an example? We've knowledge with couple of open source >>> components >>> but authorization was never a horror complex story. I personally have the >>> most experience with Spark which I think is quite simple and stable. >>> Users >>> can be viewers/admins >>> and jobs started by others can't be modified. If you can share an example >>> over-complication we can discuss on facts. >>> >>> Thank you in advance! >>> >>> BR, >>> G >>> >>> >>> On Wed, Jun 16, 2021 at 5:42 PM Konstantin Knauf <kna...@apache.org> >>> wrote: >>> >>> > Hi everyone, >>> > >>> > sorry for joining late and thanks for the insightful discussion. >>> > >>> > In general, I'd personally prefer not to increase the surface area of >>> > Apache Flink unless there is a good reason. It seems we all agree that >>> > authx is not part of the core value proposition of Apache Flink, so if >>> we >>> > can delegate this problem to a more specialized tool, I am in favor of >>> > that. Apache Flink is already huge and a lot of work goes into >>> maintenance, >>> > so I personally have become more sensitive to this aspect over time. >>> > >>> > If we add support for Basic Auth and Kerberos now, users will sooner or >>> > later ask for OIDC, LDAP, SAML,... I acknowledge that Kerberos is >>> widely >>> > used in the corporate, on-premises context, but isn't the focus moving >>> more >>> > towards more web-friendly standards like OIDC/OAuth 2.0? If we only >>> want to >>> > support a single protocol, there is an argument to be made that it >>> should >>> > be OIDC and Dex [1,2] as a bridge to everything else. Have OIDC or >>> OAuth2 >>> > been considered instead of Kerberos? How do you see the market moving? >>> But >>> > as I said before, in my opinion we can generate more value by investing >>> > into other areas of Apache Flink. >>> > >>> > Authorization also has the potential to become more fine-grained and >>> > complex over time: you already mentioned restricting the actions that a >>> > specific user can do in a cluster. >>> > >>> > Cheers, >>> > >>> > Konstantin >>> > >>> > [1] https://github.com/dexidp/dex >>> > [2] https://github.com/dexidp/dex/issues/1903 >>> > >>> > >>> > On Wed, Jun 16, 2021 at 11:44 AM Gabor Somogyi < >>> gabor.g.somo...@gmail.com> >>> > wrote: >>> > >>> >> Hi Till, >>> >> >>> >> Did you have the chance to take a look at the doc? Not yet seen any >>> >> update. >>> >> >>> >> BR, >>> >> G >>> >> >>> >> >>> >> On Wed, Jun 9, 2021 at 1:43 PM Till Rohrmann <trohrm...@apache.org> >>> >> wrote: >>> >> >>> >> > Thanks for the update Gabor. I'll take a look and respond in the >>> >> document. >>> >> > >>> >> > Cheers, >>> >> > Till >>> >> > >>> >> > On Wed, Jun 9, 2021 at 12:59 PM Gabor Somogyi < >>> >> gabor.g.somo...@gmail.com> >>> >> > wrote: >>> >> > >>> >> >> Hi Till, >>> >> >> >>> >> >> Your proxy suggestion has been considered in-depth and updated the >>> FLIP >>> >> >> accordingly. >>> >> >> We've considered 2 proxy implementation (Nginx and Squid) but >>> according >>> >> >> to our analysis and testing it's not suitable for the mentioned >>> >> use-cases. >>> >> >> Please take a look at the rejected alternatives for detailed >>> >> explanation. >>> >> >> >>> >> >> Thanks for your time in advance! >>> >> >> >>> >> >> BR, >>> >> >> G >>> >> >> >>> >> >> >>> >> >> On Fri, Jun 4, 2021 at 3:31 PM Till Rohrmann <trohrm...@apache.org >>> > >>> >> >> wrote: >>> >> >> >>> >> >>> As I've said I am not a security expert and that's why I have to >>> ask >>> >> for >>> >> >>> clarification, Gabor. You are saying that if we configure a >>> >> truststore for >>> >> >>> the REST endpoint with a single trusted certificate which has been >>> >> >>> generated by the operator of the Flink cluster, then the attacker >>> can >>> >> >>> generate a new certificate, sign it and then talk to the Flink >>> >> cluster if >>> >> >>> he has access to the node on which the REST endpoint runs? My >>> >> understanding >>> >> >>> was that you need the corresponding private key which in my >>> proposed >>> >> setup >>> >> >>> would be under the control of the operator as well (e.g. stored >>> in a >>> >> >>> keystore on the same machine but guarded by some secret). That way >>> >> (if I am >>> >> >>> not mistaken), only the entity which has access to the keystore is >>> >> able to >>> >> >>> talk to the Flink cluster. >>> >> >>> >>> >> >>> Maybe we are also getting our wires crossed here and are talking >>> about >>> >> >>> different things. >>> >> >>> >>> >> >>> Thanks for listing the pros and cons of Kerberos. Concerning what >>> >> other >>> >> >>> authentication mechanisms are used in the industry, I am not 100% >>> >> sure. >>> >> >>> >>> >> >>> Cheers, >>> >> >>> Till >>> >> >>> >>> >> >>> On Fri, Jun 4, 2021 at 11:09 AM Gabor Somogyi < >>> >> gabor.g.somo...@gmail.com> >>> >> >>> wrote: >>> >> >>> >>> >> >>>> > I did not mean for the user to sign its own certificates but >>> for >>> >> the >>> >> >>>> operator of the cluster. Once the user request hits the proxy, it >>> >> should no >>> >> >>>> longer be under his control. I think I do not fully understand >>> yet >>> >> why this >>> >> >>>> would not work. >>> >> >>>> I said it's not solving the authentication problem over any >>> proxy. >>> >> Even >>> >> >>>> if the operator is signing the certificate one can have access >>> to an >>> >> >>>> internal node. >>> >> >>>> Such case anybody can craft certificates which is accepted by the >>> >> >>>> server. When it's accepted a bad guy can cancel jobs causing huge >>> >> impacts. >>> >> >>>> >>> >> >>>> > Also, I am missing a bit the comparison of Kerberos to other >>> >> >>>> authentication mechanisms and why they were rejected in favour of >>> >> Kerberos. >>> >> >>>> PROS: >>> >> >>>> * Since it's not depending on cloud provider and/or k8s or >>> bare-metal >>> >> >>>> etc. deployment it's the biggest plus >>> >> >>>> * Centralized with tools and no need to write tons of tools >>> around >>> >> >>>> * There are clients/tools on almost all OS-es and several >>> languages >>> >> >>>> * Super huge users are using it for years in production w/o huge >>> >> issues >>> >> >>>> * Provides cross-realm trust possibility amongst other features >>> >> >>>> * Several open source components using it which could increase >>> >> >>>> compatibility >>> >> >>>> >>> >> >>>> CONS: >>> >> >>>> * Not everybody using kerberos >>> >> >>>> * It would increase the code footprint but this is true for many >>> >> >>>> features (as a side note I'm here to maintain it) >>> >> >>>> >>> >> >>>> Feel free to add your points because it only represents a single >>> >> >>>> viewpoint. >>> >> >>>> Also if you have any better option for strong authentication >>> please >>> >> >>>> share it and we can consider the pros/cons here. >>> >> >>>> >>> >> >>>> BR, >>> >> >>>> G >>> >> >>>> >>> >> >>>> >>> >> >>>> On Fri, Jun 4, 2021 at 10:32 AM Till Rohrmann < >>> trohrm...@apache.org> >>> >> >>>> wrote: >>> >> >>>> >>> >> >>>>> I did not mean for the user to sign its own certificates but >>> for the >>> >> >>>>> operator of the cluster. Once the user request hits the proxy, >>> it >>> >> should no >>> >> >>>>> longer be under his control. I think I do not fully understand >>> yet >>> >> why this >>> >> >>>>> would not work. >>> >> >>>>> >>> >> >>>>> What I would like to avoid is to add more complexity into Flink >>> if >>> >> >>>>> there is an easy solution which fulfills the requirements. >>> That's >>> >> why I >>> >> >>>>> would like to exercise thoroughly through the different >>> >> alternatives. Also, >>> >> >>>>> I am missing a bit the comparison of Kerberos to other >>> >> authentication >>> >> >>>>> mechanisms and why they were rejected in favour of Kerberos. >>> >> >>>>> >>> >> >>>>> Cheers, >>> >> >>>>> Till >>> >> >>>>> >>> >> >>>>> On Fri, Jun 4, 2021 at 10:26 AM Gyula Fóra <gyf...@apache.org> >>> >> wrote: >>> >> >>>>> >>> >> >>>>>> Hi! >>> >> >>>>>> >>> >> >>>>>> I think there might be possible alternatives but it seems >>> Kerberos >>> >> on >>> >> >>>>>> the rest endpoint ticks all the right boxes and provides a >>> super >>> >> clean and >>> >> >>>>>> simple solution for strong authentication. >>> >> >>>>>> >>> >> >>>>>> I wouldn’t even consider sidecar proxies etc if we can solve >>> it in >>> >> >>>>>> such a simple way as proposed by G. >>> >> >>>>>> >>> >> >>>>>> Cheers >>> >> >>>>>> Gyula >>> >> >>>>>> >>> >> >>>>>> On Fri, 4 Jun 2021 at 10:03, Till Rohrmann < >>> trohrm...@apache.org> >>> >> >>>>>> wrote: >>> >> >>>>>> >>> >> >>>>>>> I am not saying that we shouldn't add a strong authentication >>> >> >>>>>>> mechanism if there are good reasons for it. I primarily would >>> >> like to >>> >> >>>>>>> understand the context a bit better in order to give qualified >>> >> feedback and >>> >> >>>>>>> come to a good decision. In order to do this, I have the >>> feeling >>> >> that we >>> >> >>>>>>> haven't fully considered all available options which are on >>> the >>> >> table, tbh. >>> >> >>>>>>> >>> >> >>>>>>> Does the problem of certificate expiry also apply for >>> self-signed >>> >> >>>>>>> certificates? If yes, then this should then also be a problem >>> for >>> >> the >>> >> >>>>>>> internal encryption of Flink's communication. If not, then one >>> >> could use >>> >> >>>>>>> self-signed certificates with a longer validity to solve the >>> >> mentioned >>> >> >>>>>>> issue. >>> >> >>>>>>> >>> >> >>>>>>> I think you can set up Flink in such a way that you don't >>> have to >>> >> >>>>>>> handle all the different certificates. For example, you could >>> >> deploy Flink >>> >> >>>>>>> with a "sidecar proxy" which is responsible for the >>> >> authentication using an >>> >> >>>>>>> arbitrary method (e.g. Kerberos) and then bind the REST >>> endpoint >>> >> to a local >>> >> >>>>>>> network interface. That way, the REST endpoint would only be >>> >> available >>> >> >>>>>>> through the sidecar proxy. Additionally, one could enable SSL >>> for >>> >> this >>> >> >>>>>>> communication. Would this be a solution for the problem? >>> >> >>>>>>> >>> >> >>>>>>> Cheers, >>> >> >>>>>>> Till >>> >> >>>>>>> >>> >> >>>>>>> On Thu, Jun 3, 2021 at 10:46 PM Márton Balassi < >>> >> >>>>>>> balassi.mar...@gmail.com> wrote: >>> >> >>>>>>> >>> >> >>>>>>>> That is an interesting idea, Till. >>> >> >>>>>>>> >>> >> >>>>>>>> The main issue with it is that TLS certificates have an >>> >> expiration >>> >> >>>>>>>> time, usually they get approved for a couple years. Forcing >>> our >>> >> users to >>> >> >>>>>>>> restart jobs to reprovision TLS certificates would be weird >>> when >>> >> we could >>> >> >>>>>>>> just implement a single proper strong authentication >>> mechanism >>> >> instead in a >>> >> >>>>>>>> couple hundred lines of code. :-) >>> >> >>>>>>>> >>> >> >>>>>>>> In many cases it is also impractical to go the TLS mutual >>> route, >>> >> >>>>>>>> because the Flink Dashboard can end up on any node in the >>> >> k8s/Yarn cluster >>> >> >>>>>>>> which means that we need a certificate per node (due to the >>> >> mutual auth), >>> >> >>>>>>>> but if we also want to protect the private key of these from >>> >> users >>> >> >>>>>>>> accidentally or intentionally leaking them then we need this >>> per >>> >> user. As >>> >> >>>>>>>> in we end up managing user*machine number certificates and >>> >> having to renew >>> >> >>>>>>>> them periodically, which albeit automatable is unfortunately >>> not >>> >> yet >>> >> >>>>>>>> automated in all large organizations. >>> >> >>>>>>>> >>> >> >>>>>>>> I fully agree that TLS certificate mutual authentication has >>> its >>> >> >>>>>>>> nice properties, especially at very large (multiple thousand >>> >> node) clusters >>> >> >>>>>>>> - but it has its own challenges too. Thanks for bringing it >>> up. >>> >> >>>>>>>> >>> >> >>>>>>>> Happy to have this added to the rejected alternative list so >>> that >>> >> >>>>>>>> we have the full picture documented. >>> >> >>>>>>>> >>> >> >>>>>>>> On Thu, Jun 3, 2021 at 5:52 PM Till Rohrmann < >>> >> trohrm...@apache.org> >>> >> >>>>>>>> wrote: >>> >> >>>>>>>> >>> >> >>>>>>>>> I guess the idea would then be to let the proxy do the >>> >> >>>>>>>>> authentication job and only forward the request via an SSL >>> >> mutually >>> >> >>>>>>>>> encrypted connection to the Flink cluster. Would this be >>> >> possible? The >>> >> >>>>>>>>> beauty of this setup is in my opinion that this setup should >>> >> work with all >>> >> >>>>>>>>> kinds of authentication mechanisms. >>> >> >>>>>>>>> >>> >> >>>>>>>>> Cheers, >>> >> >>>>>>>>> Till >>> >> >>>>>>>>> >>> >> >>>>>>>>> On Thu, Jun 3, 2021 at 3:12 PM Gabor Somogyi < >>> >> >>>>>>>>> gabor.g.somo...@gmail.com> wrote: >>> >> >>>>>>>>> >>> >> >>>>>>>>>> Thanks for giving options to fulfil the need. >>> >> >>>>>>>>>> >>> >> >>>>>>>>>> Users are looking for a solution where users can be >>> identified >>> >> on >>> >> >>>>>>>>>> the whole cluster and restrict access to resources/actions. >>> >> >>>>>>>>>> A good example for such an action is cancelling other users >>> >> >>>>>>>>>> running jobs. >>> >> >>>>>>>>>> >>> >> >>>>>>>>>> * SSL does provide mutual authentication but when >>> >> authentication >>> >> >>>>>>>>>> passed there is no user based on restrictions can be made. >>> >> >>>>>>>>>> * The less problematic part is that generating/maintaining >>> >> short >>> >> >>>>>>>>>> time valid certificates would be a hard (that's the reason >>> KDC >>> >> like servers >>> >> >>>>>>>>>> exist). >>> >> >>>>>>>>>> Having long time valid certificates would widen the attack >>> >> >>>>>>>>>> surface but since the first concern is there this is just a >>> >> cosmetic issue. >>> >> >>>>>>>>>> >>> >> >>>>>>>>>> All in all using TLS certificates is not sufficient in >>> these >>> >> >>>>>>>>>> environments unfortunately. >>> >> >>>>>>>>>> >>> >> >>>>>>>>>> BR, >>> >> >>>>>>>>>> G >>> >> >>>>>>>>>> >>> >> >>>>>>>>>> >>> >> >>>>>>>>>> On Thu, Jun 3, 2021 at 12:49 PM Till Rohrmann < >>> >> >>>>>>>>>> trohrm...@apache.org> wrote: >>> >> >>>>>>>>>> >>> >> >>>>>>>>>>> Thanks for the information Gabor. If it is about securing >>> the >>> >> >>>>>>>>>>> communication between the REST client and the REST server, >>> >> then Flink >>> >> >>>>>>>>>>> already supports enabling mutual SSL authentication [1]. >>> >> Would this be >>> >> >>>>>>>>>>> enough to secure the communication and to pass an audit? >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>> [1] >>> >> >>>>>>>>>>> >>> >> >>> https://ci.apache.org/projects/flink/flink-docs-master/docs/deployment/security/security-ssl/#external--rest-connectivity >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>> Cheers, >>> >> >>>>>>>>>>> Till >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>> On Thu, Jun 3, 2021 at 10:33 AM Gabor Somogyi < >>> >> >>>>>>>>>>> gabor.g.somo...@gmail.com> wrote: >>> >> >>>>>>>>>>> >>> >> >>>>>>>>>>>> Hi Till, >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> Since I'm working in security area 10+ years let me >>> share my >>> >> >>>>>>>>>>>> thought. >>> >> >>>>>>>>>>>> I would like to emphasise there are experts better than >>> me >>> >> but >>> >> >>>>>>>>>>>> I have some >>> >> >>>>>>>>>>>> basics. >>> >> >>>>>>>>>>>> The discussion is open and not trying to tell alone >>> things... >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> > I mean if an attacker can get access to one of the >>> >> machines, >>> >> >>>>>>>>>>>> then it >>> >> >>>>>>>>>>>> should also be possible to obtain the right Kerberos >>> token. >>> >> >>>>>>>>>>>> Not necessarily. For example if one gets access to a >>> specific >>> >> >>>>>>>>>>>> user's >>> >> >>>>>>>>>>>> credentials then it's not possible to compromise other >>> user's >>> >> >>>>>>>>>>>> jobs, data, >>> >> >>>>>>>>>>>> etc... >>> >> >>>>>>>>>>>> Security is like an onion, the more layers has been >>> added the >>> >> >>>>>>>>>>>> more time an >>> >> >>>>>>>>>>>> attacker needs to proceed. >>> >> >>>>>>>>>>>> At the end of the day if one is in, then most probably >>> can >>> >> find >>> >> >>>>>>>>>>>> the way but >>> >> >>>>>>>>>>>> this time is normally enough to sysadmins or security >>> >> experts to >>> >> >>>>>>>>>>>> close down the system and minimize the damage. >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> The other thing is that all tokens has a timeout and if >>> the >>> >> >>>>>>>>>>>> token is >>> >> >>>>>>>>>>>> invalid then the attacker can't proceed further. >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> > Is Kerberos also the standard authentication protocol >>> for >>> >> >>>>>>>>>>>> Kubernetes >>> >> >>>>>>>>>>>> deployments? >>> >> >>>>>>>>>>>> Kerberos is an industry standard which is >>> cloud/deployment >>> >> >>>>>>>>>>>> agnostic and it >>> >> >>>>>>>>>>>> can be used in any deployments including k8s. >>> >> >>>>>>>>>>>> The main intention is to use kerberos in k8s deployments >>> too >>> >> >>>>>>>>>>>> since we're >>> >> >>>>>>>>>>>> going this direction as well. >>> >> >>>>>>>>>>>> Please see how Spark does this: >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> >>> >> >>> https://spark.apache.org/docs/latest/security.html#secure-interaction-with-kubernetes >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> Last but not least the most important reason to add at >>> least >>> >> >>>>>>>>>>>> one strong >>> >> >>>>>>>>>>>> authentication is that we have users who has >>> >> >>>>>>>>>>>> hard requirements on this. They're doing security audits >>> and >>> >> if >>> >> >>>>>>>>>>>> they fail >>> >> >>>>>>>>>>>> then it's deal breaking. >>> >> >>>>>>>>>>>> That is why we have added kerberos at the first place. >>> >> >>>>>>>>>>>> Unfortunately we >>> >> >>>>>>>>>>>> can't name them in this public list, however >>> >> >>>>>>>>>>>> the customers who specifically asked for this were >>> mainly in >>> >> >>>>>>>>>>>> the banking >>> >> >>>>>>>>>>>> and telco sector. >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> BR, >>> >> >>>>>>>>>>>> G >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> On Thu, Jun 3, 2021 at 9:20 AM Till Rohrmann < >>> >> >>>>>>>>>>>> trohrm...@apache.org> wrote: >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>>> > Thanks for updating the document Márton. Why is it that >>> >> banks >>> >> >>>>>>>>>>>> will >>> >> >>>>>>>>>>>> > consider it more secure if Flink comes with Kerberos >>> >> >>>>>>>>>>>> authentication >>> >> >>>>>>>>>>>> > (assuming a properly secured setup)? I mean if an >>> attacker >>> >> >>>>>>>>>>>> can get access >>> >> >>>>>>>>>>>> > to one of the machines, then it should also be >>> possible to >>> >> >>>>>>>>>>>> obtain the right >>> >> >>>>>>>>>>>> > Kerberos token. >>> >> >>>>>>>>>>>> > >>> >> >>>>>>>>>>>> > I am not an authentication expert and that's why I >>> wanted >>> >> to >>> >> >>>>>>>>>>>> ask what are >>> >> >>>>>>>>>>>> > other authentication protocols other than Kerberos? >>> Why did >>> >> >>>>>>>>>>>> we select >>> >> >>>>>>>>>>>> > Kerberos and not any other authentication protocol? >>> Maybe >>> >> you >>> >> >>>>>>>>>>>> can list the >>> >> >>>>>>>>>>>> > pros and cons for the different protocols. Is Kerberos >>> also >>> >> >>>>>>>>>>>> the standard >>> >> >>>>>>>>>>>> > authentication protocol for Kubernetes deployments? If >>> not, >>> >> >>>>>>>>>>>> what would be >>> >> >>>>>>>>>>>> > the answer when deploying on K8s? >>> >> >>>>>>>>>>>> > >>> >> >>>>>>>>>>>> > Cheers, >>> >> >>>>>>>>>>>> > Till >>> >> >>>>>>>>>>>> > >>> >> >>>>>>>>>>>> > On Wed, Jun 2, 2021 at 12:07 PM Gabor Somogyi < >>> >> >>>>>>>>>>>> gabor.g.somo...@gmail.com> >>> >> >>>>>>>>>>>> > wrote: >>> >> >>>>>>>>>>>> > >>> >> >>>>>>>>>>>> >> Hi team, >>> >> >>>>>>>>>>>> >> >>> >> >>>>>>>>>>>> >> Happy to be here and hope I can provide quality >>> additions >>> >> in >>> >> >>>>>>>>>>>> the future. >>> >> >>>>>>>>>>>> >> >>> >> >>>>>>>>>>>> >> Thank you all for helpful the suggestions! >>> >> >>>>>>>>>>>> >> Considering them the FLIP has been modified and the >>> work >>> >> >>>>>>>>>>>> continues on the >>> >> >>>>>>>>>>>> >> already existing Jira. >>> >> >>>>>>>>>>>> >> >>> >> >>>>>>>>>>>> >> BR, >>> >> >>>>>>>>>>>> >> G >>> >> >>>>>>>>>>>> >> >>> >> >>>>>>>>>>>> >> >>> >> >>>>>>>>>>>> >> On Wed, Jun 2, 2021 at 11:23 AM Márton Balassi < >>> >> >>>>>>>>>>>> balassi.mar...@gmail.com> >>> >> >>>>>>>>>>>> >> wrote: >>> >> >>>>>>>>>>>> >> >>> >> >>>>>>>>>>>> >>> Thanks, Chesney - I totally missed that. Answered on >>> the >>> >> >>>>>>>>>>>> ticket too, let >>> >> >>>>>>>>>>>> >>> us continue there then. >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>> Till, I agree that we should keep this codepath as >>> slim >>> >> as >>> >> >>>>>>>>>>>> possible. It >>> >> >>>>>>>>>>>> >>> is an important design decision that we aim to keep >>> the >>> >> >>>>>>>>>>>> list of >>> >> >>>>>>>>>>>> >>> authentication protocols to a minimum. We believe >>> that >>> >> this >>> >> >>>>>>>>>>>> should not be a >>> >> >>>>>>>>>>>> >>> primary concern of Flink and a trusted proxy service >>> (for >>> >> >>>>>>>>>>>> example Apache >>> >> >>>>>>>>>>>> >>> Knox) should be used to enable a multitude of enduser >>> >> >>>>>>>>>>>> authentication >>> >> >>>>>>>>>>>> >>> mechanisms. The bare minimum of authentication >>> mechanisms >>> >> >>>>>>>>>>>> to support >>> >> >>>>>>>>>>>> >>> consequently consist of a single strong >>> authentication >>> >> >>>>>>>>>>>> protocol for which >>> >> >>>>>>>>>>>> >>> Kerberos is the enterprise solution and HTTP Basic >>> >> primary >>> >> >>>>>>>>>>>> for development >>> >> >>>>>>>>>>>> >>> and light-weight scenarios. >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>> Added the above wording to G's doc. >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>> >> >>> https://docs.google.com/document/d/1NMPeJ9H0G49TGy3AzTVVJVKmYC0okwOtqLTSPnGqzHw/edit >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>> On Tue, Jun 1, 2021 at 11:47 AM Chesnay Schepler < >>> >> >>>>>>>>>>>> ches...@apache.org> >>> >> >>>>>>>>>>>> >>> wrote: >>> >> >>>>>>>>>>>> >>> >>> >> >>>>>>>>>>>> >>>> There's a related effort: >>> >> >>>>>>>>>>>> >>>> https://issues.apache.org/jira/browse/FLINK-21108 >>> >> >>>>>>>>>>>> >>>> >>> >> >>>>>>>>>>>> >>>> On 6/1/2021 10:14 AM, Till Rohrmann wrote: >>> >> >>>>>>>>>>>> >>>> > Hi Gabor, welcome to the Flink community! >>> >> >>>>>>>>>>>> >>>> > >>> >> >>>>>>>>>>>> >>>> > Thanks for sharing this proposal with the >>> community >>> >> >>>>>>>>>>>> Márton. In >>> >> >>>>>>>>>>>> >>>> general, I >>> >> >>>>>>>>>>>> >>>> > agree that authentication is missing and that >>> this is >>> >> >>>>>>>>>>>> required for >>> >> >>>>>>>>>>>> >>>> using >>> >> >>>>>>>>>>>> >>>> > Flink within an enterprise. The thing I am >>> wondering >>> >> is >>> >> >>>>>>>>>>>> whether this >>> >> >>>>>>>>>>>> >>>> > feature strictly needs to be implemented inside of >>> >> Flink >>> >> >>>>>>>>>>>> or whether a >>> >> >>>>>>>>>>>> >>>> proxy >>> >> >>>>>>>>>>>> >>>> > setup could do the job? Have you considered this >>> >> option? >>> >> >>>>>>>>>>>> If yes, then >>> >> >>>>>>>>>>>> >>>> it >>> >> >>>>>>>>>>>> >>>> > would be good to list it under the point of >>> rejected >>> >> >>>>>>>>>>>> alternatives. >>> >> >>>>>>>>>>>> >>>> > >>> >> >>>>>>>>>>>> >>>> > I do see the benefit of implementing this feature >>> >> inside >>> >> >>>>>>>>>>>> of Flink if >>> >> >>>>>>>>>>>> >>>> many >>> >> >>>>>>>>>>>> >>>> > users need it. If not, then it might be easier >>> for the >>> >> >>>>>>>>>>>> project to not >>> >> >>>>>>>>>>>> >>>> > increase the surface area since it makes the >>> overall >>> >> >>>>>>>>>>>> maintenance >>> >> >>>>>>>>>>>> >>>> harder. >>> >> >>>>>>>>>>>> >>>> > >>> >> >>>>>>>>>>>> >>>> > Cheers, >>> >> >>>>>>>>>>>> >>>> > Till >>> >> >>>>>>>>>>>> >>>> > >>> >> >>>>>>>>>>>> >>>> > On Mon, May 31, 2021 at 4:57 PM Márton Balassi < >>> >> >>>>>>>>>>>> mbala...@apache.org> >>> >> >>>>>>>>>>>> >>>> wrote: >>> >> >>>>>>>>>>>> >>>> > >>> >> >>>>>>>>>>>> >>>> >> Hi team, >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >> Firstly I would like to introduce Gabor or G [1] >>> for >>> >> >>>>>>>>>>>> short to the >>> >> >>>>>>>>>>>> >>>> >> community, he is a Spark committer who has >>> recently >>> >> >>>>>>>>>>>> transitioned to >>> >> >>>>>>>>>>>> >>>> the >>> >> >>>>>>>>>>>> >>>> >> Flink Engineering team at Cloudera and is looking >>> >> >>>>>>>>>>>> forward to >>> >> >>>>>>>>>>>> >>>> contributing >>> >> >>>>>>>>>>>> >>>> >> to Apache Flink. Previously G primarily focused >>> on >>> >> >>>>>>>>>>>> Spark Streaming >>> >> >>>>>>>>>>>> >>>> and >>> >> >>>>>>>>>>>> >>>> >> security. >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >> Based on requests from our customers G has >>> >> implemented >>> >> >>>>>>>>>>>> Kerberos and >>> >> >>>>>>>>>>>> >>>> HTTP >>> >> >>>>>>>>>>>> >>>> >> Basic Authentication for the Flink Dashboard and >>> >> >>>>>>>>>>>> HistoryServer. >>> >> >>>>>>>>>>>> >>>> Previously >>> >> >>>>>>>>>>>> >>>> >> lacked an authentication story. >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >> We are looking to contribute this functionality >>> back >>> >> to >>> >> >>>>>>>>>>>> the >>> >> >>>>>>>>>>>> >>>> community, we >>> >> >>>>>>>>>>>> >>>> >> believe that given Flink's maturity there should >>> be a >>> >> >>>>>>>>>>>> common code >>> >> >>>>>>>>>>>> >>>> solution >>> >> >>>>>>>>>>>> >>>> >> for this general pattern. >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >> We are looking forward to your feedback on G's >>> >> design. >>> >> >>>>>>>>>>>> [2] >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >> [1] http://gaborsomogyi.com/ >>> >> >>>>>>>>>>>> >>>> >> [2] >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >>> >> >>>>>>>>>>>> >>> >> >>> https://docs.google.com/document/d/1NMPeJ9H0G49TGy3AzTVVJVKmYC0okwOtqLTSPnGqzHw/edit >>> >> >>>>>>>>>>>> >>>> >> >>> >> >>>>>>>>>>>> >>>> >>> >> >>>>>>>>>>>> >>>> >>> >> >>>>>>>>>>>> >>> >> >>>>>>>>>>> >>> >> >>> > >>> > >>> > -- >>> > >>> > Konstantin Knauf >>> > >>> > https://twitter.com/snntrable >>> > >>> > https://github.com/knaufk >>> > >>> >> >> >> -- >> >> Konstantin Knauf >> >> https://twitter.com/snntrable >> >> https://github.com/knaufk >> >