控制台权限
如果您需要对华为云上购买的工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。如果华为云账号已经能满足您的要求,不需要通过IAM对用户进行权限管理,您可以跳过本章节,不影响您使用iDME服务的其它功能。
IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。
通过IAM,您可以通过授权控制他们对华为云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有iDME的使用权限,但是不希望他们拥有删除iDME等高危操作的权限,那么您可以使用IAM进行权限分配,通过授予用户仅能使用iDME,但是不允许删除iDME的权限,控制他们对iDME资源的使用范围。
目前IAM支持两类授权,一类是角色与策略授权,另一类为身份策略授权。
两者有如下的区别和关系:
|
名称 |
核心关系 |
涉及的权限 |
授权方式 |
适用场景 |
|---|---|---|---|---|
|
角色与策略授权 |
用户-权限-授权范围 |
|
为主体授予角色或策略 |
核心关系为“用户-权限-授权范围”,每个用户根据所需权限和所需授权范围进行授权,无法直接给用户授权,需要维护更多的用户组,且支持的条件键较少,难以满足细粒度精确权限控制需求,更适用于对细粒度权限管控要求较低的中小企业用户。 |
|
身份策略授权 |
用户-策略 |
|
|
核心关系为“用户-策略”,管理员可根据业务需求定制不同的访问控制策略,能够做到更细粒度更灵活的权限控制,新增资源时,对比角色与策略授权,基于身份策略的授权模型可以更快速地直接给用户授权,灵活性更强,更方便,但相对应的,整体权限管控模型构建更加复杂,对相关人员专业能力要求更高,因此更适用于中大型企业。 |
例如:如果需要对IAM用户授予可以创建华北-北京四区域的iDME和西南-贵阳一区域的iDME的权限,基于角色与策略授权的场景中,管理员需要创建两个自定义策略,并且为IAM用户同时授予这两个自定义策略才可以实现权限控制。在基于身份策略授权的场景中,管理员仅需要创建一个自定义身份策略,在策略中通过条件键“g:RequestedRegion”的配置即可达到策略对于授权区域的控制。将身份策略附加主体或为主体授予该身份策略即可获得相应权限,权限配置方式更细粒度更灵活。
两种授权场景下的策略/身份策略、授权项等并不互通,推荐使用身份策略进行授权。角色与策略权限管理和身份策略权限管理分别介绍两种类型的系统权限。
关于IAM的详细介绍,请参见IAM产品介绍。
角色与策略权限管理
iDME服务支持基于角色与策略授权。默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略,才能使用户组中的用户获得相应的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。
iDME部署时通过物理区域划分,为项目级服务。授权时,“授权范围”需要选择 “指定区域项目资源”,然后在指定区域(如华北-北京4)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果“授权范围”选择“所有资源”,则该权限在所有区域项目中都生效。访问iDME时,需要先切换至授权区域。
- 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
- 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对iDME服务,租户(Domain)能够控制用户仅能对应用进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,iDME支持的API授权项请参见权限策略和授权项。
在进行IAM授权时,系统将根据用户选择的策略自动推荐授权范围方案,方便用户选择合适的授权作用范围。您可以根据实际情况,分别为用户组的企业项目视图和IAM项目视图配置不同的IAM策略,从而实现权限最小化原则的精准授权,降低资源操作过程中的风险。表2为iDME支持的所有授权范围方案。
|
可选方案 |
方案说明 |
|---|---|
|
所有资源 |
授权后,IAM用户可以根据权限使用账号中所有iDME资源,包括企业项目、区域项目和全局服务资源。 |
|
指定企业项目资源 |
选择指定企业项目,IAM用户可根据权限在iDME控制台管理该企业项目中的iDME资源,如部署或卸载应用。仅开通企业项目后可选。 请注意,是否指定企业项目并不会影响用户正常使用应用设计态、运行态或数字主线引擎的功能。 如果您暂未开通企业项目,将不支持基于企业项目授权,了解企业项目请参考:什么是企业项目管理。如需开通,请参考:开通企业项目。 |
|
指定区域项目资源 |
选择指定区域项目,IAM用户可以根据权限使用该区域项目中的资源。 如果选择作用范围为“区域项目”,且所勾选的策略包含全局服务权限,系统自动将全局服务权限的作用范围设置为所有资源,勾选的区域项目权限的作用范围仍为指定区域项目。 |
基于IAM能力的授权遵循最大权限优先授权规则。如果用户同时获得iDME多个策略的授权,且这些策略的授权范围方案不同时,将根据该用户具有的最高权限进行授权,确保用户可以在其权限范围内进行最广泛的操作,从而充分利用其权限。请注意,授权访问策略中的部分Action不支持企业项目维度的权限隔离,例如iam:users:listUsers。
如表3所示,包括了iDME提供的所有系统策略。角色与策略授权场景的系统策略和身份策略授权场景的并不互通。
|
策略名称 |
描述 |
策略内容 |
策略类别 |
|---|---|---|---|
|
iDME AppOperationAccess |
工业数字模型驱动引擎服务应用管理权限,拥有创建和修改应用的权限。 |
{
"Version": "1.1",
"Statement": [
{
"Action": [
"dme:apps:get",
"dme:apps:create",
"dme:apps:modify",
"dme:envs:get",
"iam:users:listUsers",
"vpc:publicIps:get",
"dme:tag:listTagsForResource"
],
"Effect": "Allow"
}
]
} |
系统策略 |
|
iDME EnvOperationAccess |
工业数字模型驱动引擎服务运行环境管理权限,拥有部署和卸载应用的权限。 |
{
"Version": "1.1",
"Statement": [
{
"Action": [
"dme:apps:get",
"dme:envs:get",
"dme:envs:deployApp",
"dme:envs:destroyApp",
"vpc:publicIps:get",
"dme:tag:listTagsForResource"
],
"Effect": "Allow"
}
]
} |
系统策略 |
|
iDME ReadOnlyAccess |
工业数字模型驱动引擎服务的只读策略,拥有应用列表、运行服务列表的只读权限。 |
{
"Version": "1.1",
"Statement": [
{
"Action": [
"dme:apps:get",
"dme:envs:get",
"vpc:publicIps:get",
"dme:tag:listTags",
"dme:tag:listTagsForResource",
"dme:tag:listResourcesByTag",
"vpc:publicips:list"
],
"Effect": "Allow"
}
]
} |
系统策略 |
|
iDME FullAccess |
工业数字模型驱动引擎服务所有权限。 |
{
"Version": "1.1",
"Statement": [
{
"Action": [
"dme:apps:*",
"dme:envs:*",
"iam:users:listUsers",
"vpc:vpcs:list",
"vpc:securityGroups:get",
"vpc:subnets:get",
"vpc:publicIps:get",
"vpc:publicIps:list",
"vpc:publicIps:update",
"dme:tag:*"
],
"Effect": "Allow"
}
]
} |
系统策略 |
|
系统身份策略名称 |
描述 |
策略内容 |
策略类别 |
|---|---|---|---|
|
iDMEReadOnlyPolicy |
工业数字模型驱动引擎的只读策略,拥有应用列表、运行服务列表的只读权限。 |
{
"Version": "5.0",
"Statement": [
{
"Action": [
"dme:*:query",
"dme:*:list",
"dme::getProjectConfig",
"dme:metaSdk:download",
"dme:tag:listTags",
"dme:tag:listTagsForResource",
"dme:tag:listResourcesByTag",
"eps:enterpriseProjects:list",
"eip:publicIps:get",
"eip:publicIps:list"
],
"Effect": "Allow"
}
]
} |
系统身份策略 |
|
iDMEFullAccessPolicy |
工业数字模型驱动引擎服务所有权限。 |
{
"Version": "5.0",
"Statement": [
{
"Action": [
"dme:*:*",
"iam:users:listUsers",
"vpc:vpcs:list",
"vpc:securityGroups:get",
"vpc:subnets:get",
"eip:publicIps:get",
"eip:publicIps:list",
"eps:enterpriseProjects:list"
],
"Effect": "Allow"
}
]
} |
系统身份策略 |
|
iDMEEnvOperationPolicy |
工业数字模型驱动引擎的运行环境管理权限,拥有部署和卸载应用的权限。 |
{
"Version": "5.0",
"Statement": [
{
"Action": [
"dme:apps:query",
"dme:apps:list",
"dme:envs:query",
"dme:envs:list",
"dme:envs:deployApp",
"dme:envs:undeployApp",
"dme:metaSdk:list",
"dme:metaSdk:download",
"dme::getProjectConfig",
"eip:publicIps:get",
"dme:tag:listTagsForResource",
"eps:enterpriseProjects:list"
],
"Effect": "Allow"
}
]
} |
系统身份策略 |
|
iDMEAppOperationPolicy |
工业数字模型驱动引擎的应用管理权限,拥有创建和修改应用的权限。 |
{
"Version": "5.0",
"Statement": [
{
"Action": [
"dme:apps:query",
"dme:apps:list",
"dme:apps:create",
"dme:apps:update",
"dme:envs:query",
"dme:envs:list",
"dme:metaSdk:list",
"dme:metaSdk:download",
"dme::getProjectConfig",
"iam:users:listUsers",
"eip:publicIps:get",
"eps:enterpriseProjects:list",
"dme:tag:listTagsForResource"
],
"Effect": "Allow"
}
]
} |
系统身份策略 |