设置阿里云账号(主账号)或RAM用户的访问密钥的网络访问限制策略。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
ram:SetAccessKeyPolicy |
update |
*User
|
无 | 无 |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| 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"]
}
]
}
顶层字段
| 字段 | 类型 | 是否必填 | 描述 |
| Version | Integer | 否 | 策略版本号,当前固定为 1 |
| Status | String | 是 | 策略状态。取值:Active(启用)、Inactive(停用) |
| Statements | Array | 是 | 网络白名单规则列表,可以为空数组 [],但不能为 null |
Statement 对象
每个 Statement 表示一条网络白名单规则,支持两种类型:
| 字段 | 类型 | 描述 |
| Type | String | 规则类型。取值:ClassicWhiteList(经典网络白名单)、VPCWhiteList(VPC 网络白名单) |
| Value | String | VPC 标识,仅 VPCWhiteList 类型时使用 |
| IPList | Array | IP 地址白名单列表,支持 IPv4/IPv6 地址及 CIDR 格式 |
规则类型详解
1. 经典网络白名单(ClassicWhiteList)
限制 AccessKey 只能从指定的公网 IP 地址发起调用。
Type:固定为
ClassicWhiteListValue:不可填写,留空即可
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*******************"
}
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。