I rarely done shaders but my guess is that its possible. Canvas layers are for ui im pretty sure.
I also found this tutorial on youtube: https://youtu.be/ctevHwoRl24 but I only just skimmed through it. I heard something about a godot demo shaders website at the end of the video which might help you out.
If you just can't figure out out , ask on Reddit, godot discord, and other forums for godot.
For last resort, u could make a tilemap with the shadows and just place them wherever you need. But that will be a very tedious process most likely.
Lastly, watch many shader tutorials and if u have already, watch them again. Get everything into the big brain of yours and dont forget, theres always an answer.
P.S if theres something else, ill edit my answer and stick it into here if i dont forget ofc.
I found another tutorial: https://youtu.be/ImLBM-NgnJY