我知道权限系统在 AWS 中是如何工作的:通过为 EC2 实例提供特定的 IAM 角色,可以向在该特定 EC2 实例上运行的所有程序授予一组访问其他 AWS 服务的权限(例如,删除 EBS 卷的权限)。
Openstack有类似的东西吗?如果您希望在Openstack服务器上运行的程序能够通过Openstack API:s以编程方式进行更改,您如何解决这个问题?
我想到的场景是这样的:您创建一个新的Rackspace OnMetal云服务器和一个额外的Rackspace云块存储卷,并使用scp将一个大的输入数据文件复制到其中。使用 ssh 登录到服务器并启动长时间运行的计算作业。如果计算作业本身能够将结果文件复制到 Rackspace 云文件,然后卸载并删除在计算过程中用作临时存储的机架空间云块存储卷。
Rackspace的基于角色的访问控制(RBAC)系统类似于AWS IAM角色。它允许您创建仅限于特定 API 和功能的用户。例如,只读云文件用户或云块存储管理员。
您可以创建一个新用户,该用户只能访问此计算作业所需的区域,例如云块存储和云文件。然后,您的作业将使用该用户的 apikey 来请求令牌并调用云块存储和云文件 api。
您没有提到特定语言,但我建议使用 SDK,因为它将处理 API 细节和怪癖,并让您更快地启动和运行。