1. Делаешь эндпоинт для скачивания, проверяешь можно ли скачать и отдаешь
2. Использовать x-accel-redirect (рекомендую)
Если я хочу запретить доступ по ссылке к файлу на S3, я пробовал загружать файл с private параметром( Storage::disk('s3')->putFile($path, 'private') ) но файл остаеться доступным по ссылке. В этом случае мне нужно сделать bucket - private? но это немного странно, зачем тогда вообще параметр доступа)