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-阿里云