From: Ramana Raja <rraja@redhat.com>
To: Gregory Farnum <gfarnum@redhat.com>
Cc: ceph-devel@vger.kernel.org
Subject: Re: quota change restriction
Date: Tue, 21 Feb 2017 10:39:24 -0500 (EST) [thread overview]
Message-ID: <1480195648.109632451.1487691564102.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <1094111600.109553860.1487681855536.JavaMail.zimbra@redhat.com>
On Tue, Feb 21, 2017 at 6:27 PM, Ramana Raja <rraja@redhat.com> wrote:
> On Mon, Feb 20, 2017 at 10:43 PM, Gregory Farnum <gfarnum@redhat.com> wrote:
> > On Mon, Feb 20, 2017 at 8:43 AM, John Spray <jspray@redhat.com> wrote:
> > > (taking to ceph-devel)
> > >
> > > On Mon, Feb 20, 2017 at 4:27 PM, Ramana Raja <rraja@redhat.com> wrote:
> > >> Would it be possible or make sense to disallow clients having
> > >> path restricted caps (OpenStack clients) from modifying quota
> > >> (change share size) of the root of the exported subtree (manila share)?
> > >>
> > >> Currently, an OpenStack client can mount a share and modify
> > >> its size, by modifying the quota xattr value at the mount point,
> > >> without Manila service knowing about the size change.
> > >
> > > Right, I think this came up before at some point. I think I didn't
> > > think hard about it because it wouldn't be an issue so much with NFS
> > > clients, but we should at least decide what direction we want to go
> > > in.
> > >
> > > We had kind of the same issue with layouts, which is why the 'p' part
> > > of 'allow rwp' MDS auth caps was introduced. A few options spring to
> > > mind:
> > > A) Apply the 'p' flag rules quotas as well as layouts: generalise it
> > > into a "this is a client that isn't allowed to modify the special
> > > ceph.* attrs". Is this too Manila-specific? Not sure.
> > > B) Special case the client's mount root, and never let it modify the
> > > quotas on its own root. This is probably reasonable in practice as I
> > > would expect someone to only be mounting a subpath at the point they
> > > had configured their quotas elsewhere, but it seems like quite a
> > > quirky move.
> > > C) Introduce another flag to the mds auth caps that controls ability
> > > to set quota. Downside: additional complexity in the auth caps.
> > > D) Do nothing
> > >
> > > Anyone have other thoughts on this, and/or a preference from those
> > > options? I'm leaning towards A but just because I can't readily
> > > imagine use cases where you want to permit layout changes but ban
> > > quotas, doesn't mean they don't exist.
> >
> > I like A but it does restrict the ability of tenants to have a "tenant
> > admin" restricting the size of certain of their clients. Not sure if
> > we care about that use case or not.
I misunderstood your concern about restricting userspace CephFS clients
from setting quotas on subdirs within a share. So please ignore my below
answer.
>
> I don't think this is an issue in the OpenStack world. What Manila
> operation, e.g., shrink/extend share, an OpenStack user can perform is
> controlled by OpenStack's authorization mechanism, role based access
> control [1]. It should be possible to enable only certain OpenStack
> users to modify share sizes. So such users can change the share size
> anytime through Manila client APIs.
>
> I was referring to the issue of native CephFS clients with path
> restricted MDS caps in OpenStack user's compute instances, nova VMs,
> being able to modify quota xattrs and thereby override the share size set
> by the OpenStack user using Manila with cephfs_native driver backend.
> As John pointed out, this wouldn't be an issue once Manila's CephFS driver
> can also serve NFS shares using NFS-Ganesha servers. NFS clients can't
> change xattr values and hence wouldn't be able to modify the quota/share
> size.
>
> -Ramana
>
> [1]
> https://docs.openstack.org/admin-guide/identity-service-api-protection.html
> I understand the mechanism as follows:
> An OpenStack user is assigned a 'role' and what a 'role' can
> do is determined by 'rules' in a per-OpenStack service
> 'policy.json'file such as,
> https://github.com/openstack/manila/blob/master/etc/manila/policy.json
>
> > -Greg
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
prev parent reply other threads:[~2017-02-21 15:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <461205975.109214419.1487599948474.JavaMail.zimbra@redhat.com>
[not found] ` <1228164616.109276923.1487608022780.JavaMail.zimbra@redhat.com>
2017-02-20 16:43 ` quota change restriction John Spray
2017-02-20 16:47 ` Sage Weil
2017-02-20 17:13 ` Gregory Farnum
2017-02-21 12:52 ` John Spray
2017-02-21 12:57 ` Ramana Raja
2017-02-21 15:39 ` Ramana Raja [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1480195648.109632451.1487691564102.JavaMail.zimbra@redhat.com \
--to=rraja@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=gfarnum@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox