更新时间:2025-04-21 GMT+08:00
分享

创建iDME操作用户(IAM授权)

iDME中,iDME控制台应用设计态体验版应用运行态应用运行态API(包括体验版、基础版以及基础版-Lite类型)的调用数字主线引擎是基于IAM系统策略自定义策略的授权,可以通过用户组功能实现IAM用户的授权。当您需要将相关资源分配给企业中不同的员工或者应用程序使用时,可以通过添加IAM账号实现。

在进行IAM授权时,系统将根据用户选择的策略自动推荐授权范围方案,方便用户选择合适的授权作用范围。您可以根据实际情况,分别为用户组的企业项目视图和IAM项目视图配置不同的IAM策略,从而实现权限最小化原则的精准授权,降低资源操作过程中的风险。表1iDME支持的所有授权范围方案。

表1 表1 授权范围方案

可选方案

方案说明

所有资源

授权后,IAM用户可以根据权限使用账号中所有iDME资源,包括企业项目、区域项目和全局服务资源。

指定企业项目资源

选择指定企业项目,IAM用户可根据权限在iDME控制台管理该企业项目中的iDME资源,如部署或卸载应用。仅开通企业项目后可选。

请注意,是否指定企业项目并不会影响用户正常使用应用设计态、运行态或数字主线引擎的功能

如果您暂未开通企业项目,将不支持基于企业项目授权,了解企业项目请参考:什么是企业项目管理。如需开通,请参考:开通企业项目

基于IAM能力的授权遵循最大权限优先授权规则。如果用户同时获得iDME多个策略的授权,且这些策略的授权范围方案不同时,将根据该用户具有的最高权限进行授权,确保用户可以在其权限范围内进行最广泛的操作,从而充分利用其权限。请注意,授权访问策略中的部分Action不支持企业项目维度的权限隔离,例如iam:users:listUsers。

关于iDME更多相关权限的介绍,详细可参考权限管理

IAM授权流程

图1 给用户授权iDME权限流程
  1. 创建用户组并授权

    在IAM控制台创建用户组,并授予iDME权限,例如iDME ReadOnlyAccess。

  2. 创建用户并加入用户组

    在IAM控制台创建用户,并将其加入1中创建的用户组。

  3. 用户登录并验证权限。

    新创建的用户登录控制台后,在“服务列表”中选择工业数字模型驱动引擎,尝试创建应用,如果无法成功操作(假设当前权限仅包含iDME ReadOnlyAccess),表示“iDME ReadOnlyAccess”已生效。

系统策略

IAM中预置的iDME系统策略当前包含iDME FullAccess、iDME AppOperationAccess、iDME EnvOperationAccess和iDME ReadOnlyAccess几种策略。

关于iDME系统策略的主要权限说明,详细请参见iDME系统策略

  • iDME FullAccess工业数字模型驱动引擎服务所有权限。
  • iDME AppOperationAccess工业数字模型驱动引擎服务应用管理权限,拥有创建和修改应用的权限。
  • iDME EnvOperationAccess工业数字模型驱动引擎服务运行环境管理权限,拥有部署和卸载应用的权限。
  • iDME ReadOnlyAccess工业数字模型驱动引擎服务的只读策略,拥有应用列表、运行服务列表的只读权限。

自定义策略

如果系统预置的iDME策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制,自定义策略是对系统策略的扩展和补充。自定义策略中可以添加的授权项(Action)请参考权限策略和授权项

目前支持以下两种方式创建自定义策略:

  • 可视化视图创建自定义策略:无需了解JSON语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
  • JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。

具体创建步骤请参见:创建自定义策略

请注意,修改自定义策略后,权限不会立即生效,大概需要等待15分钟,权限才会自动生效。

以下为您介绍常用的iDME自定义策略样例。

  • 示例1:授权用户仅有创建应用的权限
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dme:apps:get",
                    "dme:apps:create",
                    "iam:users:listUsers"
                ]
            }
        ]
    }
  • 示例2:授权用户仅有部署应用的权限
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dme:apps:get",
                    "dme:envs:get",
                    "dme:envs:deployApp"
                ]
            }
        ]
    }
  • 示例3:授权用户仅有应用列表的只读权限
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dme:apps:get"
                ]
            }
        ]
    }

相关文档