本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
除了在 Apigee 界面中使用安全操作之外,您还可以通过 Apigee API 访问所有安全操作功能。
安全操作的限制
安全操作在 Apigee 环境级层强制执行。对于每个环境,安全操作具有以下限制:
- 在任意时间,一个环境最多允许 1,000 个已启用的操作。
- 您最多可以为每个操作添加 5 个标志标头。
延迟时间
安全操作有以下延迟时间:
- 创建安全操作时,操作最多可能需要 10 分钟才能生效。操作生效并应用于某些 API 流量后,您可以在安全操作详情页面中查看操作的效果。注意:除非操作已应用于某些 API 流量,否则即使操作已生效,您也无法在安全操作详情页面中确定这一点。
- 已启用的安全操作会略微增加 API 代理响应时间(少于 2%)。
创建安全操作
以下示例展示了如何使用 API 调用创建安全操作。在所有示例中:
ORG
是组织。ENV
是安全操作的环境。ACTION_NAME
是安全操作的名称。
创建拒绝操作
如需创建拒绝操作,请输入如下所示的命令:
curl -XPOST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions?security_action_id=ACTION_NAME \ -H "Content-Type: application/json" \ -d '{"state": "ENABLED", "deny": {"response_code": 404}, "condition_config": {"ip_address_ranges": ["100.0.225.0"]}}'
这将创建一项安全操作,以拒绝来自 ip_address_ranges
后列出的 IP 地址的请求,并返回响应代码 404
。
创建标志操作
如需创建标志操作,请输入如下所示的命令:
curl -XPOST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions?security_action_id=ACTION_NAME" \ -H "Content-Type: application/json" \ -d '{"state": "ENABLED", "flag": {"headers": [{"name": "senseflag", "value": "flagvalue"}]}, "condition_config": {"ip_address_ranges": ["100.0.230.0"]}}'
这将创建一项安全操作,以标记来自 ip_address_ranges
后列出的 IP 地址的请求,并添加值为 flagvalue
的标头 senseflag
。
创建允许操作
如需创建允许操作,请输入如下所示的命令:
curl -XPOST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions?security_action_id=ACTION_NAME \ -H "Content-Type: application/json" \ -d '{"state": "ENABLED", "allow": {}, "condition_config": {"ip_address_ranges": ["100.0.220.0", "200.0.0.0"]}}'
这将创建一项安全操作,以允许来自 ip_address_ranges
后列出的 IP 地址的请求。
启用或停用安全操作
以下示例展示了启用或停用安全操作的 API 调用。
启用安全操作
如需启用安全操作,请输入如下所示的命令:
curl -XPOST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME:enable"
这会返回如下所示的响应:
{ "name": "ACTION_ALLOW", "state": "ENABLED", "createTime": "2022-12-29T18:27:31Z", "updateTime": "2023-01-03T23:19:26.650965481Z", "conditionConfig": { "ipAddressRanges": [ "100.0.220.0", "200.0.0.0" ] }, "allow": {}, "expireTime": "2028-01-01T00:00:00Z" }
停用安全操作
如需停用安全操作,请输入如下所示的命令:
curl -XPOST "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME:disable"
这会返回如下所示的响应:
{ "name": "actionallow", "state": "DISABLED", "createTime": "2022-12-29T18:27:31Z", "updateTime": "2023-01-03T23:13:04.874540001Z", "conditionConfig": { "ipAddressRanges": [ "100.0.220.0", "200.0.0.0" ] }, "allow": {}, "expireTime": "2028-01-01T00:00:00Z" }
获取或列出安全操作
以下示例展示了如何获取或列出安全操作
获取安全操作
如需获取安全操作,请输入如下所示的命令:
curl -XGET "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions/ACTION_NAME"
这会返回如下所示的响应:
{ "name": "ACTION_NAME", "state": "DISABLED", "createTime": "2022-12-29T18:27:31Z", "updateTime": "2023-01-03T23:13:04Z", "conditionConfig": { "ipAddressRanges": [ "100.0.220.0", "200.0.0.0" ] }, "allow": {}, "expireTime": "2028-01-01T00:00:00Z" }
列出安全操作
如需列出所有安全操作,请输入如下所示的命令:
curl -XGET "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActions"
暂停或继续执行安全操作
以下示例展示了如何暂停或继续执行安全操作
暂停所有安全操作
如需暂停所有安全操作,请输入如下所示的命令:
curl -XPATCH "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActionsConfig" \ -H "Content-Type: application/json" \ -d '{"enabled": "false", "name": "organizations/ORG/environments/ENV/securityActionsConfig"}'
这会返回如下所示的响应:
{ "name": "organizations//environments/ENV/securityActionsConfig", "enabled": false, "updateTime": "2023-01-23T21:44:58.063807Z" } }
继续执行暂停的安全操作
如需继续执行暂停的安全操作,请输入类似于以下内容的命令:
curl -XPATCH "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/securityActionsConfig" \ -H "Content-Type: application/json" \ -d '{"enabled": "true", "name": "organizations/ORG/environments/ENV/securityActionsConfig"}'
这会返回如下所示的响应:
{ "name": "organizations/ORG/environments/ENV/securityActionsConfig", "enabled": true, "updateTime": "2023-01-23T21:44:58.063807Z" } }