全部产品
Search
文档中心

访问控制:SetAccessKeyPolicy - 设置指定访问密钥的网络访问限制策略

更新时间:Jul 08, 2026

设置阿里云账号(主账号)或RAM用户的访问密钥的网络访问限制策略。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

ram:SetAccessKeyPolicy

update

*User

acs:ram::{#AccountId}:user/{#UserName}

请求参数

名称

类型

必填

描述

示例值

UserPrincipalName

string

RAM 用户的登录名称。

如果为空,默认为当前用户的指定访问密钥设置网络访问限制策略。

test@example.onaliyun.com

UserAccessKeyId

string

访问密钥 ID。

LTAI*******************

AccessKeyPolicy

string

网络访问限制策略。

JSON 格式字符串,具体参见 AccessKeyPolicy 结构说明。

{"Status":"Inactive","Statements":[{"Value":"AllowAllVPC","Type":"VPCWhiteList","IPList":["::/0","0.0.0.0/0"]}]}

AccessKeyPolicy 结构说明

AccessKeyPolicy 参数为 JSON 格式的字符串,完整结构如下:

{
  "Version": 1,
  "Status": "Active",
  "Statements": [
    {
      "Type": "ClassicWhiteList",
      "IPList": ["203.0.113.1", "2001:db8:85a3::8a2e:370:7334", "198.51.100.0/24"]
    },
    {
      "Type": "VPCWhiteList",
      "Value": "vpc-bp1234567890abcdef",
      "IPList": ["172.16.0.0/16"]
    }
  ]
}

顶层字段

字段类型是否必填描述
VersionInteger策略版本号,当前固定为 1
StatusString策略状态。取值:Active(启用)、Inactive(停用)
StatementsArray网络白名单规则列表,可以为空数组 [],但不能为 null

Statement 对象

每个 Statement 表示一条网络白名单规则,支持两种类型:

字段类型描述
TypeString规则类型。取值:ClassicWhiteList(经典网络白名单)、VPCWhiteList(VPC 网络白名单)
ValueStringVPC 标识,仅 VPCWhiteList 类型时使用
IPListArrayIP 地址白名单列表,支持 IPv4/IPv6 地址及 CIDR 格式

规则类型详解

1. 经典网络白名单(ClassicWhiteList)

限制 AccessKey 只能从指定的公网 IP 地址发起调用。

  • Type:固定为 ClassicWhiteList

  • Value:不可填写,留空即可

  • IPList:必填。允许调用的 IP 地址列表,支持 IPv4 和 IPv6 地址,支持 CIDR 格式(如 203.0.113.5/30

默认行为:若 Statements 中未配置任何 ClassicWhiteList 规则,表示拒绝所有经典网络的访问

约束:若 IPList 中包含 IPv4 全放通地址 0.0.0.0/0,则必须同时包含 IPv6 全放通地址 ::/0,反之亦然。不允许仅放通单一协议栈。

示例

{
  "Type": "ClassicWhiteList",
  "IPList": ["203.0.113.5/30", "198.51.100.0/24"]
}

2. VPC 网络白名单(VPCWhiteList)

限制 AccessKey 只能从指定的 VPC 内发起调用,可进一步限制到 VPC 内的指定 IP。

  • Type:固定为 VPCWhiteList

  • Value:必填。取值为以下之一:
    • 具体 VPC 实例 ID,格式为 vpc- 开头(如 vpc-bp1234567890abcdef

    • AllowAllVPC:允许所有 VPC

  • IPList:必填。VPC 内的 IP 地址白名单,支持 CIDR 格式(如 10.0.0.0/24

默认行为:若 Statements 中未配置任何 VPCWhiteList 规则,则拒绝所有 VPC 网络的访问

约束

  • 当 Value 为 AllowAllVPC 时,IPList 必须同时包含 0.0.0.0/0::/0(即全放通),且仅包含这两项

  • 当 Value 为具体 VPC ID 时,IPList 中不允许包含 0.0.0.0/0::/0

示例 — 指定 VPC

{
  "Type": "VPCWhiteList",
  "Value": "vpc-bp1234567890abcdef",
  "IPList": ["172.16.0.0/16"]
}

示例 — 允许所有 VPC

{
  "Type": "VPCWhiteList",
  "Value": "AllowAllVPC",
  "IPList": ["0.0.0.0/0", "::/0"]
}

数量限制

限制项上限
AccessKeyPolicy 总长度JSON 字符串不超过 160,000 字符
Statements 条目数最多 8 条
单条 Statement 中的 IPList 条目数最多 50 个

完整请求示例

示例 1:仅允许特定公网 IP 调用

{
  "Version": 1,
  "Status": "Active",
  "Statements": [
    {
      "Type": "ClassicWhiteList",
      "IPList": ["203.0.113.5/30", "198.51.100.0/24"]
    }
  ]
}

示例 2:仅允许指定 VPC 内调用

{
  "Version": 1,
  "Status": "Active",
  "Statements": [
    {
      "Type": "VPCWhiteList",
      "Value": "vpc-bp1234567890abcdef",
      "IPList": ["172.16.0.0/16"]
    }
  ]
}

示例 3:同时配置经典网络和 VPC 网络白名单

{
  "Version": 1,
  "Status": "Active",
  "Statements": [
    {
      "Type": "VPCWhiteList",
      "Value": "vpc-bp1234567890abcdef",
      "IPList": ["172.16.0.0/16"]
    },
    {
      "Type": "ClassicWhiteList",
      "IPList": ["203.0.113.0/30"]
    }
  ]
}

示例 4:停用策略(保留规则但不生效)

{
  "Version": 1,
  "Status": "Inactive",
  "Statements": [
    {
      "Type": "ClassicWhiteList",
      "IPList": ["203.0.113.5/30"]
    }
  ]
}

示例 5:清空所有白名单规则

{
  "Version": 1,
  "Status": "Inactive",
  "Statements": []
}

返回参数

名称

类型

描述

示例值

object

AccessKeyPolicy

string

网络访问限制策略。

JSON 格式字符串,具体参见 AccessKeyPolicy 结构说明。

{"Status":"Inactive","Statements":[{"Value":"AllowAllVPC","Type":"VPCWhiteList","IPList":["::/0","0.0.0.0/0"]}]}

RequestId

string

请求 ID。

30C9068D-FBAA-4998-9986-8A562FED0BC3

AccessKeyId

string

访问密钥 ID。

LTAI*******************

示例

正常返回示例

JSON格式

{
  "AccessKeyPolicy": "{\"Status\":\"Inactive\",\"Statements\":[{\"Value\":\"AllowAllVPC\",\"Type\":\"VPCWhiteList\",\"IPList\":[\"::/0\",\"0.0.0.0/0\"]}]}",
  "RequestId": "30C9068D-FBAA-4998-9986-8A562FED0BC3",
  "AccessKeyId": "LTAI*******************"
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情