kube-apiserver 审计配置 (v1)
资源类型
Event
出现在
事件捕获 API 审计日志中可以包含的所有信息。
字段 | 描述 |
---|---|
apiVersion 字符串 | audit.k8s.io/v1 |
kind 字符串 | Event |
level [必需]级别 | 生成事件的审计级别 |
auditID [必需]k8s.io/apimachinery/pkg/types.UID | 为每个请求生成的唯一审计 ID。 |
stage [必需]阶段 | 生成此事件实例时请求处理的阶段。 |
requestURI [必需]字符串 | RequestURI 是客户端发送到服务器的请求 URI。 |
verb [必需]字符串 | Verb 是与请求关联的 Kubernetes 动词。对于非资源请求,这是小写的 HTTP 方法。 |
user [必需]authentication/v1.UserInfo | 已身份验证的用户信息。 |
impersonatedUser authentication/v1.UserInfo | 模拟的用户信息。 |
sourceIPs []string | 源 IP,请求的来源和中间代理。源 IP 从(按顺序)列出
|
userAgent 字符串 | UserAgent 记录客户端报告的用户代理字符串。请注意,UserAgent 由客户端提供,不能信任。 |
objectRef ObjectReference | 此请求所针对的对象引用。不适用于列表类型请求或非资源请求。 |
responseStatus meta/v1.Status | 响应状态,即使 ResponseObject 不是 Status 类型也会填充。对于成功响应,这将仅包括 Code 和 StatusSuccess。对于非状态类型的错误响应,这将自动填充错误消息。 |
requestObject k8s.io/apimachinery/pkg/runtime.Unknown | 来自请求的 API 对象,采用 JSON 格式。RequestObject 按照请求中的原样记录(可能重新编码为 JSON),在版本转换、默认设置、准入或合并之前。它是一个外部版本化的对象类型,可能本身不是一个有效的对象。非资源请求将省略。仅在请求级别及更高版本记录。 |
responseObject k8s.io/apimachinery/pkg/runtime.Unknown | 响应中返回的 API 对象,采用 JSON 格式。ResponseObject 在转换为外部类型后记录,并序列化为 JSON。非资源请求将省略。仅在响应级别记录。 |
requestReceivedTimestamp meta/v1.MicroTime | 请求到达 apiserver 的时间。 |
stageTimestamp meta/v1.MicroTime | 请求到达当前审计阶段的时间。 |
annotations map[string]string | 注释是一个非结构化的键值映射,与审计事件一起存储,可能由请求服务链中调用的插件设置,包括身份验证、授权和准入插件。请注意,这些注释用于审计事件,与提交对象的 metadata.annotations 不对应。键应唯一标识告知组件,以避免名称冲突(例如 podsecuritypolicy.admission.k8s.io/policy)。值应简短。注释包含在元数据级别。 |
事件列表
EventList 是审计事件的列表。
字段 | 描述 |
---|---|
apiVersion 字符串 | audit.k8s.io/v1 |
kind 字符串 | 事件列表 |
metadata meta/v1.ListMeta | 没有提供描述。 |
items [必需][]Event | 没有提供描述。 |
策略
出现在
策略定义审计日志记录的配置,以及如何记录不同请求类别的规则。
字段 | 描述 |
---|---|
apiVersion 字符串 | audit.k8s.io/v1 |
kind 字符串 | 策略 |
metadata meta/v1.ObjectMeta | ObjectMeta 包含是为了与 API 基础结构互操作。 有关metadata 字段的字段,请参阅 Kubernetes API 文档。 |
rules [必需][]PolicyRule | 规则指定应记录请求的审计级别。一个请求可能匹配多个规则,在这种情况下,将使用第一个匹配的规则。默认的审计级别为 None,但可以通过列表末尾的捕获所有规则覆盖。PolicyRules 是严格排序的。 |
omitStages []Stage | OmitStages 是不创建事件的阶段列表。请注意,这也可以在每个规则中指定,在这种情况下,将省略两者的并集。 |
omitManagedFields bool | OmitManagedFields 指示是否从 API 审计日志中省略请求和响应正文的托管字段。这用作全局默认值 - 'true' 的值将省略托管字段,否则托管字段将包含在 API 审计日志中。请注意,这也可以在每个规则中指定,在这种情况下,规则中指定的值将覆盖全局默认值。 |
策略列表
PolicyList 是审计策略的列表。
字段 | 描述 |
---|---|
apiVersion 字符串 | audit.k8s.io/v1 |
kind 字符串 | 策略列表 |
metadata meta/v1.ListMeta | 没有提供描述。 |
items [必需][]Policy | 没有提供描述。 |
GroupResources
出现在
GroupResources 表示 API 组中的资源类型。
字段 | 描述 |
---|---|
group 字符串 | Group 是包含资源的 API 组的名称。空字符串表示核心 API 组。 |
resources []string | Resources 是此规则应用的资源列表。 例如
如果存在通配符,则验证规则将确保资源不相互重叠。 空列表表示此 API 组中的所有资源和子资源均适用。 |
resourceNames []string | ResourceNames 是策略匹配的资源实例名称列表。使用此字段需要指定 Resources。空列表表示匹配资源的每个实例。 |
级别
(string
的别名)
出现在
级别定义审计期间记录的信息量
ObjectReference
出现在
ObjectReference 包含足够的信息,让您可以检查或修改引用的对象。
字段 | 描述 |
---|---|
resource 字符串 | 没有提供描述。 |
namespace 字符串 | 没有提供描述。 |
name 字符串 | 没有提供描述。 |
uid k8s.io/apimachinery/pkg/types.UID | 没有提供描述。 |
apiGroup 字符串 | APIGroup 是包含引用的对象的 API 组的名称。空字符串表示核心 API 组。 |
apiVersion 字符串 | APIVersion 是包含引用的对象的 API 组的版本。 |
resourceVersion 字符串 | 没有提供描述。 |
subresource 字符串 | 没有提供描述。 |
PolicyRule
出现在
PolicyRule 根据元数据将请求映射到审计级别。请求必须匹配每个字段的规则(规则的交集)。
字段 | 描述 |
---|---|
level [必需]级别 | 匹配此规则的请求的记录级别。 |
users []string | 此规则适用的用户(按已身份验证的用户名)。空列表表示每个用户。 |
userGroups []string | 此规则适用的用户组。如果用户是任何 UserGroups 的成员,则认为该用户匹配。空列表表示每个用户组。 |
verbs []string | 与此规则匹配的动词。空列表表示每个动词。 |
resources []GroupResources | 此规则匹配的资源。空列表表示所有 API 组中的所有类型。 |
namespaces []string | 此规则匹配的命名空间。空字符串 "" 匹配非命名空间的资源。空列表表示每个命名空间。 |
nonResourceURLs []string | NonResourceURLs 是一组应审计的 URL 路径。允许使用
|
omitStages []Stage | OmitStages 是不创建事件的阶段列表。请注意,这也可以在策略范围中指定,在这种情况下,将省略两者的并集。空列表表示不应用任何限制。 |
omitManagedFields bool | OmitManagedFields 指示是否从 API 审计日志中省略请求和响应正文的托管字段。
|
阶段
(string
的别名)
出现在
Stage 定义了在请求处理中可能生成审计事件的阶段。
此页面是自动生成的。
如果您计划报告此页面的问题,请在您的问题描述中注明该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。