805
iPhone_iPad_Mac_手機_平板_蘋果apple
自定義權限__授權管理_阿裏雲物聯網套件-阿裏雲
自定義權限
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-阿裏雲