Você pode deixar o arquivo publico com permissão apenas de visualização com isso já daria pra acessar, outra coisa que poderia fazer é criar uma url. Não usei o r2 ainda, mas em outros buckets isso é relativamente tranquilo.
Respondendo a "Onde você está hospedando?" dentro da publicação Como salvo imagens em um bucket e uso a url delas no frontend?
0
1
no r2 so tem como criar urls assinadas com expiração de 7 dias, acho melhor deixar dados publicos como foto de produtos publicos mesmo e caso tenha algum documento sensivel ai sim criar um algoritimo que retorne a url assinada