如何通过脚本编辑模式创建自定义权限策略

您所在的位置:网站首页 自定义模式怎么开权限 如何通过脚本编辑模式创建自定义权限策略

如何通过脚本编辑模式创建自定义权限策略

2024-06-16 02:17| 来源: 网络整理| 查看: 265

如果系统权限策略不能满足您的需求,您可以通过创建自定义权限策略实现精细化权限管理。

背景信息

权限指在特定条件下 ,允许(Allow)或拒绝(Deny)对指定资源执行的相关操作。权限的载体是授权策略。自定义权限,即在自定义授权策略时定义某些权限。

创建自定义权限策略方式,请参见创建方式。本文介绍通过脚本编辑模式创建自定义权限策略的操作步骤。

操作步骤使用阿里云账号登录RAM控制台。在左侧导航栏,选择权限管理 > 权限策略。在权限策略页面,单击创建权限策略。在创建权限策略页面,单击脚本编辑页签。

输入权限策略内容,然后单击继续编辑基本信息

关于权限策略语法结构的详情,请参见权限策略语法和结构。

权限策略中包含参数如下:

Action:表示要授权的操作。IoT操作都以iot:开头。定义方式和示例,请参见本文档中Action定义。

Effect : 表示授权类型,取值:Allow(允许)、Deny(拒绝)。

Resource :表示要授权的资源。

如果为RAM用户授予访问您的所有物联网平台资源的权限,取值为*。

Condition :表示鉴权条件,请参见本文档中Condition定义。

关于权限策略元素的详情,请参见权限策略基本元素。

输入权限策略名称备注

检查并优化权限策略内容。基础权限策略优化

系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

删除不必要的条件。删除不必要的数组。可选:高级权限策略优化

您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

拆分不兼容操作的资源或条件。收缩资源到更小范围。去重或合并语句。单击确定。Action 定义

Action是API的名称。在创建IoT授权策略时,每个Action前缀均为iot:,多个Action以英文逗号(,)分隔,支持使用星号(*)通配符。IoT API名称定义,请参见IoT授权映射表。

下面介绍一些典型的Action定义示例。

定义单个API。

"Action": "iot:CreateProduct"

定义多个API。

"Action": [ "iot:UpdateProduct", "iot:QueryProduct" ]

定义所有只读API,包含规则引擎数据流转目标产品的权限。

{ "Version": "1", "Statement": [ { "Action": [ "iot:Query*", "iot:List*", "iot:Get*", "iot:BatchGet*", "iot:Check*" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "rds:DescribeDBInstances", "rds:DescribeDatabases", "rds:DescribeAccounts", "rds:DescribeDBInstanceNetInfo" ], "Resource": "*", "Effect": "Allow" }, { "Action": "ram:ListRoles", "Resource": "*", "Effect": "Allow" }, { "Action": [ "mns:ListTopic", "mns:GetTopicRef" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "dhs:ListProject", "dhs:GetProject", "dhs:ListTopic", "dhs:GetTopic" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ots:ListInstance", "ots:GetInstance", "ots:ListTable", "ots:DescribeTable" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ons:OnsRegionList", "ons:OnsInstanceInServiceList", "ons:OnsTopicList", "ons:OnsTopicGet" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "hitsdb:DescribeRegions", "hitsdb:DescribeHiTSDBInstanceList", "hitsdb:DescribeHiTSDBInstance" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "fc:ListServices", "fc:GetService", "fc:GetFunction", "fc:ListFunctions" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "log:ListShards", "log:ListLogStores", "log:ListProject" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "cms:QueryMetricList" ], "Resource": "*", "Effect": "Allow" } ] }

定义所有读写API,包含规则引擎数据流转目标产品的权限。

