Dei um aolhadinha aqui, e acredito que da sim pra você dar permissão de apenas leitura de forma publica, isso já resolveria o seu problema, não precisa fazer a assinatura.
Respondendo a "no r2 so tem como criar urls assinadas com expi..." dentro da publicação Como salvo imagens em um bucket e uso a url delas no frontend?
1