Como gerenciar o acesso usando o IAM

Por padrão, somente proprietários e editores de projetos podem criar, atualizar, excluir ou invocar serviços, e somente proprietários de projetos e administradores do Cloud Run podem modificar as políticas de gerenciamento de identidade e acesso (IAM, na sigla em inglês), como tornar um serviço público. Saiba mais sobre os papéis do IAM do Cloud Run.

Para conceder a outros usuários ou grupos a capacidade de executar essas ações, use o IAM para conceder papéis a diferentes membros.

Como controlar o acesso em um serviço individual

Se você quiser controlar o acesso por serviço, será possível usar o IAM por serviço.

Como tornar um serviço público

IU do Console

  1. Acesse o Console do Google Cloud:

    Acessar o Console do Google Cloud

  2. Selecione o serviço que você quer tornar público.

  3. Clique em Mostrar painel de informações no canto superior direito para mostrar a guia Permissões.

  4. No campo Adicionar membros, allUsers

  5. Selecione o papel Chamador do Cloud Run no menu suspenso Selecionar um papel.

  6. Clique em Add.

gcloud

É possível tornar um serviço acessível publicamente adicionando o tipo de membro allUsers especial a um serviço e concedendo a ele o papel roles/run.invoker:

  gcloud run services add-iam-policy-binding [SERVICE_NAME] \
    --member="allUsers" \
    --role="roles/run.invoker"

Além disso, ao implantar o serviço com o comando gcloud run deploy, é possível especificar se o serviço será disponibilizado publicamente:

gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated

Ao criar um novo serviço, você será perguntado se quer "permitir acesso não autenticado". Responder "sim" realizará as ações acima para disponibilizar o serviço publicamente. Responder "não" deixará o serviço particular.

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. Recomendamos que você crie todos os projetos em uma pasta que não esteja sujeita a essa restrição e remova-a em projetos atuais.

Como adicionar usuários

IU do Console

  1. Acesse o Console do Google Cloud:

    Acessar o Console do Google Cloud

  2. Selecione o serviço ao qual você quer adicionar usuários.

  3. Clique em Mostrar painel de informações no canto superior direito para mostrar a guia Permissões.

  4. No campo Adicionar membros, insira uma ou mais identidades que precisam de acesso ao seu serviço.

  5. Escolha um ou mais papéis no menu suspenso Selecionar um papel. Os papéis selecionados são exibidos no painel com uma breve descrição das permissões que eles concedem.

  6. Clique em Add.

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 membro (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.

Como remover usuários

IU do Console

  1. Acesse o Console do Google Cloud:

    Acessar o Console do Google Cloud

  2. Selecione o serviço do qual você quer remover usuários.

  3. Clique em Mostrar painel de informações no canto superior direito para mostrar a guia Permissões.

  4. Procure o usuário que você quer remover ou expanda um papel do usuário.

  5. Clique na lixeira Excluir ao lado do tipo de membro dentro do papel para remover o papel do membro.

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 membro (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 usuários em massa

IU do Console

  1. Acesse o Console do Google Cloud:

    Acessar o Console do Google Cloud

  2. Selecione o serviço em que você quer adicionar ou remover usuários.

  3. Clique em Mostrar painel de informações no canto superior direito para mostrar a guia Permissões.

Se você quer adicionar usuários, siga estas etapas:

  1. No campo Adicionar membros, insira várias identidades que precisam de acesso ao seu serviço.

  2. Escolha um ou mais papéis no menu suspenso Selecionar um papel. Os papéis selecionados são exibidos no painel com uma breve descrição das permissões que eles concedem.

  3. Clique em Adicionar.

Se você quiser remover usuários:

  1. Procure o usuário que você quer remover ou expanda um papel do usuário.

  2. Clique na lixeira Excluir ao lado do tipo de membro dentro do papel para remover o papel do membro.

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.

Como ver usuários

IU do Console

  1. Acesse o Console do Google Cloud:

    Acessar o Console do Google Cloud

  2. Selecione o serviço em que você quer visualizar usuários e papéis.

  3. Clique em Mostrar painel de informações no canto superior direito para mostrar a guia Permissões.

  4. Todos os usuários serão exibidos, no grupo do papel concedido.

gcloud

Use o comando gcloud run services get-iam-policy:

gcloud run services get-iam-policy SERVICE_NAME

Como controlar o acesso em todos os serviços em um projeto

Se você quer conceder papéis aos membros em todos os serviços em um projeto, use o IAM no nível do projeto.

IU do Console

  1. Acesse o Console do Google Cloud:

    Acessar o Console do Google Cloud

  2. Encontre o usuário para quem você quer conceder um papel para todo o projeto.

  3. Clique no Lápis de edição no lado direito da linha do usuário.

  4. Clique em Adicionar outro papel e escolha aquele que você quer.

  5. 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 membro (por exemplo, user:email@domain.com) e ROLE é o papel (por exemplo, roles/run.admin).

A seguir

Saiba como autenticar desenvolvedores, serviços e usuários com segurança para os serviços que você acabou de proteger.