tencent cloud

容器安全服务

产品动态
产品简介
产品概述
产品优势
应用场景
功能介绍与版本对比
购买指南
试用申请
购买专业版
购买镜像扫描
购买日志分析
快速入门
操作指南
安全概览
资产管理
漏洞管理
镜像风险管理
集群风险管理
基线管理
运行时安全
高级防御
策略管理
防护开关
告警设置
日志分析
混合云安装指引
失陷容器隔离说明
日志字段数据解析
实践教程
镜像漏洞扫描和漏洞管理
故障处理
Linux 客户端离线排查
集群接入排查
API 文档
History
Introduction
API Category
Making API Requests
Network Security APIs
Cluster Security APIs
Security Compliance APIs
Runtime security - High-risk syscalls
Runtime Security - Reverse Shell APIs
Runtime Security APIs
Alert Settings APIs
Advanced prevention - K8s API abnormal requests
Asset Management APIs
Security Operations - Log Analysis APIs
Runtime Security - Trojan Call APIs
Runtime Security - Container Escape APIs
Image Security APIs
Billing APIs
Data Types
Error Codes
常见问题
TCSS 政策
隐私政策
数据处理和安全协议
联系我们
词汇表

策略配置

PDF
聚焦模式
字号
最后更新时间: 2024-01-23 15:44:44
容器网络策略提供基于 K8s 原生 Networkpolicy 的集群容器间网络策略下发和管理能力,通过对集群内的防护对象进行定义,设置防护对象的出站和入站规则实现容器间网络访问控制。本文档将指导您如何配置和管理容器网络策略,以及实施容器间网络隔离。

限制条件

目前支持容器网络策略的集群范围包括:TKE 独立集群、TKE 托管集群、自建 K8s 集群。
1. 容器网络策略依赖集群部署网络组件,目前已支持 kube-router 网络组件类型。
TKE集群使用容器网络策略需确保集群已安装 NetworkPolicy 组件。NetworkPolicy 组件说明可参见 容器服务-Network Policy 说明


自建 K8s 集群安装 kube-router 网络组件可参见 User Guide - Kube-router
使用容器网络策略可能造成集群性能损耗,请详细评估集群规模和性能损耗后使用。以部署 kube-router 组件开启网络策略为例,Pod 数量从2000增长到8000,部署网络策略时集群性能下降约10% - 20%,详情请参见 使用 Network Policy 进行网络访问控制

管理集群网络策略

1. 登录 容器安全服务控制台,在左侧导航中,选择策略管理 > 容器网络策略
2. 在容器网络策略页面,可查看集群网络组件类型、集群地域和集群的已启用策略数和总策略数等相关信息。


3. 选择目标集群,单击策略管理,进入集群策略详情页面,支持对集群网络策略进行添加、编辑、删除以及自动发现策略置入等操作。
注意:
当前仅支持 Kube-Router 网络组件。
容器网络策略依赖集群部署网络组件,不支持的网络组件类型无法进入集群策略管理。


创建集群网络策略

1. 在集群策略详情页面,单击添加策略
2. 在添加策略对话框中,填写策略名称和策略描述,选择视图模式或表单模式进入容器网络策略编辑。
注意:
编辑视图下切换模式将新建空白策略,原模式下创建的策略内容将不会被保留。

3. 在编辑视图下配置容器网络策略,单击页面右上角仅保存保存并开启
说明:
仅保存:保存当前网络策略但不会启用该条策略。
保存并开启:保存当前网络策略并立即开启该条策略。


策略说明

基本信息

策略名称:策略名称会关联 Networkpolicy Name、不允许重复,创建后不允许修改、最大长度需小于254个字符。
策略描述:最大长度需小于1000个字符。

策略类型

容器网络策略类型分为系统策略自动发现两种,系统策略是通过容器安全控制台创建和管理的策略,自动发现指系统自动发现和获取到的集群 Networkpolicy 策略,包括手动在集群中创建和变更的策略。
自动发现的策略进行置入确认后将被纳入产品策略库中统一管理,允许在控制台对策略进行开启/关闭/编辑等操作。

防护对象

