diff --git a/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php b/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php
index c8f09c54c71fa29b3b7f736498f9636ecbea973a..800d40af8a0aafe80556e9b46f917a17bc461b43 100644
--- a/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php
+++ b/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php
@@ -32,14 +32,6 @@ class PathWorkspacesTest extends BrowserTestBase {
     'workspaces',
   ];
 
-  /**
-   * {@inheritdoc}
-   *
-   * @todo Remove and fix test to not rely on super user.
-   * @see https://www.drupal.org/project/drupal/issues/3437620
-   */
-  protected bool $usesSuperUserAccessPolicy = TRUE;
-
   /**
    * {@inheritdoc}
    */
@@ -60,7 +52,17 @@ protected function setUp(): void {
       'type' => 'article',
     ]);
 
-    $this->drupalLogin($this->rootUser);
+    $permissions = [
+      'administer languages',
+      'administer nodes',
+      'administer url aliases',
+      'administer workspaces',
+      'create article content',
+      'create content translations',
+      'edit any article content',
+      'translate any entity',
+    ];
+    $this->drupalLogin($this->drupalCreateUser($permissions));
 
     // Enable URL language detection and selection.
     $edit = ['language_interface[enabled][language-url]' => 1];
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php
index f8767de56adc50cd9104ab540b0b8b74d88e4022..a4c492c6f722f9857348269afef4123171f94dcd 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php
@@ -35,14 +35,6 @@ class WorkspaceTest extends BrowserTestBase {
     'workspaces',
   ];
 
-  /**
-   * {@inheritdoc}
-   *
-   * @todo Remove and fix test to not rely on super user.
-   * @see https://www.drupal.org/project/drupal/issues/3437620
-   */
-  protected bool $usesSuperUserAccessPolicy = TRUE;
-
   /**
    * {@inheritdoc}
    */
@@ -178,15 +170,20 @@ public function testWorkspaceFormRevisions() {
 
   /**
    * Tests the manage workspace page.
-   *
-   * @group failing
    */
   public function testWorkspaceManagePage() {
-    $this->drupalLogin($this->rootUser);
+    $this->drupalCreateContentType(['type' => 'test', 'label' => 'Test']);
+
+    $permissions = [
+      'administer taxonomy',
+      'administer workspaces',
+      'create test content',
+      'delete any test content',
+    ];
+    $this->drupalLogin($this->drupalCreateUser($permissions));
     $this->setupWorkspaceSwitcherBlock();
     $assert_session = $this->assertSession();
 
-    $this->drupalCreateContentType(['type' => 'test', 'label' => 'Test']);
     $vocabulary = $this->createVocabulary();
 
     $test_1 = $this->createWorkspaceThroughUi('Test 1', 'test_1');
@@ -258,7 +255,12 @@ public function testDeleteWorkspaceWithExistingContent() {
     $this->createContentType(['type' => 'test', 'label' => 'Test']);
 
     // Login and create a workspace.
-    $this->drupalLogin($this->rootUser);
+    $permissions = [
+      'administer workspaces',
+      'create test content',
+      'delete any test content',
+    ];
+    $this->drupalLogin($this->drupalCreateUser($permissions));
     $this->createAndActivateWorkspaceThroughUi('May 4', 'may_4');
 
     // Create a node in the workspace.
@@ -323,7 +325,11 @@ public function testWorkspaceList() {
    */
   public function testPublishWorkspace() {
     $this->createContentType(['type' => 'test', 'label' => 'Test']);
-    $this->drupalLogin($this->rootUser);
+    $permissions = [
+      'administer workspaces',
+      'create test content',
+    ];
+    $this->drupalLogin($this->drupalCreateUser($permissions));
 
     $this->drupalGet('/admin/config/workflow/workspaces/add');
     $this->submitForm([
@@ -340,7 +346,7 @@ public function testPublishWorkspace() {
     $this->assertSession()->pageTextContains('There are no changes that can be published from Test workspace to Live.');
 
     // Create a node in the workspace.
-    $node = $this->createNodeThroughUi('Test node', 'test');
+    $this->createNodeThroughUi('Test node', 'test');
 
     $this->drupalGet('/admin/config/workflow/workspaces/manage/test_workspace/publish');
     $this->assertSession()->statusCodeEquals(200);
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php b/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php
index 36e0039ebde3680ec99c4664b984e4d57fd1c89a..3d7c35731992b47f68c42db67396fb7bcd09dfd8 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php
@@ -22,23 +22,27 @@ class WorkspacesUninstallTest extends BrowserTestBase {
 
   /**
    * {@inheritdoc}
-   *
-   * @todo Remove and fix test to not rely on super user.
-   * @see https://www.drupal.org/project/drupal/issues/3437620
    */
-  protected bool $usesSuperUserAccessPolicy = TRUE;
+  protected $defaultTheme = 'stark';
 
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'stark';
+  protected function setUp(): void {
+    parent::setUp();
+    $permissions = [
+      'administer workspaces',
+      'administer modules',
+    ];
+
+    $this->drupalLogin($this->drupalCreateUser($permissions));
+  }
 
   /**
    * Tests deleting workspace entities and uninstalling Workspaces module.
    */
   public function testUninstallingWorkspace() {
     $this->createContentType(['type' => 'article']);
-    $this->drupalLogin($this->rootUser);
     $this->drupalGet('/admin/modules/uninstall');
     $session = $this->assertSession();
     $session->linkExists('Remove workspaces');