mTLS is totally unrelated to the username. It's whatever you'd typically
have without mTLS.

On Sun, Jun 9, 2024 at 1:38 PM Andor Molnar <an...@apache.org> wrote:

> That is a completely fair point and I agree that from security
> perspective, the approach is safe enough.
>
> I'd just like to figure out what is the username in this case? Linux
> user id? Anything that comes from SASL layer based on the Hadoop stack?
>
> Andor
>
>
>
>
> On Fri, 2024-06-07 at 09:30 -0700, Andrew Purtell wrote:
> > Most users who would employ a mTLS authentication scheme would
> > operate with this trust model. The fact the client has a valid signed
> > certificate means it can be trusted, and that trust includes supplied
> > connection metadata like username. Or, if not, then not.
> > So then a lot of security engineering effort goes in to protecting
> > the trust established by certificate distribution, like using short
> > lived certs, and secure distribution methods.
> >
> > > On Jun 7, 2024, at 6:34 AM, Bryan Beaudreault <
> > > bbeaudrea...@apache.org> wrote:
> > >
> > > You're sort of correct. We've been using mTLS in prod for a while
> > > now, ever
> > > since the feature was committed. It's true that the actual HBase
> > > username
> > > is not verified with mTLS, however you still can authenticate the
> > > connection. The idea behind mTLS is that the certificate carries
> > > the
> > > authentication -- so a client will need a certificate which has
> > > been signed
> > > by the same CA (or at least within the CA chain) which signed the
> > > server's
> > > certificate, and vise versa.
> > >
> > > For us, if someone has a valid certificate and the mTLS
> > > authentication
> > > succeeds, then we just trust their username. Based on how we use
> > > HBase in
> > > our environment, this is perfectly secure for our use-case. That
> > > may not
> > > work for everyone, and I did file a jira to add a feature for
> > > validating
> > > the username (perhaps pulling from a custom certificate property).
> > > But I
> > > haven't actually implemented that, and not sure that I will since
> > > it works
> > > as-is for us.
> > >
> > > I'm on mobile now so I can't find it, but it should be findable in
> > > jira if
> > > you search the tls-related tickets
> > >
> > > > On Fri, Jun 7, 2024 at 8:53 AM Andor Molnar <an...@apache.org>
> > > > wrote:
> > > >
> > > > Hi Bryan / Hbase devs,
> > > >
> > > > Based on the changes when you added mTLS support in HBASE-27280
> > > > [1],
> > > > only the certificate and hostname verification part were added to
> > > > the
> > > > codebase. HBase doesn't actually authenticates the user when mTLS
> > > > is
> > > > being used.
> > > >
> > > > In other words some other auth method Simple or Kerberos is still
> > > > needed to identify the HBase user, because mTLS doesn't extract
> > > > identity information from the client certificate and doesn't map
> > > > it to
> > > > an active HBase user.
> > > >
> > > > Is that correct?
> > > >
> > > > Regards,
> > > > Andor
> > > >
> > > >
> > > > [1] https://issues.apache.org/jira/browse/HBASE-27280
> > > >
> > > >
> > > >
> > > >
>
>

Reply via email to