Essa opção é para um serviço do Cloud Run que é uma API pública ou um site.
.É possível permitir chamadas não autenticadas a um serviço atribuindo o papel de invocador do Cloud Run do IAM
ao tipo de membro allUsers
.
É preciso ter a permissão run.services.setIamPolicy
para configurar a autenticação
em um serviço do Cloud Run. Essa permissão está incluída nos papéis Proprietário e
Administrador do Cloud Run. Veja a lista completa de papéis e permissões associadas em
Papéis do IAM do Cloud Run.
IU do Console
Para um serviço do Cloud Run existente:
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do serviço que você quer tornar público. (Não clique no próprio serviço.)
No painel de informações no canto superior direito, clique na guia Permissões. Se o painel de informações não estiver visível, clique em Mostrar painel de informações e Permissões.
Clique em Adicionar principal.
No campo Novos participantes, insira o valor allUsers
.
No menu suspenso Papel, selecione o papel Invocador do Cloud Run.
Clique em Salvar.
Você precisa selecionar uma opção para tornar esse recurso público. Clique em Permitir acesso público para aplicar a alteração às configurações do IAM do serviço.
Para um novo serviço que você está criando, crie o serviço mas selecione Permitir invocações não autenticadas na guia Autenticação para disponibilizar o serviço publicamente. A opção Exigir autenticação vai tornar o serviço particular.
gcloud
Para tornar um serviço acessível publicamente, use o comando gcloud run services
para adicionar o tipo de membro allUsers
especial a um serviço e conceder a ele o papel roles/run.invoker
:
gcloud run services add-iam-policy-binding [SERVICE_NAME] \ --member="allUsers" \ --role="roles/run.invoker"
Executar o comando gcloud run deploy
para tornar seu serviço acessível publicamente ao implantá-lo:
gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated
YAML
Crie um arquivo chamado policy.yaml
com o conteúdo a seguir:
bindings:
- members:
- allUsers
role: roles/run.invoker
Permitir invocações não autenticadas para o SERVICE existente usando:
gcloud run services set-iam-policy SERVICE policy.yaml
Terraform
Para criar um serviço do Cloud Run, adicione o estas informações ao seu arquivo main.tf
atual:
Para atualizar a vinculação do IAM do serviço para roles/run.invoker
, adicione o seguinte recurso que faz referência ao serviço do Cloud Run:
Essa vinculação só é autoritativa para o papel especificado. Outras vinculações do IAM na política de IAM do serviço são preservadas.
Compartilhamento restrito de domínio
Se o projeto estiver sujeito à restrição de compartilhamento restrito de domínio em uma política da organização, não será possível criar serviços públicos por padrão. É possível usar tags e política condicional para isentar serviços específicos dessa restrição. Para mais detalhes, consulte a postagem do blog sobre como criar serviços públicos do Cloud Run quando o compartilhamento restrito de domínio for aplicado.