Wallaby 系列发布说明¶
12.0.1¶
新特性¶
默认最大密钥大小已从 10 kB 增加到 20 kb,默认最大请求大小已从 15 kB 增加到 25 kB。
安全问题¶
修复 Story 2009664 的一部分内容需要将容器消费者策略从“consumers:get”重命名为“container_consumers:get”,将“consumers:post”重命名为“container_consumers:post”,将“consumers:delete”重命名为“container_consumers:delete”。如果您正在使用自定义策略来覆盖默认策略,则需要更新它们以使用新名称。
修复 Story #2009791:现在,拥有项目“creator”角色的用户即使不是最初创建密钥的用户,也可以删除属于该项目的密钥。在此修复之前,拥有“creator”角色的用户只能删除他们自己最初创建的属于该项目的密钥,这与 Barbican 集成的其他 OpenStack 项目处理删除的方式不一致。此更改不影响私有密钥(即“project-access”标志设置为“false”的密钥)。
错误修复¶
修复 Story #2009247 - 修复了 POST /v1/secrets/{secret-id}/metadata 的响应,使其与文档行为相符。
修复 Story 2009664 - 修复了 Consumer 控制器,使其能够在策略检查中使用关联容器的所有权信息。
修复 Story #2009672 - 修复了容器消费者验证器,以防止 500 错误。
12.0.0¶
新特性¶
为 PKCS#11 加密插件添加了两个选项:[p11_crypto_plugin]/token_serial_number 和 [p11_crypto_plugin]/token_label。两者都是可选的,可以用作 [p11_crypto_plugin]/slot_id 的替代方案来标识 PKCS#11 插件要使用的 Token。当定义了其中一个新选项时,插件将在 PKCS#11 设备的各个插槽中搜索与给定值匹配的 token。token_serial_number 具有最高的优先级,当设置此值时,其他值将被忽略。如果未设置 token_serial_number,则 token_label 具有下一个最高的优先级,并且将忽略 slot_id。当未设置任何一个新选项时,将使用 slot_id。
为 PKCS#11 后端添加了一个新的布尔选项:os_locking_ok。如果设置为 True,则 CKF_OS_LOCKING_OK 标志将传递给 C_Initialize 函数。新选项默认为 False。
一个名为“token_labels”的新选项已添加到 PKCS#11 驱动程序中,它取代了以前的“token_label”选项。新选项用于指定可以由 Barbican 使用的 token 列表。这对于使用单独的 token 进行负载平衡的某些 HSM 设备是必需的。在大多数情况下,新选项将只有一个 token。旧选项已被弃用,但如果存在,仍将使用。
实现 ACL 的安全 rbac 策略。
为消费者资源实现安全 rbac。
为容器资源实现安全 rbac。
为订单资源实现安全 rbac。
为配额资源实现安全 rbac。
为 secretmeta 资源实现安全 rbac。
为密钥资源实现安全 rbac。
为密钥存储资源实现安全 rbac。
为传输密钥资源实现安全 rbac。
barbican-manage 命令行工具的 hsm 子命令不再需要在运行时使用任何参数。如果需要 PKCS#11 值,它将从 /etc/barbican/barbican.conf 中获取。您仍然可以在命令行上指定任何值,这些值将优先于 barbican.conf 中指定的值,因此任何使用 barbican-manage 的现有脚本都应按预期继续工作。
升级说明¶
配置选项
[oslo_policy] policy_file的默认值已从policy.json更改为policy.yaml。正在使用自定义或先前生成的静态策略 JSON 文件的操作员应生成新的策略文件或将其转换为 YAML 格式。使用 oslopolicy-convert-json-to-yaml 工具以向后兼容的方式将 JSON 策略文件转换为 YAML 格式。
弃用说明¶
PKCS#11 驱动程序中的“token_label”选项已被弃用。应使用新的“token_labels”选项。如果存在,“token_label”仍然会通过将其附加到“token_labels”来使用。
JSON 策略文件在 Victoria 开发周期中被
oslo.policy库弃用。因此,此弃用在 Wallaby 周期中被注意到,预计oslo.policy将在未来删除对它的支持。因此,操作员需要转换为 YAML 策略文件。请参阅升级说明以获取有关迁移任何自定义策略文件的详细信息。
安全问题¶
新的安全 rbac 策略不允许列出私有密钥或私有容器的 ACL。这是与以前的策略不同的,以前的策略允许项目上具有某些角色分配的用户列出私有密钥或私有容器的 ACL。以前的策略已被弃用,但在未来的版本中删除之前,它将继续使用。
新的安全 rbac 策略允许项目成员修改或删除 ACL。这是与以前的策略不同的,以前的策略仅允许项目管理员或密钥或容器创建者执行这些操作。
新的安全 rbac 策略允许成员添加和删除消费者。这是与以前的策略不同的,以前的策略仅允许密钥的创建者或管理员或那些对密钥具有读取 acl 的用户执行这些操作。
新的安全 rbac 策略允许成员将密钥添加到容器并从容器中删除密钥。这是与以前的策略不同的,以前的策略仅允许管理员添加和删除密钥。
新的安全 rbac 策略允许成员删除容器。这是与以前的策略不同的,以前的策略仅允许创建者或项目管理员删除容器。
当前策略允许除具有 audit 角色之外的所有用户列出订单或检索订单元数据。新的期望策略将将其限制为成员。为了保持向后兼容性,旧策略仍然有效,但它们已被弃用,将在未来删除,留下更严格的新策略。
新的安全 rbac 策略允许成员删除密钥。这是与以前的策略不同的,以前的策略仅允许项目管理员删除密钥。
当前策略仅允许具有 key-manager:service-admin 角色的用户列出、获取、添加、更新或删除项目配额。新策略允许系统读取者列出配额并获取特定项目的配额,以及系统管理员(角色:admin 和 system_scope:all)添加、更新和删除项目配额。
当前策略允许除具有 audit 角色之外的所有用户列出密钥元数据键并获取元数据值。新的期望策略将将其限制为成员。为了保持向后兼容性,旧策略仍然有效,但它们已被弃用,将在未来删除,留下更严格的新策略。
新的安全 rbac 策略允许成员添加、修改和删除密钥元数据。这是与以前的策略不同的,以前的策略仅允许项目管理员或密钥创建者删除密钥元数据。
新的安全 rbac 策略允许任何成员执行两步密钥创建。这是与以前的策略不同的,以前的策略仅允许创建者执行第二步。
新的安全 rbac 策略允许成员删除密钥。这是与以前的策略不同的,以前的策略仅允许创建者或项目管理员删除密钥。
当前策略仅允许具有 admin 角色的用户列出和获取 secretstore 资源。新策略允许所有用户执行这些操作。
当前策略允许具有 admin 角色的用户添加或删除传输密钥。该接口仅供系统管理员使用,因此新策略已将其限制为仅系统管理员(具有 system_scope:all 的管理员)。
错误修复¶
修复了 Story #2006978:管理员用户现在可以通过调整策略文件删除其他用户的密钥。
修复了 Story #2008649:在次要故障后正确重新初始化 PKCS11 对象。