{ "Version": "1", "Statement": [ { "Action": "iot:*", "Resource": "*", "Effect": "Allow" }, { "Action": [ "rds:DescribeDBInstances", "rds:DescribeDatabases", "rds:DescribeAccounts", "rds:DescribeDBInstanceNetInfo", "rds:ModifySecurityIps" ], "Resource": "*", "Effect": "Allow" }, { "Action": "ram:ListRoles", "Resource": "*", "Effect": "Allow" }, { "Action": [ "mns:ListTopic", "mns:GetTopicRef" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "dhs:ListProject", "dhs:ListTopic", "dhs:GetProject", "dhs:GetTopic" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ots:ListInstance", "ots:ListTable", "ots:DescribeTable", "ots:GetInstance" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ons:OnsRegionList", "ons:OnsInstanceInServiceList", "ons:OnsTopicList", "ons:OnsTopicGet" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "hitsdb:DescribeRegions", "hitsdb:DescribeHiTSDBInstanceList", "hitsdb:DescribeHiTSDBInstance", "hitsdb:ModifyHiTSDBInstanceSecurityIpList" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "fc:ListServices", "fc:GetService", "fc:GetFunction", "fc:ListFunctions" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "log:ListShards", "log:ListLogStores", "log:ListProject" ], "Resource": "*", "Effect": "Allow" }, { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "acs:Service": "iot.aliyuncs.com" } } }, { "Action": [ "cms:QueryMetricList" ], "Resource": "*", "Effect": "Allow" } ] }Condition定义

目前RAM用户授权策略支持访问IP限制、是否通过HTTPS访问、是否通过MFA(多因素认证)访问、访问时间限制等多种鉴权条件。物联网平台的所有API均支持上述条件。

访问IP限制。

访问控制可以限制访问IoT的源IP地址,并且支持根据网段进行过滤。以下是典型的使用场景示例。

限制单个IP地址和IP网段。例如,只允许IP地址为192.0.2.1或198.51.100.0/24网段的请求访问。

{ "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "192.0.2.1", "198.51.100.0/24" ] } } } ], "Version": "1" }

限制多个IP地址。例如,只允许IP地址为192.0.2.1和198.51.100.1的请求访问。

{ "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "192.0.2.1", "198.51.100.1" ] } } } ], "Version": "1" }

HTTPS访问限制。

访问控制可以限制是否通过HTTPS访问。

示例:限制必须通过HTTPS请求访问。

{ "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*", "Condition": { "Bool": { "acs:SecureTransport": "true" } } } ], "Version": "1" }

MFA访问限制。

访问控制可以限制是否通过MFA(多因素认证)访问。MFA访问适用于控制台登录,使用API访问无需MFA码。

示例:限制必须通过MFA请求访问。

{ "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*", "Condition": { "Bool": { "acs:MFAPresent ": "true" } } } ], "Version": "1" }

访问时间限制。

访问控制可以限制请求的访问时间,即只允许或拒绝在某个时间点范围之前的请求。

示例:用户可以在北京时间2019年01月01日凌晨之前访问,之后则不能访问。

{ "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*", "Condition": { "DateLessThan": { "acs:CurrentTime": "2019-01-01T00:00:00+08:00" } } } ], "Version": "1" }典型使用场景

结合以上对Action、Resource和Condition的定义,下面介绍一些典型使用场景的授权策略定义和授权方法。

允许访问的授权策略示例。

场景:定义访问IP地址为192.0.2.1/24网段的用户访问IoT的权限,且要求只能在2019-01-01 00:00:00之前访问和通过HTTPS访问。

{ "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "192.0.2.1/24" ] }, "DateLessThan": { "acs:CurrentTime": "2019-01-01T00:00:00+08:00" }, "Bool": { "acs:SecureTransport": "true" } } } ], "Version": "1" }

拒绝访问的授权策略示例。

场景:拒绝访问IP地址为198.51.100.1的用户对IoT执行读操作。

{ "Statement": [ { "Effect": "Deny", "Action": [ "iot:Query*", "iot:List*", "iot:Get*", "iot:BatchGet*" ], "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "198.51.100.1" ] } } } ], "Version": "1" }

授权策略创建成功后,将此权限授予RAM用户,获得授权的RAM用户就可以进行权限中定义的操作。创建RAM用户和授权操作,请参见RAM用户访问。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3