首页 号码认证服务 权限管理 创建自定义权限策略

创建自定义权限策略

如果号码认证服务系统策略无法满足您的需求,您可以自定义符合要求的权限策略。本文为您介绍如何创建自定义权限策略及示例。

前提条件

创建权限策略前,您需要了解权限策略基本元素和语法结构。更多信息,请参见权限策略基本元素权限策略语法和结构

通过脚本编辑模式创建自定义权限策略

  1. 使用阿里云账号登录RAM控制台

  2. 在左侧导航栏,选择权限管理 > 权限策略

  3. 权限策略页面,单击创建权限策略

  4. 创建权限策略页面,单击脚本编辑页签。

  5. 输入权限策略内容,然后单击下一步:编辑基本信息

    关于权限策略语法结构的详情,请参见权限策略语法和结构
  6. 输入权限策略名称备注

  7. 检查并优化权限策略内容。

    • 基础权限策略优化

      系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

      • 删除不必要的条件。
      • 删除不必要的数组。
    • (可选)高级权限策略优化

      您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

      • 拆分不兼容操作的资源或条件。
      • 收缩资源到更小范围。
      • 去重或合并语句。
    • 单击确定

  8. 单击确定

自定义策略示例

自定义策略示例一

仅允许调用某一个或多个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*",
                    "dypns:Create*",
                    "dypns:Get*",
                    "dypns:List*"
                ],
                "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": "dypns:*",
        "Resource": "*",
        "Condition": {
            "IpAddress": {
                "acs:SourceIp": "42.120.XX.XX/24"
            },
            "DateLessThan": {
                "acs:CurrentTime": "2016-12-16T15:00:00+08:00"
            }
        },
        "Effect": "Allow"
    }]
}
  • 42.120.XX.XX为拟允许调用的IP地址,/24为该IP地址段的掩码。您可以根据实际需要设置可允许调用的IP地址或IP地址段。

  • DateLessThan字段为自动过期时间。如果当前时间晚于该时间,则上述IP地址/地址段的限制自动无效。反之,则该IP地址/地址段策略有效。

  • 可以去掉DateLessThan字段,则该IP地址或IP地址段的策略将一直有效。配置如下:

    {
        "Version": "1",
        "Statement": [{
            "Action": "dypns:*",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "acs:SourceIp": "42.120.XX.XX/24"
                }
            },
            "Effect": "Allow"
        }]
    }
  • 可以把不同的策略组合使用。例如,只允许192.168.1.100的IP访问,且只能访问名为GetMobile的API方法。配置如下:

    {
        "Version": "1",
        "Statement": [{
            "Action": "dypns:GetMobile",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "acs:SourceIp": "192.168.1.100"
                }
            },
            "Effect": "Allow"
        }]
    }

阿里云首页 号码认证服务 相关技术圈