diff --git a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldValueValidator.php b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldValueValidator.php
index d2b1741a3a087b04850a205ada5e7cbb046e3b31..8adbd57f4f12a61159038729b0a0d7385723ecf7 100644
--- a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldValueValidator.php
+++ b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldValueValidator.php
@@ -25,6 +25,9 @@ public function validate($items, Constraint $constraint) {
 
     $query = \Drupal::entityQuery($entity_type_id);
 
+    // @todo Don't check access. http://www.drupal.org/node/3171047
+    $query->accessCheck(TRUE);
+
     $entity_id = $entity->id();
     // Using isset() instead of !empty() as 0 and '0' are valid ID values for
     // entity types using string IDs.
diff --git a/core/modules/migrate/src/Plugin/migrate/process/MakeUniqueEntityField.php b/core/modules/migrate/src/Plugin/migrate/process/MakeUniqueEntityField.php
index 10b8dcc3b84a54d1ca3ef8e5cacadb056a1838a5..4b86fd32a45f586605b1297cada4a5284ecd17cf 100644
--- a/core/modules/migrate/src/Plugin/migrate/process/MakeUniqueEntityField.php
+++ b/core/modules/migrate/src/Plugin/migrate/process/MakeUniqueEntityField.php
@@ -128,6 +128,7 @@ protected function exists($value) {
       ->entityTypeManager
       ->getStorage($this->configuration['entity_type'])
       ->getQuery()
+      ->accessCheck(FALSE)
       ->condition($this->configuration['field'], $value);
     if (!empty($this->configuration['migrated'])) {
       // Check if each entity is in the ID map.
diff --git a/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php b/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php
index 2b9b1c33e873c83aa6144f92db147c50e6310bc0..9b269d9bf3d284711bca3089f5feed358a46d7ba 100644
--- a/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php
+++ b/core/modules/migrate/tests/src/Unit/process/MakeUniqueEntityFieldTest.php
@@ -43,6 +43,9 @@ protected function setUp(): void {
     $this->entityQuery = $this->getMockBuilder('Drupal\Core\Entity\Query\QueryInterface')
       ->disableOriginalConstructor()
       ->getMock();
+    $this->entityQuery->expects($this->any())
+      ->method('accessCheck')
+      ->will($this->returnSelf());
     $this->entityTypeManager = $this->createMock(EntityTypeManagerInterface::class);
 
     $storage = $this->createMock(EntityStorageInterface::class);
@@ -189,6 +192,7 @@ public function testMakeUniqueEntityFieldMigrated() {
     foreach (['forums', 'test_vocab', 'test_vocab1'] as $id) {
       $query = $this->prophesize(QueryInterface::class);
       $query->willBeConstructedWith([]);
+      $query->accessCheck()->willReturn($query);
       $query->execute()->willReturn($id === 'test_vocab1' ? [] : [$id]);
       $map[] = ['test_field', $id, NULL, NULL, $query->reveal()];
     }