diff --git a/app/controllers/dashboard/milestones_controller.rb b/app/controllers/dashboard/milestones_controller.rb
index 7051652d109341a2576a73926797c4854cce791a..7f506db583f5d36f3a5cafa5241c6e9b793ca0c1 100644
--- a/app/controllers/dashboard/milestones_controller.rb
+++ b/app/controllers/dashboard/milestones_controller.rb
@@ -19,11 +19,11 @@ class Dashboard::MilestonesController < Dashboard::ApplicationController
   private
 
   def milestones
-    @milestones = GlobalMilestone.build_collection(@projects, params)
+    @milestones = DashboardMilestone.build_collection(@projects, params)
   end
 
   def milestone
-    @milestone = GlobalMilestone.build(@projects, params[:title])
+    @milestone = DashboardMilestone.build(@projects, params[:title])
     render_404 unless @milestone
   end
 end
diff --git a/app/models/dashboard_milestone.rb b/app/models/dashboard_milestone.rb
new file mode 100644
index 0000000000000000000000000000000000000000..646c1e5ce1a364a5c17138f4384d37dd1e02961d
--- /dev/null
+++ b/app/models/dashboard_milestone.rb
@@ -0,0 +1,5 @@
+class DashboardMilestone < GlobalMilestone
+  def issues_finder_params
+    { authorized_only: true }
+  end
+end
diff --git a/changelogs/unreleased/speed-up-dashboard-milestone-index.yml b/changelogs/unreleased/speed-up-dashboard-milestone-index.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ba4ff931ea8007d12d39ad7edd45050cbdea5c2b
--- /dev/null
+++ b/changelogs/unreleased/speed-up-dashboard-milestone-index.yml
@@ -0,0 +1,5 @@
+---
+title: Speed up dashboard milestone index by scoping IssuesFinder to user authorized
+  projects
+merge_request: 8524
+author: