Re: [nfsv4] RFC: new optional attribute related to owner-override

Rick Macklem <rmacklem@uoguelph.ca> Tue, 01 February 2022 01:13 UTC

Return-Path: <rmacklem@uoguelph.ca>
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 99E233A09E1 for <nfsv4@ietfa.amsl.com>; Mon, 31 Jan 2022 17:13:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=uoguelph.ca
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qtPW7hg-6u5h for <nfsv4@ietfa.amsl.com>; Mon, 31 Jan 2022 17:13:42 -0800 (PST)
Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-to1can01on060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe5d::60f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 897463A09DC for <nfsv4@ietf.org>; Mon, 31 Jan 2022 17:13:42 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iAixomkTAQPMjelslAuKKdUDiMA6/6gs5na5Gp/L4SMt2SICvUNTYF0/+XT+cpAb2SOvM09+/D41mwrY9TJiVrXtNS+b/zd98bPsysBmdadtToFZXfI7ByzAdL/Th5gp3NZWWNZL+HVj9guUTSolfaYUabYK4S1ElRVwOX0YEYluLpSYmoce8asJhRQekfWJWR7Tno0lZeZuBs7p3Q/a/5IIZkNwjrt99dqtw0Ph1G37le9kiETiH0aw/+iCMfcsT5iuTs400MZwIR+OtwAtEsI+KsSO3ePnSDlaqn64qecpXy2Nnva8OJF/imPt2tsjdiQJPu9ebw1c+ph9R7FjsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jj5SaOYro+ocl04WWWrpeljIowTzEni2RiWBKzZM+Bk=; b=S8+w/NE2wQ9urOce46OpY8TXmHMqnyC4mzm1Pivugc7f9OZBvuQ4f21iRVlskrqq3z8UalHklXJnE9VcrPwpZRTdK0YU+5bKbuI9vUl/ioEOmDm5lSTAshyhnvmypshGVE9d+Z3rIH7fbfRJ7mNrCRINzbGMW5OOpYzkTztRU5o6fC8U1dYTMltFFLt4J94THxLQQXQJ8RGZbrG8PDPGR2pGhWSBmNzStN1xIPd316Iak4gQYcmI0DFRbibbZ425HWe6ViBAr0UuzD4foWoh+owHxvV8MQuiULvxHxBBBkS0CSzJiZqXNWBbwXiXqmKlba7xfGcb4fKWPjXDsKHuMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jj5SaOYro+ocl04WWWrpeljIowTzEni2RiWBKzZM+Bk=; b=OPP6+SwslmDA4DSjCYMk4/LRmLXp24GP6zdIdMkZvOQHa0r3Cpn83+xm8729MTBxrYQaQiUNpR2MmGY6o6yEFIdA8IzNjuflOL2vTqC6nSUfj6pTK/xjxZaRe+PB7DTRrSvXte+27doVtNddaVHyo1wi+bIHow38va4zjYNBZgKokv9362a0LP4zu5Vvu8O3JPF376XQa8Sln4TzSERixTzTgwclJTMyiYSUDhHYYK3vVsfapL4c0JmTuozDVpNkhlC3qGtciA484MkIZOAYj+vhCO1yNF65fQ8jzz3TxP3q1d+/w7QBNy8t0UFsikreCdTVaTPJu92HPZjfi96XeA==
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:19::29) by YT2PR01MB9080.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:bf::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.15; Tue, 1 Feb 2022 01:13:37 +0000
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::7dfe:b92e:1f9f:a196]) by YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::7dfe:b92e:1f9f:a196%5]) with mapi id 15.20.4930.021; Tue, 1 Feb 2022 01:13:31 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: David Noveck <davenoveck@gmail.com>
CC: "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] RFC: new optional attribute related to owner-override
Thread-Index: AQHYFWE17ZjG4x1ppUGxjHB1AlSya6x9KsgAgAC5N3Y=
Date: Tue, 01 Feb 2022 01:13:31 +0000
Message-ID: <YQXPR0101MB09681F408880B88E1BFA2494DD269@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
References: <YQXPR0101MB096897EB25713A75300D937ADD239@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <CADaq8jeZ_0neVTZrPM6uZqdLS_Rb-R+_CCUKmCh=uTxdV1gC6g@mail.gmail.com>
In-Reply-To: <CADaq8jeZ_0neVTZrPM6uZqdLS_Rb-R+_CCUKmCh=uTxdV1gC6g@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: eb7c462c-3868-c6ff-214d-2c43273afd66
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=uoguelph.ca;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f84b6095-5935-4a14-e225-08d9e5200fdc
x-ms-traffictypediagnostic: YT2PR01MB9080:EE_
x-microsoft-antispam-prvs: <YT2PR01MB9080DB81F52D7438BE9BAC19DD269@YT2PR01MB9080.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: IYAishdBinhOq/jwe2UMiRJOVauCSi19PChiwgSZrcWBbrhZDrzu+8HmZtnThiM/twxRFl9Jw05Kv8X/rcF1C8ZScPsm85DbnsloqLItpmxnRHXsw2YFzHaKAs9VYTBx0tnKGzaG9ERQECakcIpd5R267R+rCin3rMSwMdUA1H6nB0DGJethADxROY2bieS1dBB75xzJlCpeBnm1+35tKJaCtS7m7LUvhkdp6T3SpOqLVleMVl2p4gbxueXUM/176chNZb+gUGKTJkqmwqokGAMun3Cqd4MBwsy0ti1GLO+deyNrvvHTWuJWsjz1P7Y588HrxcTsDX0dwDIHyvEgHA+OceF81uhDxLBBQRMRXUaZBbktntodYu/V5zN6bqvOWOZ+A18BXmy78QowRNZ+5g3W+4UqHXbpJER0HxXY0yihIMJm4eM5iAbIII/XeRjtsyYvOAQD5g+NNDuNvIHid2h0/KEZ6hjqkYDRxV9UjBpR1DvdhBmvH1oVp62XMapQIzxRP2Bj00yC7W0lORlgyrMIVPCmpxPblRJ9Zzift+PmuPiXRsigyNdBf8IL1ca/IeezLVcaYx9458HglzJMk0P6T816Xl174CsHbN0TM+pJFsvnZWgMs6ckYqdH+i4eU6gqqZ7kIk4HcEneAc+/EssxyPIr/+AJrAKQAgGyLTNoDLVk28eUZBYjiXJD0ICBabo5OMMIkVzr1bEsJwwLNvBdfXwXN5N/Vw7xMRYQIYKVipMAD4dRNbTXNfSVRfdbHezQ24xUgn7smWz6eq4fYh7lICi4RnlwfIrSGeUWmOc=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(366004)(7696005)(6506007)(5660300002)(53546011)(55016003)(52536014)(186003)(33656002)(83380400001)(9686003)(2906002)(8936002)(38070700005)(66476007)(786003)(86362001)(316002)(38100700002)(122000001)(91956017)(966005)(6916009)(508600001)(71200400001)(4326008)(64756008)(66556008)(66446008)(66946007)(76116006)(8676002)(20210929001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: hpnAqdRbXlrX0RqocQFyMIG4MqpqPM7csm8eLNJ/2xRgXMSwJsFF4TrVGDl1AjwDj9svbfvsB27swtrn8/riaNu8Jyzs8/qFzGzgqbIIGat0pxuw0T0FsGQxTJkwOaqsSAQpG1ponihuLr8kGXu+QcWqjE8m8L/xlqmnylYog1y0ugLvnbyaZxCWjoUgQYYNNTtCso0eQVKffIaCpDpvWb1kSBsnrxT+mpRRb8AQyKIHJZtLZs/WWQ9W0ohkz6eU5uOGrUpzBdLL/V8HNnHgnkOkjAe9FiYUVr0yoVePTZ700FUfmOiFjFe6zO4CGE6/yFjfk6SN0KwK8JCtqziN1SP2GbIyDm1wOBLYddxfGqZT7fwjEUPRkpTg9NyzUgqAJeplTW5L+3uhga9iKgbucHCFDco2KhoBXxQ+HaN4wxk8ThXM3QKVheCSMLbnvsiGRqlFspYNr/rTcugoWUdAPMHlofXtBxmeu+kOV67CLSDtQH+EMX8J2DXtyA6N4O+DLUsInnRSRQWDLUHx6krFYxow0vWbVvjhDERvosoCUvPs9HD1tGydmNVW1gENyvCYRXJweB+/7BtplhHYsngTvtki3KqcfJMqABoFSGQmdd8fAZb+91H9UgbYOzHJlUPHJf0RwnT0P7NLg1MQZG7aJ5V3ZaX45Uqu2GbYX3sstJ50rz/uLzi0Gm9bjZ5DYM+zRgYY1lL1BEksbuDNyyf31GPPhWJSR8HAgX4WYCmgU0LahfRnN4nDbSdhx1T0m5UWzQWMiDNgDNx4BsUCWMz3ud9QL6Kniu71O4aRT9X1MH49GcJG1WErazjwaS4p1WflGd872yBeyr2Gxn5HHnkxOABXgF/u8NmUK2UZII2FZHODlSI5SOFwON3NYV4/LN/c0BmxDfLaksMkKkpOd53rXazVUGT8XwlRNgEDkYWuBUnfw4CRsnApnqWGwT+zqYX5n3Cnp5uqeweX3j+q4PhGCjFMZ/4kKF8oHqP4XeUMGvlzBPGj+b+JAPyTpPaN7OF2XoWzesSHfmall5uzGbY+TzQRhDn6jSfoPc0D35vn0RixUJ35JS1XB+YCGjpnUGg1/5RnvtbM3B86QmxsRE28HUyh28FbyUOnAwbKxc/ycEYhzeyufgYinSkEegnOnDJwW6KcutYgnaATVcaaFjmvJmZSAlv4zHte8k+bOo7pa690BA4joWmInrHhb3R1d3x+0/cFfzdxt578xFm/pRiqeFWLjMk+djQxPyULbQkQ2re3lZRXDzarxoN0q1k2Y19Y3WBS7Dw5qCoqccN6/MtBmBVoO6jWaFusold/8F7fw1+4JF+rQs57vhFsY9IUgt9/Dg8CFEby2FerqrulicV2qTBxViJ4sxlQJAq1q26+QQ6znsRZJ1tjupCAh0UkxXPN605MEEeVD7Y7LNn0eTiYn1Oc1NfWYEY12GHSt9SHhAYfUIqTCAgosgsXFCAAsSFXNnrBkHHOcAhLiY2LOEDMHQMZ7DhmYDQ0HIDqUXn7nbglVsJqYVaQOqkBG72CYylKLPJ5iPHgyQJ1EESOTCohljEe2oun9Mg7maC2mZZnYDpSJOAdqUAnoEgLYI11BYehPk3Xut8Pt1pFjpZ8zWaBTOg3VptUBCetu7RrTmpwSXsdpsh7kEKhNWaBPl+z8AUm1ljJ0+KsH85nS4VBASSrWA==
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: uoguelph.ca
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: f84b6095-5935-4a14-e225-08d9e5200fdc
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2022 01:13:31.6859 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: k1PXVxeAiTpc2FKUbauVcBAS8nJYmG3txK1tRNJe4iN25aE5ltw9+MVrcvczas838P79jgBjMitXqIVd3fF8Lg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT2PR01MB9080
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/jDuqgXrIK5VuKR36qwDEfvSElVU>
Subject: Re: [nfsv4] RFC: new optional attribute related to owner-override
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Feb 2022 01:13:48 -0000

Hopefully people don't mind a top post...

Thanks David, for your comments.
I am comfortable with anything that you think fits well with
your security work.

I agree that an attribute that is per clientid is pushing it, and
I think you are correct that it is not acceptable.

A read-only attribute might be useful, although I think allowing
a client to negotiate a preferable security model would be beneficial.

I am not sure that extending ExchangeID is a good plan, since it works
well in its current form and doesn't need additional complexity.
Another possibility is a new operation that a client can use to
negotiate security options. The attribute proposed one set, based
on the "owner override" concept. There may be others that become
clear during your security work?

I would like to wait and see what others think.

I will not be adding this to my current draft, since I no longer believe
that an optional attribute is the correct way to do this,

rick


________________________________________
From: David Noveck <davenoveck@gmail.com>
Sent: Monday, January 31, 2022 8:59 AM
To: Rick Macklem
Cc: nfsv4@ietf.org
Subject: Re: [nfsv4] RFC: new optional attribute related to owner-override

CAUTION: This email originated from outside of the University of Guelph. Do not click links or open attachments unless you recognize the sender and know the content is safe. If in doubt, forward suspicious emails to IThelp@uoguelph.ca


>I am thinking of adding this attribute to my draft, but thought
> I'd ask for comments first.

Thanks for asking.  I hope my comments below do not cause you to regret that decision.

I believe that this is a helpful idea  to address a gap in existing specifications and I would very much like to see it developed further.  However, there are a number of reasons that I think that putting it into your existing I-D is might not be the right venue.

  *   What you have proposed is really outside the scope of the NFSv4 attribute model, at least when used with SETATTR, as you have proposed.  It doesn't really fit without other other attributes which do not seek to extend the attribute concept in a major way.   I anticipate that if you keep to the existing model, we could adopt that document as a WG document soon and look to getting to WGLC in about six months.
  *   Even If you were prepared  to  cut this back  to a GETATTR/VERIFY/NVERIFY, it seems likely to me that the possible connection with draft-ietf-nfsv4-security is likely to add substantial delay to the process.   It's up to you but I would suggest getting done what can be (relatively) easily done now and defer the harder part until the future of draft-ietf-nfsv4-security is clearer.

Let me provide you some background about things I am expecting to do in draft-ietf-nfsv4-security-05 and how I might address your work in that document.

  *   In a number of places in which existing specs create choices for the server (implicitly, not using "MAY" or "OPTIONAL"), I intend to refer, in a new subsection of Section 16 ("Future Security Needs"), to the possibility that new optional attributes could be defined to allow the client to understand which of choices left to it by the existing specs the server has chosen. Other than to list the issues to be addressed, it doesn't make sense for me to have much detail regarding documents not written or adopted as wg documents.
  *   I could, if you are OK with it, include the read-only version of your attribute in that list.
  *   With regard to the SETATTR use of your attribute, I think that the right alternative is to deal with this by adding new flags to EXCHANGE_ID.   I think I could allude to this possibility in security-05, if you don't have a problem with that.

 As far as where to first publish your idea in a document, it seems to me you have the following possible choices:

  *   It could make sense as a separate I-D, either with the goal of wg adoption in this form, or expecting it to be merged into another document before working group adoption.
  *   One possibility is to merge it with the similar attributes mentioned above to clear up ambiguities about various forms of essentially optional server behavior.   I could see work on this document proceeding in parallel with further work on security-xx and the rfc5661bis document suite.   If we took this approach, we would need to be careful not to create troublesome inter-document dependencies while keeping to a common approach to the matters under discusion.

I anticipate that security-xx would continue to deal with the options as they are now without adding  references to the newsecattrs documents.

Once the newseecattrs documents is adopted, I expect it would refer, informatively, to security-xx.   This migght delay newsecattrs publication as RFC but i don't find that troublesome since necessary prototype would probably not be impeded.

  *   Another possibility, if you want to preserve the SETATTR-like part of this, is to combine it in a document addressing a set of desirable EXCHANGE_ID.   I have at least one such extension in mind, connected with smoothing the lock reclaim process in the event of large numbers of opens to be reclaimed.  I'll send a more detailed description in an email next week but will not have time to work on a document until security-05 is out.  Sigh!

I think that, for any of these approaches to the publication process, it would help if we worked together on prototypes. I think I would be able to do a prototype ontap implementation some time in 2022.  I think virtual bakeathon testing is desirable but, if I can't get that arranged, I think we could figure out other ways of doing interoperability testing.

On Sat, Jan 29, 2022 at 5:59 PM Rick Macklem <rmacklem@uoguelph.ca<mailto:rmacklem@uoguelph.ca>> wrote:
I am thinking of adding this attribute to my draft, but thought
I'd ask for comments first.

This one would be per server (for a given client's ClientID) and
would apply to the following operations:
Read, Write, Setattr-of-size, Allocate, Deallocate, Copy,
Open(Claim_delegate_cur/Claim_deleg_cur_fh)

I am thinking of a tri-state attribute:
1 - A permission check is done via mode or ACL for each of the
     above operations.
2 - The owner of the file is permitted to perform the above operations.
     For non-owner requests, a permission check is done via mode or ACL
     for each of the above operations.
3 - The operation is permitted, if an appropriate valid stateid(s) (not
     special stateid(s)) is provided, plus:
    - The client has been peer authenticated.
    - At least integrity protection is being applied to the connection the
      request is received on.
    (Appropriate stateid would be defined, but for this discussion, I think
     what is appropriate should be fairly obvious. Note that a lock_stateid
     is always associated with an open_stateid via open_to_lock_stateid and
     the open_stateid is for Read, Write, or Both access.)

A server would not be required to support all 3 attribute values and
would return NFS4ERR_INVAL for any value not supported when a
Setattr of the attribute is attempted.

The setting would apply to the ClientID implied by the Sequence
operation for the compound the operation is in.

The object would be to both document what the serve implements
and to allow a client to select a preference, for servers that support
more than one of the above 3 attribute values.
(Probably an enumerated type when done in XDR.)

So, what do others think? rick

_______________________________________________
nfsv4 mailing list
nfsv4@ietf.org<mailto:nfsv4@ietf.org>
https://www.ietf.org/mailman/listinfo/nfsv4