diff --git a/core/modules/config/src/Tests/ConfigDependencyWebTest.php b/core/modules/config/src/Tests/ConfigDependencyWebTest.php
index 8fe2c912ea19822c08c774bc421fab5158107e42..24d2a1544b35092927926850ad36ccf60d74608e 100644
--- a/core/modules/config/src/Tests/ConfigDependencyWebTest.php
+++ b/core/modules/config/src/Tests/ConfigDependencyWebTest.php
@@ -35,6 +35,8 @@ class ConfigDependencyWebTest extends WebTestBase {
    * @see \Drupal\Core\Config\Entity\ConfigDependencyDeleteFormTrait
    */
   function testConfigDependencyDeleteFormTrait() {
+    $this->drupalLogin($this->drupalCreateUser(['administer site configuration']));
+
     /** @var \Drupal\Core\Config\Entity\ConfigEntityStorage $storage */
     $storage = $this->container->get('entity.manager')->getStorage('config_test');
     // Entity1 will be deleted by the test.
diff --git a/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php b/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php
index 6f3d8e6e064bad5a039857dd7d41a0da356a29c8..a07da59ed3c30684ee5ae471935c90674b4891b8 100644
--- a/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityFormOverrideTest.php
@@ -25,6 +25,8 @@ class ConfigEntityFormOverrideTest extends WebTestBase {
    * Tests that overrides do not affect forms or listing screens.
    */
   public function testFormsWithOverrides() {
+    $this->drupalLogin($this->drupalCreateUser(['administer site configuration']));
+
     $original_label = 'Default';
     $overridden_label = 'Overridden label';
     $edited_label = 'Edited label';
diff --git a/core/modules/config/src/Tests/ConfigEntityListTest.php b/core/modules/config/src/Tests/ConfigEntityListTest.php
index 9287174cdcbd43a6e79b7257edfd816b8f4b693d..73571ce00554e3a5f09e862cd1f245a317381c6f 100644
--- a/core/modules/config/src/Tests/ConfigEntityListTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityListTest.php
@@ -153,7 +153,7 @@ function testList() {
    */
   function testListUI() {
     // Log in as an administrative user to access the full menu trail.
-    $this->drupalLogin($this->drupalCreateUser(array('access administration pages')));
+    $this->drupalLogin($this->drupalCreateUser(array('access administration pages', 'administer site configuration')));
 
     // Get the list callback page.
     $this->drupalGet('admin/structure/config_test');
@@ -251,6 +251,8 @@ function testListUI() {
    * Test paging.
    */
   public function testPager() {
+    $this->drupalLogin($this->drupalCreateUser(['administer site configuration']));
+
     $storage = \Drupal::entityManager()->getListBuilder('config_test')->getStorage();
 
     // Create 51 test entities.
diff --git a/core/modules/config/src/Tests/ConfigEntityStatusUITest.php b/core/modules/config/src/Tests/ConfigEntityStatusUITest.php
index 7f7a29d386c861025a3338badacf5eea6a5f3ef4..87ad9a1b2df021de52a7939dacf1efcb4c10dbca 100644
--- a/core/modules/config/src/Tests/ConfigEntityStatusUITest.php
+++ b/core/modules/config/src/Tests/ConfigEntityStatusUITest.php
@@ -28,6 +28,8 @@ class ConfigEntityStatusUITest extends WebTestBase {
    * Tests status operations.
    */
   function testCRUD() {
+    $this->drupalLogin($this->drupalCreateUser(['administer site configuration']));
+
     $id = strtolower($this->randomMachineName());
     $edit = array(
       'id' => $id,
diff --git a/core/modules/config/src/Tests/ConfigEntityTest.php b/core/modules/config/src/Tests/ConfigEntityTest.php
index cdf9189ff8d971be49f2744e038141761bdba055..899ddd401f7565e83c670cfabf06a3bff577f8c3 100644
--- a/core/modules/config/src/Tests/ConfigEntityTest.php
+++ b/core/modules/config/src/Tests/ConfigEntityTest.php
@@ -235,6 +235,8 @@ function testCRUD() {
    * Tests CRUD operations through the UI.
    */
   function testCRUDUI() {
+    $this->drupalLogin($this->drupalCreateUser(['administer site configuration']));
+
     $id = strtolower($this->randomMachineName());
     $label1 = $this->randomMachineName();
     $label2 = $this->randomMachineName();
diff --git a/core/modules/config/src/Tests/SchemaConfigListenerWebTest.php b/core/modules/config/src/Tests/SchemaConfigListenerWebTest.php
index 1677214bf5180d8b06bbb9fc73fee210e1b9d51c..65ca4c34cfb6b8c6616a6c88ca893bc2584afab1 100644
--- a/core/modules/config/src/Tests/SchemaConfigListenerWebTest.php
+++ b/core/modules/config/src/Tests/SchemaConfigListenerWebTest.php
@@ -28,6 +28,8 @@ class SchemaConfigListenerWebTest extends WebTestBase {
    * Tests \Drupal\Core\Config\Testing\ConfigSchemaChecker.
    */
   public function testConfigSchemaChecker() {
+    $this->drupalLogin($this->drupalCreateUser(['administer site configuration']));
+
     // Test a non-existing schema.
     $msg = 'Expected SchemaIncompleteException thrown';
     try {
diff --git a/core/modules/config/tests/config_test/config_test.routing.yml b/core/modules/config/tests/config_test/config_test.routing.yml
index 569b601cecac25ef2c49eb58d4d469882e58bfff..4761ecfea382c18f4c8f697827d4439071e9b233 100644
--- a/core/modules/config/tests/config_test/config_test.routing.yml
+++ b/core/modules/config/tests/config_test/config_test.routing.yml
@@ -4,14 +4,14 @@ entity.config_test.collection:
     _entity_list: 'config_test'
     _title: 'Test configuration'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 config_test.entity_add:
   path: '/admin/structure/config_test/add'
   defaults:
     _entity_form: 'config_test'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 entity.config_test.edit_form:
   path: '/admin/structure/config_test/manage/{config_test}'
@@ -19,7 +19,7 @@ entity.config_test.edit_form:
     _entity_form: config_test
     _title_callback: '\Drupal\config_test\ConfigTestController::editTitle'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 entity.config_test.edit_form_config_test_no_status:
   path: '/admin/structure/config_test/manage/{config_test_no_status}'
@@ -27,7 +27,7 @@ entity.config_test.edit_form_config_test_no_status:
     _entity_form: config_test_no_status
     _title_callback: '\Drupal\config_test\ConfigTestController::editTitle'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 entity.config_test.enable:
   path: '/admin/structure/config_test/manage/{config_test}/enable'
@@ -35,7 +35,7 @@ entity.config_test.enable:
     _controller: '\Drupal\config_test\ConfigTestController::enable'
     entity_type: 'config_test'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 entity.config_test.disable:
   path: '/admin/structure/config_test/manage/{config_test}/disable'
@@ -43,25 +43,25 @@ entity.config_test.disable:
     _controller: '\Drupal\config_test\ConfigTestController::disable'
     entity_type: 'config_test'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 entity.config_test.delete_form:
   path: '/admin/structure/config_test/manage/{config_test}/delete'
   defaults:
     _entity_form: 'config_test.delete'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 entity.config_test.delete_form_config_test_no_status:
   path: '/admin/structure/config_test/manage/{config_test_no_status}/delete'
   defaults:
     _entity_form: 'config_test_no_status.delete'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'
 
 config_test.schema_listener:
   path: '/config_test/schema_listener'
   defaults:
     _controller: '\Drupal\config_test\SchemaListenerController::test'
   requirements:
-    _access: 'TRUE'
+    _permission: 'administer site configuration'