Controle de acesso com o IAM

Este documento descreve as opções de controle de acesso do Pub/Sub Lite. O Pub/Sub Lite usa o Identity and Access Management para controle de acesso.

Para conceder a um usuário ou aplicativo acesso aos recursos do Pub/Sub Lite, conceda pelo menos um papel predefinido ou personalizado ao usuário ou à conta de serviço que o aplicativo usa. Os papéis incluem permissões para executar ações específicas em recursos do Pub/Sub Lite.

Papéis predefinidos

A tabela a seguir lista os papéis predefinidos que oferecem acesso aos recursos do Pub/Sub Lite:

Papel Nome Descrição Permissões
roles/pubsublite.admin Administrador do Pub/Sub Lite Acesso total a tópicos e assinaturas do Lite. pubsublite.*
roles/pubsublite.editor Editor do Pub/Sub Lite Modifique tópicos e assinaturas do Lite, publique mensagens em tópicos e receba mensagens de assinaturas do Lite. pubsublite.*
roles/pubsublite.publisher Publicador do Pub/Sub Lite Publique mensagens em tópicos do Lite.
  • pubsublite.topics.getPartitions
  • pubsublite.topics.publish
  • pubsublite.locations.openKafkaStream
  • roles/pubsublite.subscriber Assinante do Pub/Sub Lite Receba mensagens de assinaturas do Lite.
    • pubsublite.operations.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.seek
    • pubsublite.subscriptions.setCursor
    • pubsublite.subscriptions.subscribe
    • pubsublite.topics.computeHeadCursor
    • pubsublite.topics.computeMessageStats
    • pubsublite.topics.computeTimeCursor
    • pubsublite.topics.getPartitions
    • pubsublite.topics.subscribe
    • pubsublite.locations.openKafkaStream
    roles/pubsublite.viewer Leitor do Pub/Sub Lite Veja tópicos e assinaturas do Lite.
    • pubsublite.operations.get
    • pubsublite.operations.list
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.list
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions

    papéis personalizados

    Os papéis personalizados podem incluir qualquer permissão especificada por você. É possível criar papéis personalizados que incluam permissões para executar operações administrativas específicas, como atualizar tópicos ou excluir assinaturas do Lite. Para criar papéis personalizados, consulte Como criar e gerenciar papéis personalizados.

    A tabela a seguir lista exemplos de papéis personalizados:

    Descrição Permissões
    Criar e gerenciar reservas do Lite.
    • pubsublite.reservations.create
    • pubsublite.reservations.update
    • pubsublite.reservations.get
    • pubsublite.reservations.list
    • pubsublite.reservations.delete
    Criar e gerenciar tópicos do Lite.
    • pubsublite.topics.create
    • pubsublite.topics.update
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions
    • pubsublite.topics.delete
    Criar e gerenciar assinaturas do Lite.
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    • pubsublite.subscriptions.update
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.list
    • pubsublite.subscriptions.delete
    Criar tópicos e assinaturas do Lite.
    • pubsublite.topics.create
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    Modificar tópicos e assinaturas do Lite.
    • pubsublite.topics.update
    • pubsublite.subscriptions.update
    Excluir tópicos e assinaturas do Lite.
    • pubsublite.topics.delete
    • pubsublite.subscriptions.delete

    Atribuição de papéis

    É possível conceder papéis para acessar recursos do Pub/Sub Lite no nível do projeto. Por exemplo, é possível conceder acesso a uma conta de serviço para visualizar qualquer tópico do Lite em um projeto, mas não a uma conta de serviço para ver um único tópico do Lite.

    Para conceder um papel em um projeto, use o console do Google Cloud ou a Google Cloud CLI.

    Console

    Para conceder um papel a um usuário, conta de serviço ou outro membro, siga estas etapas:

    1. No console do Google Cloud, abra a página IAM.

    Acessar IAM

    1. Clique em Add.

    2. Digite o endereço de e-mail de um usuário, conta de serviço ou outro membro.

    3. Selecione um papel.

    4. Clique em Save.

    gcloud

    Para conceder um papel a um usuário, conta de serviço ou outro membro, execute o comando gcloud projects add-iam-policy-binding:

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=MEMBER \
    --role=ROLE_ID
    

    Substitua:

    Também é possível receber um arquivo JSON ou YAML com a política atual do IAM, adicionar vários papéis ou membros e atualizar a política. Para ler e gerenciar a política, use a Google Cloud CLI, a API IAM ou o IAM. Para saber mais detalhes, consulte Como controlar o acesso de maneira programática.

    A seguir