keystone.cmd.doctor.credential 模块

keystone.cmd.doctor.credential.symptom_keys_in_credential_fernet_key_repository()[source]

凭证密钥仓库为空。

在配置 Keystone 使用 Fernet 凭证提供程序后,您应该使用 keystone-manage credential_setup 初始填充您的密钥仓库,并定期使用 keystone-manage credential_rotate 轮换您的密钥。

keystone.cmd.doctor.credential.symptom_unique_key_repositories()[source]

用于加密的密钥仓库应该是唯一的。

即使凭证使用与 Fernet 令牌相同的机制进行加密,它们也应该具有彼此独立的密钥仓库位置。使用相同的仓库来加密凭证和令牌可能被认为是一种安全漏洞,因为用于加密凭证的密钥的密文作为令牌 ID 暴露。共享密钥仓库也可能导致密钥轮换期间过早删除密钥。这可能导致凭证无法解密,从而完全无用,或者过早使令牌失效,因为用于加密实体的密钥已被删除。

确保 keystone.conf [credential] key_repositorykeystone.conf [fernet_tokens] key_repository 不指向相同的位置。

keystone.cmd.doctor.credential.symptom_usability_of_credential_fernet_key_repository()[source]

凭证密钥仓库未正确设置。

期望凭证 Fernet 密钥仓库可被运行 Keystone 的用户读取,但不允许世界读取,因为它包含安全敏感的密钥。