Re: [Scality-SCOP] ACL Management for buckets and objects

66 views
Skip to first unread message

Guillaume Leconte

unread,
Feb 21, 2011, 11:51:42 AM2/21/11
to scalit...@googlegroups.com
Hi David!

For now, the big picture is to provide a generic although simple
abstraction of the S3-like APIs, with basic features such as handling
user/group, permissions, etc.

As a first step toward something functional, do not dig into any
complex ACL, otherwise it'll probably become an incommensurable mess :-)

Guillaume.

----- Original Message -----
From: "Joacchim" <dav.p...@gmail.com>
To: "SCOP" <scalit...@googlegroups.com>
Sent: Wednesday, February 16, 2011 3:35:37 PM
Subject: [Scality-SCOP] ACL Management for buckets and objects

Hello,

As I work on the cloud migration tool droplet, I thought about copying
the acl with the object.
I went through the library's code in order to find whether I could
retrieve a bucket or a file's acl, and set it in a detailed fashion.
I then understood that retrieving it would be possible (with a wrapper
around dpl_get), but with the current api, I can't seem to set a
detailed acl for an object.

Here comes my question :
Is the goal of the library to provide a generic abstraction of the S3-
like APIs, in which case I should not try to set detailed acls ? Or is
it to provide an as detailed as possible abstraction of those APIs ?

Because if it is a generic abstraction, I thought about writing the
wrapper function I wrote about (and possibly discussing the patch with
the library's development team), but I would not know exactly how to
match the different values of the dpl_canned_acl_t enum with the
possible situations.

So, in the end it comes down to it : should I try to be generic, or
detailed ?

In advance, thanks for the answer

Joacchim

unread,
Apr 18, 2011, 8:34:03 AM4/18/11
to SCOP
Hello,

I'm currently coming back to the ACL management problematic in the
CloudMigration Tool.

I first tried retrieving the canned_acl through a HEAD request with
the dpl_head() function, since I read that the dpl_req_build()
function creates a header entry "x-amz-acl" to transmit the
canned_acl. Sadly enough, I couldn't get anything from It.

Thus my question : How can I retrieve the canned acl of a file ?

On Feb 21, 6:51 pm, Guillaume Leconte <guillaume.leco...@scality.com>
wrote:

Vianney Rancurel

unread,
Apr 18, 2011, 8:53:29 AM4/18/11
to scalit...@googlegroups.com
1) for the canned acl: use dpl_head_all() which retrieves all headers and not only user's metadata

2) For the acl blob, use the "acl" subresource in dpl_get()

----- Original Message -----
From: "Joacchim" <dav.p...@gmail.com>
To: "SCOP" <scalit...@googlegroups.com>

Hello,

--

www.scality.com
Vianney Rancurel
+33 1 7809 8270
+33 6 7737 9967


David Pineau

unread,
Apr 18, 2011, 8:57:01 AM4/18/11
to scalit...@googlegroups.com
1) I tried both dpl_head and dpl_head_all, but no HTTP header seemed to be about canned acls ? Did i miss something ?

2) With the testing accounts i was given, the "acl" subresource send me back a DPL_ENOENT error. One again, Did I miss something, or is it not provided by scality's API ?

Thanks for your fast answer :)

2011/4/18 Vianney Rancurel <vianney....@scality.com>



--
David Pineau, Etudiant Epitech -Promotion 2012-
Assistant C/Unix, Assistant Langages Avancés
Membre LSE (Laboratoire Système Epita/Epitech).

David Pineau

unread,
Apr 19, 2011, 9:44:25 AM4/19/11
to scalit...@googlegroups.com
Hello,

Thanks to the help on the IRC channel I discovered that i had misunderstood the use of the http header x-amz-acl used to set the canned_acl at put-time.

I can now retrieve the acl, thanks for your help.

2011/4/18 David Pineau <dav.p...@gmail.com>
Reply all
Reply to author
Forward
0 new messages