在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