Re: object class capability semantics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 21, 2016 at 12:30 PM, Sage Weil <sage@xxxxxxxxxxxx> wrote:
> On Mon, 21 Mar 2016, Gregory Farnum wrote:
>> On Mon, Mar 21, 2016 at 8:55 AM, Noah Watkins <noahwatkins@xxxxxxxxx> wrote:
>> > # Class Execute Capabilities
>> >
>> > Purpose: wire up class capabilities and add an option to specify the
>> > names of object classes are allowed to be used without explicit
>> > capabilities.
>> >
>> > ## Default Object Class List
>> >
>> > Format: `osd class default list = * | [class[ class[ ...]]`
>> >    1) * any class may be loaded
>> >    2) list of class names allowed
>> >
>> > Interpretation of this option is described below.
>> >
>> > ## Enabling Class Capabilities
>> >
>> > It looks like currently in OSDCap::is_capable() that 'x' and class
>> > read/write capabilities are checked. The first change would be to
>> > cross reference these checks with the `osd class default list` to
>> > ensure that the class is on the allowed list.
>>
>> Woah, no way. These are capabilities, and are additive. We and our
>> users are going to be very unhappy if the security meaning of one cap
>> changes depending on others.
>
> I'm not following.  The meaning changes based on the config, not another
> cap.

Ah, that is tickling my memory a little more and sounds better. I
thought this was describing extra caps in the cephx ticket.

>
>> So I take it you mean for those execute and load capabilities to be
>> applied to clients, not the OSD or class methods or something? In that
>> case we can just stick them as additional clauses within the class
>> cap, and I guess take the missing clause to be "all" or the default
>> set or something.
>
> The problem is that 'x' means any class, but that was a bad idea on our
> part.  Users should really specify which classes they mean going forward,
> but for existing clusters that isn't being done, and we can't break
> those, nor should we give them access to any random new class
> that shows up on the system.
>
> This changes it to mean 'any class in the configured list of default
> classes, as specified by ceph.conf'...

Yeah.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux