A file is opened by a running program, and that program has an account of its own. For the commands in your terminal, ps shows it.
Permission denied means the system found the file and refused to let it be read. The refusal applies to the running program: when you type cat summary.txt, the shell starts the cat program. A running program is a process: it has a number, memory, and a record of which user it runs as.
File access is checked by the kernel, the program that manages memory, processes, and disks. It compares the process's record with the file's properties and decides whether to let it in. The kernel has no idea who sits at the keyboard.
"Which user" means a user account: a record with a user name, home directory, shell, and groups. Programs that work in the background have accounts too: a web server or a database usually starts under an account of its own, so it reaches its own data and nothing more.
Check which user the processes in your terminal run as.
Your terminal's processes
Run ps -o user,pid,comm: in this form ps lists your terminal's processes, each with its user, number, and program name.
First, predict
Which user will ps run as when you start it from your shell?
Now start the exercise, run the command and compare your prediction with the output.