创建自定义权限策略

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

前提条件

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

操作步骤

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

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

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

  4. 您可通过以下两种方式创建自定义策略。

    可视化编辑模式

    1. 创建权限策略页面,单击可视化编辑页签。

    2. 配置权限策略,然后单击继续编辑基本信息

      1. 效果区域,选择允许拒绝

      2. 服务区域,选择云服务。

        说明

        支持可视化编辑模式的云服务以控制台界面显示为准。

      3. 操作区域,选择全部操作指定操作

        系统会根据您上一步选择的云服务,自动筛选出可以配置的操作。如果您选择了指定操作,您需要继续选择具体的操作。

      4. 资源区域,选择全部资源指定资源

        系统会根据您上一步选择的操作,自动筛选出可以配置的资源类型。如果您选择了指定资源,您需要继续单击添加资源,配置具体的资源ARN。您可以使用匹配全部功能,快速选择对应配置项的全部资源。

        说明

        为了权限策略的正常生效,对操作关联的必要资源ARN标识了必要,强烈建议您配置该资源ARN。

      5. 可选:条件区域,单击添加条件,配置条件。

        条件包括阿里云通用条件和服务级条件,系统会根据您前面配置的云服务和操作,自动筛选出可以配置的条件列表。您只需要选择对应条件键配置具体内容。

      6. 单击添加语句,重复上述步骤,配置多条权限策略语句。

    3. 输入权限策略名称备注

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

      • 基础权限策略优化

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

        • 删除不必要的条件。

        • 删除不必要的数组。

      • 可选:高级权限策略优化

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

        • 拆分不兼容操作的资源或条件。

        • 收缩资源到更小范围。

        • 去重或合并语句。

    5. 单击确定

    脚本编辑模式

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

    2. 输入权限策略内容,然后单击继续编辑基本信息

      关于权限策略语法结构的详情,请参见权限策略语法和结构

      示例一

      仅允许调用某一个或多个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"
            }]
        }
    3. 输入权限策略名称备注

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

      • 基础权限策略优化

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

        • 删除不必要的条件。

        • 删除不必要的数组。

      • 可选:高级权限策略优化

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

        • 拆分不兼容操作的资源或条件。

        • 收缩资源到更小范围。

        • 去重或合并语句。

    5. 单击确定