Segurança
Nesta página
O Atlas fornece um sistema para gerenciar permissões de usuário nos níveisde organização, projeto e banco de dados do . O Atlas Stream Processing estende 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 instâncias específicas de processamento de fluxo.
Acesso à organização e projetos
Os usuários gerenciam instâncias de processamento de fluxo 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 role pode executar qualquer instância de processamento de fluxo ou ação de gerenciamento do registro de conexão e gerenciar os bancos de dados e os usuários do banco de dados no projeto. Atribua essa role a um usuário para permitir que ele execute todas as ações necessárias para configurar um projeto do Atlas Stream Processing sem conceder permissões desnecessárias aos recursos, de acordo com o princípio do menor privilégio.
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 à instância de processamento de fluxo
Você pode acessar uma instância de processamento de fluxo existente e gerenciar processadores de fluxo como um usuário do banco de dados , análogo à forma como você acessa um cluster do Atlas. 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 uma instância de processamento de fluxo. O Atlas Stream Processing fornece as seguintes ações de privilégio:
processStreamProcessor
createStreamProcessor
startStreamProcessor
stopStreamProcessor
dropStreamProcessor
listStreamProcessors
sampleStreamProcessor
streamProcessorStats
listConnections
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 Atlas clusters e fontes de dados de 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 acessoda fonte de dados de streaming externa.
Para identificar os endereços IP do Atlas necessários, 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 a instância de processamento de fluxo de destino está implantada 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 acessar por endereços IP públicos ou por uma conexão de peering da VPC . Para saber mais, consulte Adicionar uma conexão ao Registro de conexão.
Restringir o acesso a instâncias específicas do Atlas Stream Processing
Por padrão, um usuário com ações de privilégio do Atlas Stream Processing pode executar as operações associadas em todas as instâncias do Atlas Stream Processing . Você pode restringir a aplicação desses privilégios a instâncias específicas do Atlas Stream Processing .
No Atlas, vá Database Access para a 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 Access sob o título Security .
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 Instances .
Encontre os nomes das instâncias do Atlas Stream Processing para as quais você deseja conceder privilégios de usuário. Marque a caixa ao lado de um nome para conceder aos privilégios de usuário para essa instância de Atlas Stream Processing . Desmarque a caixa para negar os privilégios de usuário para essa instância de Atlas Stream Processing
Perfis de execução
É possível configurar a função de usuário do banco de dados usada ao se conectar a um banco de dados do Atlas como coletor $source
ou $merge
. Isso permite que você evite 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 Atlas user de privilégios elevados que configura a instância do Atlas Stream Processing 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á Stream Processing para a 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 Services .
No painel da instância do Atlas Stream Processing 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 suas instâncias de processamento de fluxo. Cada vez que um evento auditável ocorre em uma determinada instância de processamento de fluxo, o Atlas Stream Processing grava esse evento no registro dessa instância de processamento de fluxo. Um registro persiste durante a vida útil da instância de processamento de fluxo à qual ele pertence, e o Atlas Stream Processing nunca trunca eventos antigos. Se você excluir uma instância de processamento de fluxo, o registro pertencente a essa instância de processamento de fluxo persistirá por mais 30 dias.
Para baixar os registros de auditoria para sua instância de processamento de fluxo, consulte Baixar registros de auditoria.
O Atlas Stream Processing oferece suporte à auditoria dos seguintes eventos de autenticação:
Evento | Descrição |
---|---|
Autenticação bem-sucedida | Ocorre quando um usuário se conecta com êxito a uma instância de processamento de fluxo |
Falha ao autenticar | Ocorre quando um usuário não consegue se conectar a uma instância de processamento de fluxo |
Encerramento da conexão | Ocorre quando um usuário fecha a conexão |
O Atlas Stream Processing oferece suporte à auditoria dos seguintes eventos de gerenciamento de entidades:
startStreamProcessor | Ocorre quando um usuário inicia um processador de stream |
---|---|
createStreamProcessor | Ocorre quando um usuário cria um processador de stream |
stopStreamProcessor | Ocorre quando um usuário interrompe um processador de stream |
dropStreamProcessor | Ocorre quando um usuário exclui um processador de stream |
.process() | Ocorre quando um usuário emite uma chamada .process() |
.sample() | Ocorre quando um usuário emite um arquivo .sample() chamada |
Registro de auditoria acessado | Ocorre quando um usuário tenta baixar o registro de auditoria |