Por padrão, somente editores e proprietários dos projetos podem criar, atualizar, excluir ou invocar serviços e jobs, e somente proprietários dos projetos e administradores do Cloud Run podem modificar as políticas do Identity and Access Management (IAM), por exemplo, para tornar um serviço público. Consulte Papéis do IAM do Cloud Run para mais detalhes.
Para conceder a outros usuários ou grupos a capacidade de executar essas ações, use o IAM para conceder papéis a diferentes principais.
Papéis predefinidos do Cloud Run
Em comparação com os papéis básicos (Proprietário, Editor e Leitor), os seguintes papéis predefinidos têm controle de acesso mais refinado para acessar os recursos do Cloud Run:
Papel | Descrição |
---|---|
Administrador do Cloud Run (roles/run.admin ) |
Pode criar, atualizar e excluir serviços e jobs, além de acessar, listar e excluir execuções de jobs. Pode invocar serviços e jobs e cancelar execuções de jobs. Pode acessar e definir políticas do IAM. Pode ver, aplicar e dispensar recomendações. Requer configuração adicional para implantar serviços. |
Desenvolvedor do Cloud Run (roles/run.developer ) |
Pode criar, atualizar e excluir serviços e jobs, além de acessar, listar e excluir execuções de jobs. Pode receber, mas não definir políticas do IAM. Pode ver, aplicar e dispensar recomendações. |
Leitor do Cloud Run (roles/run.viewer ) |
Pode ver serviços, jobs e execuções de jobs. Pode acessar políticas do IAM. Pode ver recomendações. |
Chamador do Cloud Run (roles/run.invoker ) |
Pode invocar serviços e jobs e cancelar execuções de jobs. |
Controlar o acesso em um serviço ou job individual
É possível controlar o acesso por serviço ou por job usando o IAM.
Tornar um serviço público
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.
Na caixa de texto Novos principais, 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"
Outra possibilidade é 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.
Adicionar principais
É possível adicionar principais a um job ou serviço.
Adicionar principais a um serviço
Para adicionar principais a um serviço:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do serviço em que você quer adicionar principais. (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.
Na caixa de texto Novos participantes, insira uma ou mais identidades que precisam de acesso ao seu serviço.
No menu suspenso Papel, selecione um ou mais papéis. Os papéis selecionados serão exibidos no painel com uma breve descrição das permissões concedidas.
Clique em Salvar.
gcloud
Use o comando gcloud run services add-iam-policy-binding
:
gcloud run services add-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
em que SERVICE_NAME
é o nome do serviço,
MEMBER_TYPE
é o tipo de participante
(por exemplo, user:email@domain.com
) e ROLE
é o papel.
Veja uma lista de valores aceitáveis para MEMBER_TYPE
na
página de conceitos do IAM.
Veja uma lista de valores aceitáveis para ROLE
em
Papéis do IAM do Cloud Run.
Adicionar principais a um job
Para adicionar principais a um job:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do job a que você quer adicionar principais. (Não clique no job em si.)
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.
Na caixa de texto Novos principais, insira uma ou mais identidades que precisam de acesso ao seu job.
No menu suspenso Papel, selecione um ou mais papéis. Os papéis selecionados serão exibidos no painel com uma breve descrição das permissões concedidas.
Clique em Salvar.
gcloud
Use o comando gcloud run jobs add-iam-policy-binding
:
gcloud run jobs add-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
em que JOB_NAME
é o nome do job, MEMBER_TYPE
é o tipo de principal (por exemplo, user:email@domain.com
), e ROLE
é o papel.
Veja uma lista de valores aceitáveis para MEMBER_TYPE
na
página de conceitos do IAM.
Veja uma lista de valores aceitáveis para ROLE
em
Papéis do IAM do Cloud Run.
Remover participantes de um papel
É possível remover principais de um serviço ou job.
Remover principais de um papel em um serviço
Para remover principais de um papel em um serviço:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do serviço de que você quer remover principais. (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.
Insira o participante que você quer remover no filtro da lista de papéis, que exibe todos os papéis concedidos a esse principal.
Clique na lixeira para excluir ao lado do principal no papel desejado para remover esse papel do principal.
Na caixa de diálogo de confirmação, você tem a opção de remover esse principal de todos os papéis no serviço. Clique em Remover para remover a principal do papel.
gcloud
Use o comando gcloud run services remove-iam-policy-binding
:
gcloud run services remove-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
em que SERVICE_NAME
é o nome do serviço,
MEMBER_TYPE
é o tipo de participante
(por exemplo, user:email@domain.com
) e ROLE
é o papel.
Veja uma lista de valores aceitáveis para MEMBER_TYPE
na
página de conceitos do IAM.
Veja uma lista de valores aceitáveis para ROLE
em
Papéis do IAM do Cloud Run.
Remover principais de um papel em um job
Para remover principais de um papel em um job:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do job a que você quer adicionar principais. (Não clique no job em si.)
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.
Insira o participante que você quer remover no filtro da lista de papéis, que exibe todos os papéis concedidos a esse principal.
Clique na lixeira para excluir ao lado do principal no papel desejado para remover esse papel do principal.
Na caixa de diálogo de confirmação, você tem a opção de remover esse principal de todos os papéis no job. Clique em Remover para remover a principal do papel.
gcloud
Use o comando gcloud run jobs remove-iam-policy-binding
:
gcloud run jobs remove-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
em que JOB_NAME
é o nome do job, MEMBER_TYPE
é o tipo de principal (por exemplo, user:email@domain.com
), e ROLE
é o papel.
Veja uma lista de valores aceitáveis para MEMBER_TYPE
na
página de conceitos do IAM.
Veja uma lista de valores aceitáveis para ROLE
em
Papéis do IAM do Cloud Run.
Adição ou remoção de principais em massa
É possível adicionar ou remover itens em massa para serviços e jobs.
Adição e remoção em massa de principais em serviços
Para adicionar ou remover itens em massa em um serviço:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do serviço em que você quer adicionar ou remover principais. (Não clique no próprio serviço.)
Selecione o serviço em que você quer adicionar ou remover participantes.
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.
Se você quiser adicionar principais:
Clique em Adicionar principal.
Na caixa de texto Novos participantes, insira uma ou mais identidades que precisam de acesso ao seu serviço.
No menu suspenso Papel, selecione um ou mais papéis. Os papéis selecionados serão exibidos no painel com uma breve descrição das permissões concedidas.
Clique em Salvar.
Se você quiser remover os principais:
Insira o participante que você quer remover no filtro da lista de papéis, que exibe todos os papéis concedidos a esse principal.
Clique na lixeira para excluir ao lado do principal no papel desejado para remover esse papel do principal.
Na caixa de diálogo de confirmação, você tem a opção de remover esse principal de todos os papéis no serviço. Clique em Remover para remover a principal do papel.
gcloud
Crie uma política do IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } EOF
Use o comando gcloud run services set-iam-policy
:
gcloud run services set-iam-policy SERVICE_NAME policy.json
Veja uma lista de valores aceitáveis para MEMBER_TYPE
na
página de conceitos do IAM.
Veja uma lista de valores aceitáveis para ROLE
em
Papéis do IAM do Cloud Run.
Adição e remoção em massa de principais em jobs
Para fazer uma adição ou remoção em massa em um job:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do job a que você quer adicionar principais. (Não clique no job em si.)
Selecione o job em que você quer adicionar ou remover principais.
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.
Se você quiser adicionar principais:
Clique em Adicionar principal.
Na caixa de texto Novos participantes, insira uma ou mais identidades que precisam de acesso ao seu serviço.
No menu suspenso Papel, selecione um ou mais papéis. Os papéis selecionados serão exibidos no painel com uma breve descrição das permissões concedidas.
Clique em Salvar.
Se você quiser remover os principais:
Insira o participante que você quer remover no filtro da lista de papéis, que exibe todos os papéis concedidos a esse principal.
Clique na lixeira para excluir ao lado do principal no papel desejado para remover esse papel do principal.
Na caixa de diálogo de confirmação, você tem a opção de remover esse principal de todos os papéis no job. Clique em Remover para remover a principal do papel.
gcloud
Crie uma política do IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } EOF
Use o comando gcloud run jobs set-iam-policy
:
gcloud run jobs set-iam-policy JOB_NAME policy.json
Veja uma lista de valores aceitáveis para MEMBER_TYPE
na
página de conceitos do IAM.
Veja uma lista de valores aceitáveis para ROLE
em
Papéis do IAM do Cloud Run.
Ver participantes
É possível ver os principais de serviços e jobs.
Ver principais em um serviço
Para ver os principais de um serviço:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do serviço que você quer ver para principais e papéis. (Não clique no próprio serviço.)
Selecione o serviço que você quer ver para participantes e papéis.
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.
A lista de papéis e os principais serão mostrados, agrupados por papel concedido.
gcloud
Use o comando gcloud run services get-iam-policy
:
gcloud run services get-iam-policy SERVICE_NAME
Ver principais em um job
Para ver os principais de um job:
IU do Console
Acesse o Console do Google Cloud:
Clique na caixa de seleção à esquerda do job a que você quer adicionar principais. (Não clique no job em si.)
Selecione o job de que você quer ver os principais e papéis.
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.
A lista de papéis e os principais serão mostrados, agrupados por papel concedido.
gcloud
Use o comando gcloud run jobs get-iam-policy
:
gcloud run jobs get-iam-policy JOB_NAME
Controlar acesso em todos os serviços e jobs em um projeto
Se você quiser conceder papéis a principais em todos os serviços e jobs em um projeto, use o IAM para envolvidos no projeto.
IU do Console
Acesse o Console do Google Cloud:
Encontre o participante para quem você quer conceder um papel para todo o projeto.
Clique no Lápis de edição no lado direito da linha do participante.
Clique em Adicionar outro papel e escolha aquele que você quer.
Clique em Salvar.
gcloud
Use o comando gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER_TYPE \ --role=ROLE
em que MEMBER_TYPE
é o tipo de participante
(por exemplo, user:email@domain.com
) e ROLE
é o
papel (por exemplo, roles/run.admin
).
Os tipos de participantes allUsers
e allAuthenticatedUsers
não podem ser aplicados
no nível do projeto e, em vez disso, precisam ser adicionados a cada serviço individualmente.
Próximas etapas
Saiba como autenticar desenvolvedores, serviços e usuários com segurança para os serviços que você acabou de proteger.