O Atlas fornece um sistema para gerenciar permissões de usuário nos níveis de organização, projeto e banco de dados. O Atlas Stream Processing amplia esse sistema com funções e privilégios adicionais específicos para tarefas de stream processing, bem como a capacidade de restringir permissões de usuários a espaços de trabalho específicos de stream processing.
Acesso à organização e ao projeto
Usuários gerenciam espaços de trabalho do processamento de fluxos e seus registros de conexão associados no nível do projeto. O Atlas Stream Processing fornece a função Project Stream Processing Owner para essa finalidade. Um usuário com essa função pode realizar qualquer ação de gerenciamento de espaço de trabalho do processamento de fluxos ou registro de conexão e gerenciar os bancos de dados e os usuários do banco de dados dentro do projeto. Aloque essa função a um usuário para que ele execute todas as ações necessárias para configurar um projeto do Atlas Stream Processing sem garantir permissões desnecessários a recursos 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 do processamento de fluxos
Você pode acessar um espaço de trabalho do processamento de fluxos existente e gerenciar processadores de fluxo como um usuário de banco de dados, análogo à forma como você acessa um cluster do Atlas. As funções e ações alocadas aos usuários do seu banco de dados determinam quais operações eles podem realizar em processadores de fluxo dentro de um espaço de trabalho do processamento de fluxos. 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 de 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 tanto para Atlas clusters quanto para fontes de dados streaming externas, como 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 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 do Atlas disponíveis, agrupados por provedor e região. Identifique todos os endereços IP de saída do par provedor-região no qual a área de trabalho do processamento de fluxos de destino está implantada e adicione-os à lista de acesso da sua fonte de dados externa. Para saber mais, consulte Dê acesso de ou para o plano de controle do 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.
Restringindo acesso a espaços de trabalho específicos processamento de fluxos
Como padrão, um usuário com privilégios de ações do Atlas Stream Processing pode realizar as operações associadas em todas as espaços de trabalho do processamento de fluxos. Você pode restringir a aplicação desses privilégios a espaços de trabalho específicos do processamento de fluxos.
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 do processamento de fluxos para os quais você quer dar privilégios ao usuário. Marque a caixa ao lado de um nome para dar privilégios ao usuário para aquele espaço de trabalho do processamento de fluxos. Desmarque a caixa para negar os privilégios do usuário para aquele espaço de trabalho do processamento de fluxos
Perfis de execução
Você pode configurar a função de usuário de banco de dados que usa ao se conectar a um banco de dados Atlas como um$source ou um $merge sink. Isso permite evitar que usuários de banco de dados específicos do Atlas Stream Processing obtenham acesso indireto ao cluster que hospeda esse banco de dados por meio das credenciais do Atlas user com privilégios elevados que configura o espaço de trabalho do processamento de fluxos 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 do processamento de fluxos 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 rastreiem eventos de autenticação e gerenciamento de entidades em seus espaços de trabalho do processamento de fluxos. Sempre que ocorre um evento auditável em um determinado espaço de trabalho do processamento de fluxos, o Atlas Stream Processing grava esse evento no log desse espaço de trabalho do processamento de fluxos. Um log persiste durante o tempo de vida do espaço de trabalho do processamento de fluxos ao qual ele pertence, e o Atlas Stream Processing nunca trunca eventos antigos. Se você excluir um espaço de trabalho do processamento de fluxos, o log pertencente a esse espaço de trabalho persistirá por mais 30 dias.
Para baixar logs de auditoria para sua área de trabalho do processamento de fluxos, consulte Baixe logs 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 a um espaço de trabalho do processamento de fluxos |
Falha na autenticação | Ocorre quando um usuário não consegue se conectar a um espaço de trabalho do processamento de fluxos |
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 |