对 openstack 中的租户、项目、用户、帐户感到困惑 swift

Confused by tenant, project, user, account in openstack and swift

我对openstack中的tenant和swift感到困惑。

我在名为 myTenant 的租户下的 C3 上有多台机器。这里的tenantproject是一样的。 我不明白 tenantproject 在这里是什么意思。

我还有一个 swift 容器,我可以通过 tenantIDusernamepasswordstorageUrl 访问它。 这里的tenant和上面说的myTenant有什么区别

我用了swift stat -v <containerName>得到容器的AccountKEY_<tenantId>这里tenantuserAccount有什么区别?

storageUrl看起来像http://ip/KEY_<tenantId>,这是一个容器的端点。 那么,tenantId这里仅限于一个容器吗?

谢谢。欢迎任何提示。

由于历史原因(以及不可能追溯修复 N 年的遗留文档、博客、问答网站和其他网络可搜索内容的事实),OpenStack 的一些术语有点令人困惑。

术语"tenant"和"project"意思相同;在 "Ask OpenStack" 网站上查看此问答:

术语 "tenant" 正在逐步淘汰......缓慢。

所以回答你的问题:

I have multiple machines on C3 under tenant called myTenant. Here tenant is the same with project. I cannot understand what do tenant and project mean here.

见上文。

I also have a swift container, which I can access by tenantID and username, password and storageUrl. what are the differences between tenant here and myTenant mentioned above.

一个"tenant"(或"project")有一个名字和一个ID。您的 "myTenant" 是项目名称。租户 ID 或项目 ID 是一个很长的唯一标识符。您可以使用 openstack 命令查找项目的 ID;例如openstack project show myTenant.

I used swift stat -v <containerName> and got the Account of the container is KEY_<tenantId>. here what is the difference between tenant, user and Account?

Keystone中的"tenant"或"project"对应Swift中的"account"。 Keystone 中的 "user" 对应于 Swift 中的 "user"。

(严格来说,概念并不相同。可以 运行 Swift 使用 TempAuth 中间件,它从本地配置而不是从 Keystone 服务获取身份信息。但这种方法是设计的用于独立测试,而不是生产。)