# IBM - 基本信息 {{#include ../../banners/hacktricks-training.md}} ## 层级结构 IBM Cloud 资源模型 ([来自文档](https://www.ibm.com/blog/announcement/introducing-ibm-cloud-enterprises/)):
推荐的项目划分方式:
## IAM
### 用户 用户有一个 **电子邮件** 分配给他们。他们可以访问 **IBM 控制台** 并且 **生成 API 密钥** 以编程方式使用他们的权限。\ **权限** 可以通过访问策略 **直接** 授予用户或通过 **访问组**。 ### 受信任的配置文件 这些 **类似于 AWS 的角色** 或 GCP 的服务账户。可以 **将它们分配给 VM** 实例并通过元数据访问其 **凭据**,甚至可以 **允许身份提供者** 使用它们来验证来自外部平台的用户。\ **权限** 可以通过访问策略 **直接** 授予受信任的配置文件或通过 **访问组**。 ### 服务 ID 这是另一个选项,允许应用程序 **与 IBM cloud 交互** 并执行操作。在这种情况下,除了将其分配给 VM 或身份提供者外,还可以使用 **API 密钥** 以 **编程** 方式与 IBM 交互。\ **权限** 可以通过访问策略 **直接** 授予服务 ID 或通过 **访问组**。 ### 身份提供者 外部 **身份提供者** 可以配置为 **访问 IBM cloud** 资源,通过访问 **信任的受信任配置文件**。 ### 访问组 在同一个访问组中可以存在 **多个用户、受信任的配置文件和服务 ID**。访问组中的每个主体将 **继承访问组权限**。\ **权限** 可以通过访问策略 **直接** 授予受信任的配置文件。\ 一个 **访问组不能是另一个访问组的成员**。 ### 角色 角色是一组 **细粒度权限**。**一个角色** 专门用于 **一个服务**,这意味着它只会包含该服务的权限。\ **每个服务** 的 IAM 将已经有一些 **可选角色** 可供选择,以 **授予主体对该服务的访问**:**查看者、操作员、编辑者、管理员**(尽管可能还有更多)。 角色权限通过访问策略授予主体,因此如果您需要例如授予 **查看者** 和 **管理员** 的 **权限组合**,而不是授予这两个(并过度授权一个主体),您可以 **为该服务创建一个新角色** 并授予该新角色所需的 **细粒度权限**。 ### 访问策略 访问策略允许 **将 1 个或多个角色的 1 个服务附加到 1 个主体**。\ 创建策略时,您需要选择: - 授予权限的 **服务** - **受影响的资源** - 将授予的服务和平台 **访问** - 这些指示将授予主体执行操作的 **权限**。如果在服务中创建了任何 **自定义角色**,您也可以在此处选择它。 - 授予权限的 **条件**(如果有) > [!NOTE] > 要授予用户对多个服务的访问,您可以生成多个访问策略
## 参考 - [https://www.ibm.com/cloud/blog/announcements/introducing-ibm-cloud-enterprises](https://www.ibm.com/cloud/blog/announcements/introducing-ibm-cloud-enterprises) - [https://cloud.ibm.com/docs/account?topic=account-iamoverview](https://cloud.ibm.com/docs/account?topic=account-iamoverview) {{#include ../../banners/hacktricks-training.md}}