ALTER NETWORK POLICY
功能概述
修改网络策略的 IP 白名单/黑名单内容,或切换策略的激活/停用状态。需要实例管理员(instance_admin)权限。
语法
-- 修改 IP 列表(覆盖写入)
ALTER NETWORK POLICY [ IF EXISTS ] <name>
SET ALLOWED_IP_LIST = ( [ '<ip_address>' [ , '<ip_address>' , ... ] ] )
[ BLOCKED_IP_LIST = ( [ '<ip_address>' [ , '<ip_address>' , ... ] ] ) ]
[ WORKSPACE_LIST = ( <workspace_name> [ , ... ] ) ]
[ USER_LIST = ( <user_name> [ , ... ] ) ]
-- 只修改生效范围,IP 列表保持不变
ALTER NETWORK POLICY <name>
SET [ WORKSPACE_LIST = ( <workspace_name> [ , ... ] ) ]
[ USER_LIST = ( <user_name> [ , ... ] ) ]
-- 激活策略
ALTER NETWORK POLICY <name> ACTIVATE
-- 停用策略
ALTER NETWORK POLICY <name> INACTIVATE
参数说明
-
<name>
<name>
:要修改的网络策略名称。
-
IF EXISTS
IF EXISTS
:策略不存在时静默跳过,不报错。
-
SET ALLOWED_IP_LIST
SET ALLOWED_IP_LIST
:覆盖写入新的白名单。列表为空时表示允许所有 IP。
-
BLOCKED_IP_LIST
BLOCKED_IP_LIST
:覆盖写入新的黑名单,可选。省略时黑名单被清空。
-
WORKSPACE_LIST
WORKSPACE_LIST
:覆盖写入策略生效的工作空间列表。省略时保持原值不变,不影响 IP 列表。
-
USER_LIST
USER_LIST
:覆盖写入策略生效的用户列表。省略时保持原值不变,不影响 IP 列表。
⚠️ 注意:
WORKSPACE_LIST
WORKSPACE_LIST
、
USER_LIST
USER_LIST
至少要列出一个名称,不能通过
ALTER
ALTER
清空。要让一个已限定范围的策略重新对整个实例或所有用户生效,需用
CREATE OR REPLACE NETWORK POLICY
CREATE OR REPLACE NETWORK POLICY
重建策略并省略对应子句。
-
ACTIVATE
ACTIVATE
:将策略状态设为激活,策略立即生效。
-
INACTIVATE
INACTIVATE
:将策略状态设为停用,策略不再生效。
⚠️
SET
SET
操作是
覆盖,不是追加。执行后策略的 IP 列表完全替换为新值,原有 IP 全部丢弃。如需保留原有 IP,必须在新语句中重新列出。
使用示例
-- 修改白名单(原黑名单被清空)
ALTER NETWORK POLICY corp_policy
SET ALLOWED_IP_LIST = ('192.168.11.1')
BLOCKED_IP_LIST = ('192.168.11.99');
-- 把策略的生效范围改为 prod_ws 工作空间的 etl_service 用户,IP 列表不变
ALTER NETWORK POLICY corp_policy
SET WORKSPACE_LIST = (prod_ws)
USER_LIST = (etl_service);
-- 停用策略
ALTER NETWORK POLICY corp_policy INACTIVATE;
-- 重新激活策略
ALTER NETWORK POLICY corp_policy ACTIVATE;
-- 策略不存在时静默跳过
ALTER NETWORK POLICY IF EXISTS old_policy INACTIVATE;
注意事项
- 所有 NETWORK POLICY 操作均需要实例管理员(instance_admin)权限。
- 策略名称不可通过 ALTER 修改。
- 停用策略不会删除策略,可随时重新激活。
相关文档