805
阿里云
自定义权限__授权管理_阿里云物联网套件-阿里云
自定义权限
Action 定义
Action 是 API 的名称,可以根据 Action 设置开放或限制用户可以访问的 API。在创建IOT的授权策略时,每个 Action 都需要添加“iot:”前缀,多个 Action 以逗号分隔,并且支持星号通配符(包括前缀匹配和后缀匹配)。
典型的 Action 定义
下面是一些典型的 Action 定义。
- 单个 API。
"Action": "iot:CreateProduct"
多个 API。
"Action": ["iot:UpdateProduct","iot:QueryProduct"]
所有只读 API。
{"Version": "1","Statement": [{"Action": ["rds:DescribeDBInstances","rds:DescribeDatabases","rds:DescribeAccounts","rds:DescribeDBInstanceNetInfo"],"Resource": "*","Effect": "Allow"},{"Action": "ram:ListRoles","Effect": "Allow","Resource": "*"},{"Action": "mns:ListTopic","Resource": "*","Effect": "Allow"},{"Action": ["dhs:ListProject","dhs:ListTopic","dhs:GetTopic"],"Resource": "*","Effect": "Allow"},{"Action": ["ots:ListInstance","ots:ListTable","ots:DescribeTable"],"Resource": "*","Effect": "Allow"},{"Action": ["log:ListShards","log:ListLogStores","log:ListProject"],"Resource": "*","Effect": "Allow"},{"Effect": "Allow","Action": ["iot:Query*","iot:List*","iot:Get*","iot:BatchGet*"],"Resource": "*"}]}
- 所有读写 API。
{"Version": "1","Statement": [{"Action": ["rds:DescribeDBInstances","rds:DescribeDatabases","rds:DescribeAccounts","rds:DescribeDBInstanceNetInfo"],"Resource": "*","Effect": "Allow"},{"Action": "ram:ListRoles","Effect": "Allow","Resource": "*"},{"Action": "mns:ListTopic","Resource": "*","Effect": "Allow"},{"Action": ["dhs:ListProject","dhs:ListTopic","dhs:GetTopic"],"Resource": "*","Effect": "Allow"},{"Action": ["ots:ListInstance","ots:ListTable","ots:DescribeTable"],"Resource": "*","Effect": "Allow"},{"Action": ["log:ListShards","log:ListLogStores","log:ListProject"],"Resource": "*","Effect": "Allow"},{"Effect": "Allow","Action": "iot:*","Resource": "*"}]}
Condition 定义
目前 Policy 支持访问 IP 限制、是否通过 https 访问、是否通过 MFA(多因素认证)访问和访问时间限制等多种鉴权条件,物联网套件的所有 API 都已经支持这些条件。
访问 IP 限制
访问控制 RAM 可以限制访问表格存储的源 IP 地址,并且支持根据网段进行过滤。下面是一些典型的使用场景。
- 限制多个 IP 地址。例如,只允许 IP 地址为 10.101.168.111 和 10.101.169.111 的请求访问。
{"Statement": [{"Effect": "Allow","Action": "iot:*","Resource": "*","Condition": {"IpAddress": {"acs:SourceIp": ["10.101.168.111","10.101.169.111"]}}}],"Version": "1"}
限制单个 IP 地址和 IP 网段。例如,只允许 IP 地址为 10.101.168.111 或 10.101.169.111/24 网段的请求访问。
{"Statement": [{"Effect": "Allow","Action": "iot:*","Resource": "*","Condition": {"IpAddress": {"acs:SourceIp": ["10.101.168.111","10.101.169.111/24"]}}}],"Version": "1"}
https 访问限制
访问控制可以限制是否通过 https 访问,下面是典型的使用场景。
限制请求必须通过 https 访问。
{"Statement": [{"Effect": "Allow","Action": "iot:*","Resource": "*","Condition": {"Bool": {"acs:SecureTransport": "true"}}}],"Version": "1"}
MFA 访问限制
访问控制可以限制是否通过 MFA(多因素认证)访问,下面是典型的使用场景。
限制请求必须通过 MFA 访问。
{"Statement": [{"Effect": "Allow","Action": "iot:*","Resource": "*","Condition": {"Bool": {"acs:MFAPresent ": "true"}}}],"Version": "1"}
访问时间限制
访问控制可以限制请求的访问时间,即只允许或拒绝在某个时间点范围之前的请求。下面是典型的使用场景。
例如,北京时间 2016 年 1 月 1 号凌晨之前用户可以访问,之后就不能再访问。
{"Statement": [{"Effect": "Allow","Action": "iot:*","Resource": "*","Condition": {"DateLessThan": {"acs:CurrentTime": "2016-01-01T00:00:00+08:00"}}}],"Version": "1"}
典型使用场景
结合上面对 Action、Resource 和 Condition 的定义,下面列出一些典型使用场景的 Policy 定义和授权方法。
多种授权条件
对于访问 IP 地址为 10.101.168.111/24 网段的用户,可以访问自定义的权限,且要求只能在 2016-01-01 00:00:00 之前访问和通过 https 访问。
操作步骤
使用主账号登录访问控制 RAM 的管理控制台。(默认已开通访问控制服务)
单击页面左侧的策略管理,进入策略管理页面。
单击页面右侧的新建授权策略按钮,进入创建授权策略的页面。
选中“空白模板”,进入创建自定义授权策略的页面。
填写授权策略名称,并将如下内容填写至策略内容栏。
{"Statement": [{"Effect": "Allow","Action": "iot:*","Resource": "*","Condition": {"IpAddress": {"acs:SourceIp": ["10.101.168.111/24"]},"DateLessThan": {"acs:CurrentTime": "2016-01-01T00:00:00+08:00"},"Bool": {"acs:SecureTransport": "true"}}}],"Version": "1"}
单击新建授权策略,授权策略新建成功,然后单击关闭。
单击页面左侧的用户管理,进入用户管理页面将刚才新建的策略授权给需要的子账号。
找到需要授权的子账号,单击其右侧操作栏下面的授权按钮,进入“编辑个人授权”页面。
搜索刚才新建的策略名称,选中后单击 > 以将该权限添加至“已选择授权策略名称”栏中,最后单击确定,完成对该账号的策略授权。
拒绝请求
对于访问 IP 地址为 10.101.169.111 的用户,拒绝对北京域的名称以 online 和 product 开头的 Instance 下面的所有 Table 执行写操作(不包括对 Instance 的操作)。策略内容如下,创建自定义授权策略和给子账号授权的步骤同上。
{"Statement": [{"Effect": "Deny","Action": ["iot:Query*","iot:List*","iot:Get*","iot:BatchGet*"],"Resource": "*","Condition": {"IpAddress": {"acs:SourceIp": ["10.101.169.111"]}}}],"Version": "1"}
最后更新:2016-11-24 15:57:38
上一篇:
进阶使用 STS__授权管理_阿里云物联网套件-阿里云
下一篇:
RAM 和 STS 介绍__授权管理_阿里云物联网套件-阿里云
聚合distinct子句__搜索子句介绍_API参考手册_开放搜索-阿里云
配置后端 ECS 实例__快速入门_负载均衡-阿里云
caffe最佳实践__深度学习最佳实践_高性能计算-阿里云
什么是可信云服务认证?__可信云服务认证_信任中心-阿里云
阿里云唐超:ET医疗大脑究竟能为医疗行业带来哪些能力?
SSH 登录时出现如下错误:pam_listfile(sshd:auth): Refused user root for service sshd__远程登录 (SSH)_Linux操作运维问题_云服务器 ECS-阿里云
院士潘建伟:阿里云与中科院联合发布量子计算云平台,计算能力有望跃升100万倍
6.3 使用ACL进行权限管理__第六章 用户与权限_使用手册_分析型数据库-阿里云
新增键__数据管理_DMS for Redis_用户指南(NoSQL)_数据管理-阿里云
实时修正算法开发手册__算法规范_开发者指南_推荐引擎-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云