I think what you want is container ACLs for a given user (e.g using devstack Kilo):

$ openrc user1 project1
$ swift post -r 'project2:user2' con1
$ swift stat con1
      Account: AUTH_f399252f66574ea58ab465b3f8a4a2aa
     Container: con1
       Objects: 1
         Bytes: 483
      Read ACL: project2:user2
     Write ACL:
       Sync To:
      Sync Key:
 Accept-Ranges: bytes
    X-Trans-Id: tx911050b8b0d942438cafb-005671e319
X-Storage-Policy: Policy-0
    Connection: keep-alive
   X-Timestamp: 1450302870.18860
  Content-Type: text/plain; charset=utf-8
$ swift list con1
file1

$ . openrc user2 project2
$ swift list con1
file2             <=== sees contents of own con1

$ swift list --os-storage-url='http://localhost:8080/v1/AUTH_f399252f66574ea58ab465b3f8a4a2aa' con1
file1             <=== sees contents of project1 con1

Note that we have to tweak the storage url to list project1's container.

Regards

Mark

On 09/12/15 08:13, LucyGe wrote:
Hi all,

I have a question about swift object storage. So I found out the container 
creation is within the scope of a project, which means different projects can 
have same container name created.
e.g.
Project 1 - user1   create “container1”
Project 2 - user2   create “container1”
this is allowed
So my question is, can user2 access user1’s container1 without making Project 
1’s container1 “Public”, just user1 grant user2 permission for access to  
Project 1’s container1. Is it supported in the current Openstack swift 
implementation?


_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : [email protected]
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to