如此处所述,我想为 OpenStack 设置应用程序凭据。但是,与该链接中的示例不同,我想为对象存储服务 Swift 设置凭据。
我首先必须假设“服务”字段应设置为
"object-store"
,因为我的OpenStack实例不允许使用openstack service list
。我根据此链接选择了字符串“object-store”:https://specs.openstack.org/openstack/service-types-authority/#service-data
因此我使用这个创建了一些凭证:
openstack application credential create foo --access-rules '[{"method": "GET", "service": "object-store", "path": "/**"}]'
但是,即使使用宽松的“路径”,我使用这些凭据执行的任何 API 调用也会失败:
$ swift list my-container
Container GET failed: https://object-store.rc.nectar.org.au/v1/AUTH_MYACCOUNT/my-container?format=json 401 Unauthorized [first 60 chars of response] b'<html><h1>Unauthorized</h1><p>This server could not verify t'
将应用程序凭据限制为 Swift 的正确访问规则是什么?