更新时间:2024-04-16 GMT+08:00

IAM和企业管理的区别

企业管理是提供给企业客户的与多层级组织和项目结构相匹配的云资源管理服务。主要包括企业项目管理、人员管理、资源管理。

统一身份认证(Identity and Access Management,简称IAM)是提供用户身份认证、权限分配、访问控制等功能的身份管理服务。

与IAM相同的是,企业管理可以进行人员管理及权限分配,不同的是,企业管理对资源的授权粒度比IAM的更为精细,建议中大型企业使用企业管理服务。

更多有关IAM功能的介绍请参见《统一身份认证服务用户指南》。

IAM和企业管理的区别

  • 开通方式
    • IAM是身份管理服务,注册系统账号后,无需付费即可使用。
    • 企业管理是资源管理服务,注册系统账号后,无需付费即可使用。
  • 资源隔离
    • IAM通过在区域中创建子项目,隔离同一个区域中的资源。以子项目为单位进行授权,用户可以访问指定子项目中的所有资源。
    • 企业管理通过创建企业项目,隔离企业不同项目之间的资源,企业项目中可以包含多个区域的资源。企业项目还可以实现对特定云资源的授权,例如:将一台特定的ECS添加至企业项目,对企业项目进行授权后,可以控制用户仅能管理这台特定的ECS。

IAM与企业管理的关系

  • IAM和企业管理的创建用户以及用户组功能,两边是相互同步关系。
  • 使用企业管理的用户组授权功能时,该功能依赖IAM的细粒度授权。如果企业管理中系统预置的策略不能满足您的使用要求,需要在IAM中创建自定义策略,自定义策略会同步到企业管理中,可以在IAM或者企业管理中给用户组授权自定义策略。
  • 如果在IAM和企业管理中同时给用户组授权,用户同时拥有基于IAM项目的策略和基于企业项目的策略,在发起访问请求时,系统根据用户被授权的访问策略中的Action进行鉴权判断。
    • 如果策略中包含相同的Action,以在IAM中设置的生效,例如:用户请求创建云服务器,鉴权结果为IAM中定义的Deny,不能创建云服务器。
      IAM项目策略中包含以下action:
      {
        "Action": [
          "ecs:cloudServers:create"
        ],
        "Effect": "Deny"
      }
      
      企业项目策略中包含以下action:
      {
        "Action": [
          "ecs:cloudServers:create"
        ],
        "Effect": "Allow"
      }
    • 如果策略中包含不同的Action,则IAM和企业管理中设置的都生效。以下示例表示用户可以创建云服务器以及删除云服务器。
      IAM项目策略中包含以下action:
      {
        "Action": [
          "ecs:cloudServers:create"
        ],
        "Effect": "Allow"
      }
      企业项目策略中包含以下action:
      {
        "Action": [
          "ecs:cloudServers:delete"
        ],
        "Effect": "Allow"
      }

检查规则

用户在发起访问请求时,系统根据用户被授权的访问策略中的action进行鉴权判断。检查规则如下:

图1 请求鉴权逻辑图

  1. 用户发起访问请求。
  2. 系统在用户被授予的访问策略中,优先寻找基于IAM项目授权的策略,在策略中寻找请求对应的action。
  3. 如果找到匹配的Allow或者Deny的action,系统将返回对请求的鉴权决定,Allow或者Deny,鉴权结束。
  4. 如果在基于IAM项目的策略中没有找到请求对应的action,系统将继续寻找基于企业项目授权的策略,在策略中寻找请求对应的action。
  5. 如果找到匹配的Allow或者Deny的action,系统将返回对请求的鉴权决定,Allow或者Deny,鉴权结束。
  6. 如果用户不具备任何策略,系统将返回鉴权决定Deny,鉴权结束。