На уровне ограничения прямого доступа к файлам никак!
Пишите решение в своем коде с отдачей файлов из PHP.
Как вариант еще вместо обычного числового id использовать уникальный независимый uuid, но доступ останется все равно прямой, но уже не так просто вычислить его.
Вам же нужно использовать Temporary URLs, тем более что Laravel это умеет из коробки
Ну и не забудьте что файлы класть в хранилище без пометки public