防护对象是命名空间内通过 pod 标签来关联的一个或多个 pod,具有相同标签的 pod 应用为一组防护对象。
说明:
标签指 K8s Labels,标签是附加到 Kubernetes 对象(如 pod)上的键值对,由 Key 和 Value 组成,详情请参见 Labels and Selectors
防护对象通过多个 pod 标签关联时,多个 pod 标签之间为“与”关系,只有同时满足标签条件的 pod 应用才会被关联到防护对象。
命名空间:防护对象所属的命名空间,默认为 Default。
Pods:Pods 标签选择“全部 Pods”时,表示该命名空间下的所有 pod 均为防护对象,此时网络策略等同于对整个命名空间生效。
注意:
若使用多个 pod 标签关联防护对象,当新增的标签 key 值重复时,只会保留1个 key 值生效,旧 key 值标签会被覆盖。例如:使用 app1=a,app1=b,app2=c,app2=d 关联防护对象,生效标签为 app1=b,app2=d。


规则说明

容器网络策略默认规则为允许全部入站\\出站请求,默认情况下允许全部入站和出站请求。配置拒绝全部入站请求,防护对象将拒绝所有请求连接。配置拒绝全部出站请求,防护对象将拒绝所有发起的请求。


容器网络策略开启后规则1分钟左右生效,一般情况下秒级即可生效。
策略配置自定义规则并启用后,将只允许设定的入向/出向规则内的请求,其余请求将被拒绝。

自定义规则说明

通过自定义规则配置防护对象允许的入站来源和出向目标,将只允许指定来源或目标的协议端口范围请求,其它请求将默认被拒绝。


类型
Pods:指定允许的 pod 应用,通过 pod 标签关联,多个 pod 标签满足一个即可放行。指定 Pods 标签时需指定命名空间,不指定(指命名空间放空)时生效范围为当前命名空间(与防护对象命名空间相同)。
命名空间:指定允许的命名空间,通过命名空间标签关联,多个命名空间标签满足一个即可放行。
IP:指定允许的 IP 范围,输入格式需满足 CIDR 格式且必须符合 IP 的合法性。
协议端口:可以与上述来源或目标类型组合使用,协议支持配置 TCP 或 UDP,端口为 pod 端口号,填写范围1-65535,多个端口号通过逗号分割。
说明:
若配置端口协议规则表示在指定协议下只允许指定端口请求,如“TCP 80”表示指定 TCP 协议下只允许80端口通信,UDP 协议不受影响。
自定义规则允许的来源或目标可以添加多个,满足任意其中一个规则即可匹配。
注意:
若使用多个标签关联 Pod 类型或命名空间类型,当新增的标签 key 值重复时,只会有1个 key 值生效,旧 key 值标签会被覆盖,例如:使用 app1=a,app1=b,app2=c,app2=d 关联防护对象,生效标签为 app1=b,app2=d。

策略规则冲突

当同一个防护对象存在多条网络策略规则冲突时,会遵循 K8S NetworkPolicy 策略冲突规则。例如:
冲突类型
冲突示例
示例开启效果
针对相同 pod 的规则冲突
A 规则:防护对象为命名空间 A 的 pod1,规则为入站允许所有请求。
B 规则:防护对象为命名空间 A 的 pod1,规则为入站拒绝所有请求。
命名空间 A 的 pod1入站允许所有请求。
针对 pod 和命名空间的规则冲突
A 规则:防护对象为命名空间 A(默认为全部 pods),规则为入站允许所有请求。
B 规则:防护对象为命名空间 A 的 pod1,规则为入站拒绝所有请求。
防护对象命名空间 A 的 pod1入站拒绝所有,命名空间 A 的其它 pod 入站允许所有请求。
针对 pod 和命名空间的规则冲突
A 规则:防护对象为命名空间 A(默认为全部 pods),规则为入站拒绝所有请求。
B 规则:防护对象为命名空间 A 的 pod1,规则为入站允许所有请求。
防护对象命名空间 A 的 pod1入站允许所有请求,命名空间 A 的其它 pod 入站拒绝所有请求。

策略变更审计

在网络策略页面,单击右上角的变更记录,可查看所有策略规则的变更审计记录,审计操作包括新增策略、开启策略、关闭策略、编辑策略、删除策略、确认策略。


相关文档

容器网络策略的常见隔离场景说明,请参见 使用场景

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