如果号码百科系统策略无法满足您的需求,您可以自定义符合要求的权限策略。本文为您介绍如何创建自定义权限策略及示例。
前提条件
操作步骤
使用阿里云账号登录RAM控制台。
在左侧导航栏,选择 。
在权限策略页面,单击创建权限策略。
您可通过以下两种方式创建自定义策略。
可视化编辑模式
在创建权限策略页面,单击可视化编辑页签。
配置权限策略,然后单击继续编辑基本信息。
在效果区域,选择允许或拒绝。
在服务区域,选择云服务。
说明支持可视化编辑模式的云服务以控制台界面显示为准。
在操作区域,选择全部操作或指定操作。
系统会根据您上一步选择的云服务,自动筛选出可以配置的操作。如果您选择了指定操作,您需要继续选择具体的操作。
在资源区域,选择全部资源或指定资源。
系统会根据您上一步选择的操作,自动筛选出可以配置的资源类型。如果您选择了指定资源,您需要继续单击添加资源,配置具体的资源ARN。您可以使用匹配全部功能,快速选择对应配置项的全部资源。
说明为了权限策略的正常生效,对操作关联的必要资源ARN标识了必要,强烈建议您配置该资源ARN。
可选:在条件区域,单击添加条件,配置条件。
条件包括阿里云通用条件和服务级条件,系统会根据您前面配置的云服务和操作,自动筛选出可以配置的条件列表。您只需要选择对应条件键配置具体内容。
单击添加语句,重复上述步骤,配置多条权限策略语句。
输入权限策略名称和备注。
检查并优化权限策略内容。
基础权限策略优化
系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:
删除不必要的条件。
删除不必要的数组。
可选:高级权限策略优化
您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:
拆分不兼容操作的资源或条件。
收缩资源到更小范围。
去重或合并语句。
单击确定。
脚本编辑模式
在创建权限策略页面,单击脚本编辑页签。
输入权限策略内容,然后单击继续编辑基本信息。
关于权限策略语法结构的详情,请参见权限策略语法和结构。
示例一
仅允许调用某一个或多个API。
调用一个API时,脚本配置如下所示:
{ "Version": "1", "Statement": [{ "Action": [ "dytns:DescribePhoneNumberAttribute" ], "Resource": "*", "Effect": "Allow" }] }
调用多个API时,脚本配置如下所示:
{ "Version": "1", "Statement": [{ "Action": [ "dytns:DescribePhoneNumberAttribute" ,"dytns:DescribePhoneNumberAttribute1" ,"dytns:DescribePhoneNumberAttribute2" ], "Resource": "*", "Effect": "Allow" }] }
API名称支持星号(*)通配符。
{ "Version": "1", "Statement": [{ "Action": [ "dytns:DescribePhoneNumberAttribute*" ], "Resource": "*", "Effect": "Allow" }] }
更多API信息,请参见API概览。
示例二
仅允许指定的IP地址或IP地址段调用。
适用场景:指定的RAM用户可以调用号码百科中所有API,且调用方的IP地址必须是指定的IP地址或IP地址段。
说明acs:SourceIp
的取值如果是单个IP地址,需要写明具体的IP地址,不能使用该IP地址的IP地址段形式xx.xx.xx.xx/32。例如:10.0.0.1不能写成10.0.0.1/32。脚本配置如下所示:
{ "Version": "1", "Statement": [{ "Action": "dytns:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": "42.XXX.XX.XX/24" }, "DateLessThan": { "acs:CurrentTime": "2016-12-16T15:00:00+08:00" } }, "Effect": "Allow" }] }
42.XXX.XX.XX为拟允许调用的IP地址,/24为该IP地址段的掩码。您可以根据实际需要设置可允许调用的IP地址或IP地址段。
DateLessThan字段为自动过期时间。如果当前时间晚于该时间,则上述IP地址/地址段的限制自动无效。反之,则该IP地址/地址段策略有效。
可以去掉DateLessThan字段,则该IP地址或IP地址段的策略将一直有效。配置如下:
{ "Version": "1", "Statement": [{ "Action": "dytns:*", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": "42.XXX.XX.XX/24" } }, "Effect": "Allow" }] }
可以将不同的策略组合使用。例如,只允许192.168.1.100的IP访问,且只能访问名为DescribePhoneNumberAttribute的API方法。配置如下:
{ "Version": "1", "Statement": [{ "Action": "dytns:DescribePhoneNumberAttribute", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": "192.168.1.100" } }, "Effect": "Allow" }] }
输入权限策略名称和备注。
检查并优化权限策略内容。
基础权限策略优化
系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:
删除不必要的条件。
删除不必要的数组。
可选:高级权限策略优化
您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:
拆分不兼容操作的资源或条件。
收缩资源到更小范围。
去重或合并语句。
单击确定。