kube-apiserver 加密配置 (v1)

包 v1 是 API 的 v1 版本。

资源类型

EncryptionConfiguration

EncryptionConfiguration 为加密驱动保存完整的配置信息。

字段描述
apiVersion
string
apiserver.config.k8s.io/v1
kind
string
EncryptionConfiguration
resources [必需]
[]ResourceConfiguration

resources 是一个包含资源及其对应的加密驱动的列表。

AESConfiguration

出现在:

AESConfiguration 包含 AES 转换器的 API 配置信息。

字段描述
keys [必需]
[]Key

keys 是一组用于创建 AES 转换器的秘钥。 对于 AES-CBC,每个秘钥必须是 32 字节长;对于 AES-GCM,每个秘钥可以是 16、24、32 字节长。

IdentityConfiguration

出现在:

IdentityConfiguration 是一个空的结构,用来支持在驱动配置中支持标识转换器。

KMSConfiguration

出现在:

KMSConfiguration 包含基于 KMS 的封套转换器的名称、缓存大小以及配置文件路径信息。

字段描述
apiVersion
string

KeyManagementService 的 apiVersion

name [必需]
string

name 是要使用的 KMS 插件名称。

cachesize
int32

cachesize 是可在内存中缓存的 Secret 数量上限。默认值是 1000。将此字段设置为负值会禁用缓存。

endpoint [必需]
string

endpoint 是 gRPC 服务器的监听地址,例如 “unix:///var/run/kms-provider.sock”。

timeout
meta/v1.Duration

对 KMS 插件执行 gRPC 调用的超时时长(例如,’5s’)。默认值为 3 秒。

Key

出现在:

Key 中包含为某转换器所提供的键名和对应的私密数据。

字段描述
name [必需]
string

name 是在向磁盘中存储数据时使用的键名。

secret [必需]
string

secret 是实际的秘钥,用 base64 编码。

ProviderConfiguration

出现在:

ProviderConfiguration 为加密驱动存储配置信息。

字段描述
aesgcm [必需]
AESConfiguration

aesgcm 是用于 AES-GCM 转换器的配置。

aescbc [必需]
AESConfiguration

aescbc 是用于 AES-CBC 转换器的配置。

secretbox [必需]
SecretboxConfiguration

secretbox 是用于基于 Secretbox 的转换器的配置。

identity [必需]
IdentityConfiguration

identity 是用于标识转换器的配置(空)。

kms [必需]
KMSConfiguration

kms 中包含用于基于 KMS 的封套转换器的名称、缓存大小以及配置文件路径信息。

ResourceConfiguration

出现在:

ResourceConfiguration 中保存资源配置。

字段描述
resources [必需]
[]string

resources 是必需要加密的 Kubernetes 资源的列表。

providers [必需]
[]ProviderConfiguration

providers 是一个转换器列表,用来将资源写入到磁盘或从磁盘上读出。 例如:’aesgcm’、’aescbc’、’secretbox’、’identity’。

SecretboxConfiguration

出现在:

SecretboxConfiguration 包含用于某 Secretbox 转换器的 API 配置。

字段描述
keys [必需]
[]Key

keys 是一个秘钥列表,用来创建 Secretbox 转换器。每个秘钥必须是 32 字节长。