Employees log into the serverless application using an Amazon Cognito User Pool.
Once logged in, the application's back-end logic (possibly a Lambda function) generates an S3 pre-signed URL for the requested file.
The pre-signed URL is then given to the authenticated user, allowing them secure, time-limited access to that specific S3 object.
So, while both Amazon Cognito User Pool and S3 Pre-signed URLs would be used in the solution, S3 Pre-signed URLs (Option B) are the specific feature that allows for the secure, temporary sharing of S3 files.
Therefore, Option B would be the best answer to the question of how to "share and access the files securely."