[nfsv4] Re: Feedback on user ID for any bis work

"Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de> Sat, 17 August 2024 09:51 UTC

Return-Path: <tigran.mkrtchyan@desy.de>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 14DB6C14CE42 for <nfsv4@ietfa.amsl.com>; Sat, 17 Aug 2024 02:51:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.651
X-Spam-Level:
X-Spam-Status: No, score=-6.651 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.455, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=desy.de
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i1sJbn4-57jL for <nfsv4@ietfa.amsl.com>; Sat, 17 Aug 2024 02:51:25 -0700 (PDT)
Received: from smtp-o-1.desy.de (smtp-o-1.desy.de [131.169.56.154]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B3195C14F5E9 for <nfsv4@ietf.org>; Sat, 17 Aug 2024 02:51:25 -0700 (PDT)
Received: from smtp-buf-1.desy.de (smtp-buf-1.desy.de [IPv6:2001:638:700:1038::1:a4]) by smtp-o-1.desy.de (Postfix) with ESMTP id E5E0D11F746 for <nfsv4@ietf.org>; Sat, 17 Aug 2024 11:51:22 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp-o-1.desy.de E5E0D11F746
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=desy.de; s=default; t=1723888282; bh=qh0GcSzXSyCRGzxtD6Chd/GM5Z+R7FARK0Fr7hlCkE8=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=iKyomcxyTHcfwBdwdHyjNs97Zb1Yw3tHiSEGTfI8iLCdcdPUfC3GxnWuB/t09/Ve2 uOPTCGAwEhzajzupgqg3YihX3UTk5xA082Z6aeImCIbCsC1U1WQdU31H9lMABOsB1o VCYveT/gG7hGgVJNoMS89YL/l3lF2ZTVodkhDVKI=
Received: from smtp-m-1.desy.de (smtp-m-1.desy.de [IPv6:2001:638:700:1038::1:81]) by smtp-buf-1.desy.de (Postfix) with ESMTP id D234D20038; Sat, 17 Aug 2024 11:51:22 +0200 (CEST)
Received: from a1722.mx.srv.dfn.de (a1722.mx.srv.dfn.de [IPv6:2001:638:d:c301:acdc:1979:2:e7]) by smtp-m-1.desy.de (Postfix) with ESMTP id BF7EB40044; Sat, 17 Aug 2024 11:51:22 +0200 (CEST)
Received: from smtp-intra-3.desy.de (smtp-intra-3.desy.de [IPv6:2001:638:700:1038::1:45]) by a1722.mx.srv.dfn.de (Postfix) with ESMTP id 6751F220043; Sat, 17 Aug 2024 11:51:21 +0200 (CEST)
Received: from z-mbx-2.desy.de (z-mbx-2.desy.de [131.169.55.140]) by smtp-intra-3.desy.de (Postfix) with ESMTP id 16D101A003E; Sat, 17 Aug 2024 11:51:21 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
From: "Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de>
Mime-Version: 1.0
Date: Sat, 17 Aug 2024 11:51:18 +0200
Message-Id: <1452890090.47955225.1723888278946.JavaMail.zimbra@z-mbx-2>
References: <EFD2C35A-9FC4-4381-82F2-475957CEE07B@cert.org>
In-Reply-To: <EFD2C35A-9FC4-4381-82F2-475957CEE07B@cert.org>
To: Chris Inacio <inacio@cert.org>
X-ZxMobile-Command: SmartReply
X-ZxMobile-Version: 3.19.0
X-Mailer: Zimbra 9.0.0_GA_4612
Thread-Topic: Feedback on user ID for any bis work
Thread-Index: AQHa8BWkquOZ8G2ZEE+JkBu2ia0yN7IqWYSAgAAGxAADPPzJpg==
Message-ID-Hash: V3PTO7QRQ3TJ5MMJA4HIGCKGH5YL7YFQ
X-Message-ID-Hash: V3PTO7QRQ3TJ5MMJA4HIGCKGH5YL7YFQ
X-MailFrom: tigran.mkrtchyan@desy.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-nfsv4.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: NFSv4 <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [nfsv4] Re: Feedback on user ID for any bis work
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/Tlq3I-zd16tQbzHaUzCKhyTLWD4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>

One option that we are currently exploring is adding OIDC tokens support to RPC.
This will play nicely with RPC-over-TLS. It should allow to pass identity tokens
to server to map with ldap or a local configuration. I am trying to define
the problem statement as an personal draft, but not that active as I wish. So, 
if general interest is there, then I will try to allocate more time to it.

— Tigran

> On 16. Aug 2024, at 23:07, Chris Inacio <inacio@cert.org> wrote:
> 
> 
> 
> > On Aug 16, 2024, at 4:42 PM, Chuck Lever III <chuck.lever@oracle.com> wrote:
> >
> > Warning: External Sender - do not click links or open attachments unless you recognize the sender and know the content is safe.
> >
> >
> >> On Aug 16, 2024, at 3:51 PM, Chris Inacio <inacio@cert.org> wrote:
> >>
> >>
> >>
> >>> On Aug 16, 2024, at 3:17 PM, Rick Macklem <rick.macklem@gmail.com> wrote:
> >>>
> >>> Warning: External Sender - do not click links or open attachments unless you recognize the sender and know the content is safe.
> >>>
> >>>
> >>>> On Fri, Aug 16, 2024 at 9:26 AM Chuck Lever III <chuck.lever=40oracle.com@dmarc.ietf.org> wrote:
> >>>>
> >>>>
> >>>>> On Aug 16, 2024, at 11:39 AM, Chris Inacio <inacio@cert.org> wrote:
> >>>>>
> >>>>> Dave, All,
> >>>>>
> >>>>> INDIVIDUAL CONTRIBUTOR HAT ON - NOT CHAIR
> >>>>>
> >>>>> We need this super brief conversation in one of the interim meetings about how user identity is communicated across NFSv4, and there are 2 options, UID/GID ‘integer's and then loosely defined ‘string’. So I’ve been digging into this and I would say, most definitely, do NOT remove the string. So what I can see so far, is that UID/GID numbers are used when auth ‘sys’ is the selected mechanism, where current the string is used when auth is tied to GSS-API. As far as I can tell, the kerberos principal name should be the string in the field. I certainly don’t yet have a full understanding about how everything is connected together. (Just sending the principal is nice and everything, but you want to be able to verify it, and HOLY RAT HOLE ROBIN is that confusing in practice.)
> >>>>>
> >>>>> So, the thing I’m trying to make sense of, how hard would it be to support TLS identities (X.509 certs really) instead of Kerberos.
> >>>>
> >>>> A perhaps subtle distinction here:
> >>>>
> >>>> The current RPC-with-TLS protocol uses x.509 explicitly only for authenticating
> >>>> network peers (ie, hosts). RFC 9289 even says "not for user authentication". So
> >>>> I think the term "TLS" here is probably misplaced.
> >>>>
> >>>> You instead want to invent a new RPC security flavor or flavors that authenticates
> >>>> users (or, dare I say it, to extend GSSAPI to handle this for us) via an x.509
> >>>> certificate, or OAuth, or such like. Nothing to do with transport layer security,
> >>>> which doesn't know from users.
> >>> There is the specific case Chuck named "TLS identity squashing", where
> >>> the client's X.509 cert. identifies a single user for all RPCs done
> >>> via the TLS session.
> >>>
> >>> This works ok for cases where the client is just a single user, such
> >>> as a mobile device.
> >>>
> >>
> >> [ci] That’s really interesting. I’ll have to look deeper at that. First order is that the tighter binding of user to host that allows that to work more easily?
> >
> > Rick implemented this for FreeBSD, and I have a plan to implement
> > this in Linux NFSD in a way that is hopefully compatible with his
> > implementation. It is merely a convention of adding a user identity
> > to the client certificate's SAN field; the receiving server then
> > squashes all RPC traffic from peers using that certificate to that
> > user ID.
> >
> > But I didn't mention it before because I assumed you were interested
> > in the more general multi-user case.
> >
> 
> [ci] You’re right in that I’m primarily interested in the more general use case. And I get some of the possible limitations / hiccups of the version you’re describing. (Mount at boot before user auth, etc.) If you add a field to the certificate, who and when is the signer?
> 
> [ci] It might be more interesting about the “squashes all RPC traffic” part. It seems a bit like a protocol hack, at first blush, to me. But then I don’t understand NFS that deeply, so I could be /really/ off base on that point. But even if it is, does that provide an avenue to think about how new/different auth might be achieved.
> 
> [ci] Although back to your first point, to my current understanding of NFSv4, the "right way”* is most likely API extensions in GSS. My thinking (at the moment) is that I would want to enable where auth is at today, especially if I think enterprise and things like hybrid clouds. I guess that means things like OAUTH, SCIM(?), and still kerberos (and I guess add JWT/CWT). What would make a seamless transition to accessing storage in the enterprise, being able to share to possibly local cloud compute, push up the cloud provider, extend to multi-cloud, and move back down allowing a client end point to have strong authentication and authorization across that. And for bonus points, it would be /really/ nice to be able to smoothly grow up from 3 people in a “garage” to 1000 as an enterprise, and beyond.
> 
> [ci] Free dinner on me if you and Rick have a prototype doing AA for that.
> 
> [ci] I don’t know of any pain free strong AA solutions that I would want to run in my house. I wish I could say that would be in scope - but I doubt my house compute / network is reasonable in 99% of the world's opinion.
> 
> 
> [ci] * - for some definition of right.
> 
> >
> > --
> > Chuck Lever
> 
> 
> _______________________________________________
> nfsv4 mailing list -- nfsv4@ietf.org
> To unsubscribe send an email to nfsv4-leave@ietf.org