diff --git a/ansible/roles/ironic/templates/ironic.conf.j2 b/ansible/roles/ironic/templates/ironic.conf.j2
index 9f0dc42c2db86460cf9acc9ae2654b5c4b952749..109f917ee24a8ca7e55a83d9b96dfd88a498767a 100644
--- a/ansible/roles/ironic/templates/ironic.conf.j2
+++ b/ansible/roles/ironic/templates/ironic.conf.j2
@@ -18,6 +18,8 @@ my_ip = {{ api_interface_address }}
 notification_level = info
 {% endif %}
 
+rbac_service_role_elevated_access = True
+
 [oslo_messaging_notifications]
 transport_url = {{ notify_transport_url }}
 {% if ironic_enabled_notification_topics or enable_ironic_prometheus_exporter | bool %}
diff --git a/releasenotes/notes/ironic-rbac-elevated-6804dab4061ab236.yaml b/releasenotes/notes/ironic-rbac-elevated-6804dab4061ab236.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7a34074aa1c1f133e5f14efd8f8696ef18924e6c
--- /dev/null
+++ b/releasenotes/notes/ironic-rbac-elevated-6804dab4061ab236.yaml
@@ -0,0 +1,12 @@
+---
+features:
+  - |
+    Enable elevated access for project scoped service role
+    in Ironic.  Ironic recently started to enforce new policies
+    and scope. And Ironic is one of the sole openstack project
+    which need system scope for some admin related api calls.
+    However Ironic also started to allow project-scope behaviour
+    for service role with setting
+    ``rbac_service_role_elevated_access``. This change enables
+    this setting to get similar behaviour of service role as other
+    openstack projects.