O Atlas fornece um sistema para gerenciar permissões de usuário nos níveis de organização, projeto e banco de dados do . O Atlas Stream Processing amplia esse sistema com funções e privilégios adicionais específicos para tarefas de processamento de fluxo, bem como a capacidade de restringir permissões de usuários a espaços de trabalho específicos de processamento de fluxo.
Acesso à organização e ao projeto
Os usuários gerenciam os espaços de trabalho de processamento de fluxo e seus registros de conexão associados no nível do projeto . O Atlas Stream Processing fornece o papel para este fim. Um Project Stream Processing Owner usuário com esta função pode executar qualquer espaço de trabalho de processamento de fluxo ou ação de gerenciamento de registro de conexão e gerenciar os bancos de dados e usuários do banco de dados dentro do projeto . Atribua essa role a um usuário para habilitá-lo a executar todas as ações necessárias para configurar um projeto do Atlas Stream Processing sem conceder permissões desnecessárias às funcionalidades de acordo com o princípio do privilégio mínimo.
Se necessário, você pode executar qualquer uma das ações autorizadas pela função Project Stream Processing Owner como um usuário com as funções Project Owner ou Organization Owner .
Acesso ao espaço de trabalho de processamento de fluxo
Você pode acessar um workspace de processamento de stream existente e gerenciar processadores de stream como um usuário de banco de dados, de forma análoga à forma como se acessa um Atlas cluster. As roles e ações atribuídas aos usuários do seu banco de dados determinam quais operações eles podem executar nos processadores de fluxo dentro de um espaço de trabalho de processamento de fluxo. O Atlas Stream Processing fornece as seguintes ações de privilégio :
processStreamProcessorcreateStreamProcessorstartStreamProcessorstopStreamProcessordropStreamProcessorlistStreamProcessorssampleStreamProcessorstreamProcessorStatslistConnections
Você pode atribuir exatamente essas ações de privilégio a um usuário do banco de dados ou à função personalizada de que você precisa. Como alternativa, um usuário de banco de dados com atlasAdmin ou readWriteAnyDatabase pode executar todas essas ações.
Networking
O Atlas Stream Processing oferece suporte a conexões com clusters do Atlas e fontes de dados de streaming externas, como o Apache Kafka. As conexões dentro do Atlas não exigem configuração manual. Para se conectar a uma fonte de dados de streaming externa, você deve adicionar endereços IP do Atlas à lista de acesso da sua fonte de dados de streaming externa.
Para identificar os endereços IP necessários do Atlas, execute o seguinte comando:
curl -H 'Accept: application/vnd.atlas.2023-11-15+json' -s \ 'https://cloud.mongodb.com/api/atlas/v2/unauth/controlPlaneIPAddresses'
Isso retorna uma lista de endereços IP Atlas disponíveis, agrupados por provedor e região. Identifique todos os endereços IP de saída para o par fornecedor-região no qual o espaço de trabalho do processamento de fluxo de destino está implantado e adicione-os à lista de acesso da sua fonte de dados externa. Para saber mais, consulte Permitir acesso de ou para o Plano de controle Atlas .
Ao configurar uma conexão com uma fonte de dados de streaming externa, você pode escolher entre acesso por endereços IP públicos ou por uma conexão de emparelhamento de VPC. Para saber mais, consulte Adicionar uma conexão ao registro de conexões.
Restringir o acesso a espaços de trabalho específicos do processamento de fluxo
Por padrão, um usuário com ações de privilégio de Atlas Stream Processing pode executar as operações associadas em todos os espaços de trabalho de processamento de stream. Você pode restringir a aplicação desses privilégios a espaços de trabalho específicos de processamento de fluxo.
No Atlas, VáGo para a Database & Network Access página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Database & Network Access sob o título Security.
A página Acesso ao banco de dados e à rede é exibida.
Clique em Edit na linha do usuário cujas permissões você deseja modificar.
Na janela modal, ative a opção Restrict Access to Specific Clusters /Federated Database Instances/Stream Processing Workspaces .
Encontre os nomes dos espaços de trabalho de processamento de fluxo para os quais você deseja conceder privilégios de usuário. Marque a caixa ao lado de um nome para conceder ao usuário privilégios para esse espaço de trabalho de processamento de fluxo. Desmarque a caixa para negar os privilégios de usuário para esse espaço de trabalho de processamento de fluxo
Perfis de execução
É possível configurar a função de usuário de banco de dados usada ao se conectar a um banco de dados do Atlas como $source $merge coletor ou. Isso permite impedir que os usuários específicos do banco de dados do Atlas Stream Processing obtenham acesso indiretamente ao cluster que hospeda esse banco de dados por meio das credenciais do usuário do Atlas de privilégios elevados que configura o espaço de trabalho de processamento de fluxo e suas conexões.
Observação
De acordo com o princípio do mínimo privilégio, defina uma função personalizada apenas com os privilégios que um usuário precisa para executar as operações desejadas.
No Atlas, váGo para a Stream Processing página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Stream Processing sob o título Streaming Data.
A página Processamento de fluxo é exibida.
No painel do espaço de trabalho de processamento de fluxo que você deseja configurar, clique em Configure.
Clique na aba Connection Registry . Na linha da conexão do banco de dados Atlas que você deseja configurar, clique em .
No menu suspenso Execute As , selecione o papel a ser usado ao se conectar ao banco de dados.
Auditoria
A auditoria do Atlas Stream Processing permite que os administradores acompanhem a autenticação e os eventos de gerenciamento de entidades em seus espaços de trabalho de processamento de fluxo. Cada vez que um evento auditável ocorre em um determinado espaço de trabalho de processamento de fluxo, o Atlas Stream Processing grava esse evento no registro desse espaço de trabalho de processamento de fluxo. Um registro persiste durante a vida útil do espaço de trabalho de processamento de fluxo ao qual ele pertence, e o Atlas Stream Processing nunca trunca eventos antigos. Se você excluir uma área de trabalho de processamento de fluxo, o registro pertencente a essa área de trabalho de processamento de fluxo persistirá por 30 dias adicionais.
Para baixar registros de auditar para seu espaço de trabalho de processamento de fluxo, consulte Baixar registros de auditoria.
O Atlas Stream Processing é compatível com a auditoria dos seguintes eventos de autenticação:
Evento | Descrição |
|---|---|
Autenticação bem-sucedida | Ocorre quando um usuário se conecta com êxito a um espaço de trabalho de processamento de fluxo |
Falha na autenticação | Ocorre quando um usuário não consegue se conectar a um espaço de trabalho de processamento de fluxo |
Terminação de conexão | Ocorre quando um usuário fecha sua conexão |
O Atlas Stream Processing permite a auditoria dos seguintes eventos de gerenciamento de entidades:
startStreamProcessor | Ocorre quando um usuário inicia um processador de fluxo |
|---|---|
createStreamProcessor | Ocorre quando um usuário cria um processador de fluxo |
stopStreamProcessor | Ocorre quando um usuário interrompe um processador de fluxo |
dropStreamProcessor | Ocorre quando um usuário exclui um processador de fluxo |
.process() | Ocorre quando um usuário emite um .process () chamar |
.sample() | Ocorre quando um usuário emite um .sample () chame |
Log de auditoria acessado | ocorre quando um usuário tenta baixar o log de auditaria |