Segurança
Nesta página
O Atlas fornece um sistema para gerenciar as 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 adicionais e privilégios específicos para tarefas de processamento de stream, bem como a capacidade de limitar as permissões de usuário a instâncias específicas de processamento de fluxos.
Acesso à organização e ao projeto
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 função pode realizar qualquer ação de gerenciamento de instância de processamento de fluxo ou registro de conexão e gerenciar os bancos de dados e os usuários do banco de dados dentro do projeto. Atribua esta função a um usuário para permitir 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 à 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 de banco de dados, análogo à forma como você acessa um cluster do Atlas. As funções e ações atribuídas aos usuários do seu banco de dados determinam quais operações eles podem realizar em processadores de fluxo dentro de uma instância de processamento de stream. 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 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 externas , você deve adicionar endereços IP do Atlas à lista de acesso da sua fonte de dados de streaming externas.
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 instância de processamento de fluxo de destino está implantada e adicione-os à lista de acesso da fonte de dados externa. Para saber mais, consulte Permitir 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.
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áGo para a Database 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 Access sob o título Security.
A página Acesso ao banco de dados é 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 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á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 Services.
A página Processamento de fluxo é exibida.
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 rastreiem eventos de autenticação e gerenciamento de entidades em suas instâncias de processamento de fluxo. Sempre que um evento auditável ocorre em uma determinada instância de processamento de fluxo, o Atlas Stream Processing grava esse evento no log dessa instância de processamento de fluxo. Um log persiste durante o tempo de vida 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 log pertencente a essa instância de processamento de fluxo persistirá por mais 30 dias.
Para baixar logs de auditoria para sua instância de processamento de fluxo, consulte Baixar 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 com êxito a uma instância de processamento de fluxo |
Falha na autenticação | Ocorre quando um usuário não consegue se conectar a uma instância 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 |