Menu Close
Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
34.3. 了解加密配置
使用所有可用供应商的加密配置文件
kind: EncryptionConfig apiVersion: v1 resources: 1 - resources: 2 - secrets providers: 3 - aescbc: 4 keys: - name: key1 5 secret: c2VjcmV0IGlzIHNlY3VyZQ== 6 - name: key2 secret: dGhpcyBpcyBwYXNzd29yZA== - secretbox: keys: - name: key1 secret: YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY= - aesgcm: keys: - name: key1 secret: c2VjcmV0IGlzIHNlY3VyZQ== - name: key2 secret: dGhpcyBpcyBwYXNzd29yZA== - identity: {}
当从存储读取资源时,与存储的数据匹配的每个提供商都会尝试按顺序解密数据。如果没有供应商因为格式或机密密钥不匹配而无法读取存储的数据,则会返回错误,这会阻止客户端访问该资源。
如果任何资源无法通过加密配置读取(因为密钥已被更改),唯一的方法是直接从底层 etcd 中删除该密钥。尝试读取该资源的调用将失败,直到它被删除或提供了有效的解密密钥。
34.3.1. 可用的供应商
名称 | Encryption | 强度 | 速度 | 密钥长度 | 其他注意事项 |
---|---|---|---|---|---|
身份 | 无 | N/A | N/A | N/A | 按原样编写的资源,不进行加密.当设置为第一个提供程序时,资源将在写入新值时解密。 |
aescbc | 使用 PKCS#7 padding 的 AES-CBC | strongest | 速度快 | 32-byte | 推荐的加密选择,但可能比 secretbox 慢。 |
secretbox | XSalsa20 and Poly1305 | 强 | 更快 | 32-byte | 较新的标准在需要进行高级别审查的环境中不可接受。 |
aesgcm | 带有随机初始化向量(IV)的 AES-GCM | 必须每 200,000次写入轮转一次 | 速度最快 | 16、24 或 32 字节 | 不建议使用,除非实施了自动化密钥轮转方案。 |
每个提供程序支持多个密钥。尝试密钥是为了解密。如果提供程序是第一个提供程序,则第一个密钥用于加密。
Kubernetes 没有正确的非ce 生成器,且对 AES-GCM 使用随机四。由于 AES-GCM 需要安全的不正确,因此不建议使用 AES-GCM。200,000的写限制只是将误用性滥用的可能性限制为合理的低利润。