如果系統權限策略不能滿足您的要求,您可以創建自定義權限策略實現最小授權。使用自定義權限策略有助于實現權限的精細化管控,是提升資源訪問安全的有效手段。本文介紹號碼認證服務使用自定義權限策略的場景和策略示例。
什么是自定義權限策略
在基于RAM的訪問控制體系中,自定義權限策略是指在系統權限策略之外,您可以自主創建、更新和刪除的權限策略。自定義權限策略的版本更新需由您來維護。
創建自定義權限策略后,需為RAM用戶、用戶組或RAM角色綁定權限策略,這些RAM身份才能獲得權限策略中指定的訪問權限。
已創建的權限策略支持刪除,但刪除前需確保該策略未被引用。如果該權限策略已被引用,您需要在該權限策略的引用記錄中移除授權。
自定義權限策略支持版本控制,您可以按照RAM規定的版本管理機制來管理您創建的自定義權限策略版本。
操作文檔
常見自定義權限策略場景及示例
示例1:僅允許調用某一個或多個API。
調用一個API時,腳本配置如下所示:
{ "Version": "1", "Statement": [{ "Action": [ "dypns:GetMobile" ], "Resource": "*", "Effect": "Allow" }] }
調用多個API時,腳本配置如下所示:
{ "Version": "1", "Statement": [{ "Action": [ "dypns:GetMobile", "dypns:VerifyMobile" ], "Resource": "*", "Effect": "Allow" }] }
API名稱支持星號(*)通配符。
{ "Version": "1", "Statement": [{ "Action": [ "dypns:Query*" ], "Resource": "*", "Effect": "Allow" }] }
示例2:僅允許指定的IP地址或IP地址段的用戶調用號碼認證中API。
說明acs:SourceIp
的取值如果是單個IP地址,需要寫明具體的IP地址,不能使用該IP地址的IP地址段形式xx.xx.xx.xx/32。例如:10.0.0.1不能寫成10.0.0.1/32。42.XXX.XX.XX為擬允許調用的IP地址,/24為該IP地址段的掩碼。您可以根據實際需要設置可允許調用的IP地址或IP地址段。
DateLessThan字段為自動過期時間。如果當前時間晚于該時間,則上述IP地址/地址段的限制自動失效。反之,則該IP地址/地址段策略有效。
腳本配置如下所示:
{ "Version": "1", "Statement": [{ "Action": "dypns:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": "42.XXX.XX.XX/24" }, "DateLessThan": { "acs:CurrentTime": "2016-12-16T15:00:00+08:00" } }, "Effect": "Allow" }] }
可以去掉DateLessThan字段,則該IP地址或IP地址段的策略將一直有效。配置如下:
{ "Version": "1", "Statement": [{ "Action": "dypns:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": "42.XXX.XX.XX/24" } }, "Effect": "Allow" }] }
示例3:將不同的策略組合使用。例如,只允許192.168.1.100的IP訪問,且只能訪問名為GetMobile的API方法。配置如下:
{ "Version": "1", "Statement": [{ "Action": "dypns:GetMobile", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": "192.168.1.100" } }, "Effect": "Allow" }] }
授權信息參考
使用自定義權限策略,您需要了解業務的權限管控需求,并了解號碼認證的授權信息。詳細內容請參見授權信息。