openstack swift构建公有云

在swift里要访问一个object须要先经过认证系统认证,好比经过keystone得到一个token再用这个token才能去访问资源。若是要构建公有云就得容许匿名访问资源。在swift里经过设置container ACLs是能够实现这点的html

好比要把tenantID为74d6e267b9c14d93b0c04760944f3b66的工程里的test容器里的资源设置为容许匿名可读,那么先经过原先的方法获取到一个token和publicURL,而后再PUT一个X-Container-Read: .r:*,.rlistings就能够了swift

curl –X PUT -i \api

    -H "X-Auth-Token: fc81aaa6-98a1-9ab0-94ba-aba9a89aa9ae" \curl

    -H "X-Container-Read: .r:*,.rlistings" \url

    https://publicURL/v1/74d6e267b9c14d93b0c04760944f3b66/test.net

如今就能够直接这样下载test器的东西htm

curl -X GET -i https://publicURL/v1/74d6e267b9c14d93b0c04760944f3b66/test/somethineblog

也能够设置可写权限等,同时使用swift-client来设置也是能够的token

参考:ci

http://docs.openstack.org/api/openstack-object-storage/1.0/content/special-metadata-acls.html

http://blog.fsquat.net/?p=40