--- features: - | Adds capability to use ``project`` scoped requests in concert with ``system`` scoped requests for a composite Role Based Access Control (RBAC) model. As Ironic is mainly an administrative service, this capability has only been extended to API endpoints which are not purely administrative in nature. This consists of the following API endpoints: nodes, ports, portgroups, volume connectors, volume targets, and allocations. - | Project ``scoped`` requests for baremetal allocations, will automatically record the ``project_id`` of the requestor as the ``owner`` of the node. deprecations: - > Pre-RBAC support rules have been deprecated. These consist of: * admin_api * is_member * is_observer * is_node_owner * is_node_lessee * is_allocation_owner These rules will likely be removed in the Xena development cycle. Operators are advised to review any custom policy rules for these rules and move to the `Secure Role Based Access Controls `_ model. issues: - | The addition of both ``project`` and ``system`` scoped Role Based Access controls does add additional database queries when linked resources are accessed. Example, when attempting to access a ``port`` or ``portgroup``, the associated node needs to be checked as this helps govern overall object access to the object for ``project`` scoped requests. This does not impact ``system`` scoped requests. Operators who adopt project scoped access may find it necessary to verify or add additional database indexes in relation to the node ``uuid`` column as well as ``node_id`` field in any table which may recieve heavy project query scope activity. The ``ironic`` project anticipates that this will be a future work item of the project to help improve database performance. upgrade: - | Legacy policy rules have been deprecated. Operators are advised to review and update any custom policy files in use. Please see `Secure Role Based Access Controls`_ for more information.