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 Modificar tópicos e assinaturas do Lite, publicar mensagens em tópicos do Lite e receber 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 Conferir 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 a uma conta de serviço acesso para visualizar qualquer tópico do Lite em um projeto, mas não para visualizar 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 Salvar.

    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 mais detalhes, consulte Como controlar o acesso de maneira programática.

    A seguir