O MongoDB Atlas suporta uma variedade de métodos de autorização para garantir acesso robusto aos recursos. O Atlas exige que todos os usuários autentiquem. Após a autenticação do usuário, a autorização determina o acesso do usuário aos recursos.
Ao implementar a autorização do Atlas , você deve usar o Controle de Acesso Baseado em Função (RBAC). O uso de grupos de usuários de um provedor de identidade federado com RBAC simplifica o gerenciamento.
As recomendações a seguir se aplicam tanto aos usuários da força de trabalho (Humana) quanto do Volume de trabalho (aplicação) em todos os paradigmas de implantação do.
RBAC e roles predefinidos
O Atlas usa o RBAC (controle de acesso baseado em roles) para simplificar o gerenciamento da autorização do usuário. O Atlas inclui funções de usuário predefinidas que fornecem níveis específicos de acesso comumente necessários para gerenciar o Atlas com a UI e as APIs. Para simplificar o gerenciamento, você pode mapear as funções para grupos deIdP .
Para conectar-se a Atlas clusters, use roles de banco de dados personalizadas refinadas para fornecer um escopo granular com base no acesso necessário para que a role execute sua função. Essa abordagem permite que você siga o princípio do privilégio mínimo.
Observação
Você deve sempre restringir o acesso atribuindo as funções RBAC menos necessárias. Você também deve usar restrições de domínio.
Há dois níveis de funções que você pode atribuir: nível da organização e nível do projeto.
Roles de nível de organização
As roles de nível de organização são usadas por contas de serviço para automatizar tarefas como criar novos projetos, gerenciar IAM e faturamento. Eles também podem ser usados para membros da equipe da plataforma.
A função
Organization Owner
deve ser fortemente restrita e não deve ser atribuída a um humano, pois possui a capacidade de alterar configurações em toda a organização e excluir configurações. Essa função deve ser atribuída a uma conta de serviço que você usa apenas para parametrizar e configurar inicialmente a organização. Minimize as alterações de configuração após a criação inicial. Para evitar bloqueios de conta, você pode criar os seguintes itens:Grupo de proprietários da organização SAML com acesso jus-in-time.
Conta de serviço com role de proprietário da organização. Mantenha-o em um local seguro com forte gerenciamento de acesso para cenários de emergência de quebra-vidro.
A função
Organization Member
deve ser destinada a administradores da equipe de operações e plataforma que possam visualizar as configurações e definições da organização.A função
Organization Project Creator
deve ser uma conta de serviço programática usada para criar projetos em nome de novos aplicativos para equipes de desenvolvimento e produto.A função
Organization Billing Admin
deve ser uma conta de serviço programática usada para extrair faturas programaticamente da API de faturamento e inseri-las em sua ferramenta FindOps. Essa mesma conta de serviço deve ter acesso a todas as organizações vinculadas para as quais é responsável por relatar o uso.
Roles no nível do projeto
As funções no nível do projeto destinam-se às equipes de desenvolvimento, teste e produto responsáveis pelo desenvolvimento e pela manutenção de aplicação . Assim como nas funções no nível da organização, você deve sempre seguir o princípio do privilégio mínimo. Por exemplo, a função Project Owner
deve ser usada somente para controle imposto pela equipe de operações e provisionamento . Como o Proprietário do Projeto pode criar e excluir clusters, você deve atribuir essa role a uma conta de serviço programática, a menos que esteja trabalhando em um ambiente de sandbox.
Para saber mais sobre as funções no nível do projeto, consulte:
Provedores de identidade federados
Ao integrar o Atlas a um provedor de identidade federado, você pode usar o provisionamento jus-in-time ao mapear grupos de provedor de identidade para funções do Atlas . Isso simplifica o gerenciamento de acesso e garante atribuições de funções seguras e organizadas em toda a plataforma. Você pode conceder acesso programaticamente com base no processo de provisionamento da camada de orquestração.
Você deve usar um provedor de identidade federado (FIP) moderno que forneça SSO, como o Azure Entra ID, o Okta ou o Ping Identity. Isso torna o processo de autorização mais seguro e oferece a flexibilidade necessária para atribuir grupos de IdP programaticamente às funções do Atlas . Você deve restringir o acesso ao domínio da sua empresa, que impede que os usuários façam login no Atlas quando não estão autorizados a acessar.
Para saber mais sobre o mapeamento de funções para grupos de fornecedores de identidade federada, consulte Processo de mapeamento de funções.
Acesso Just-in-Time
O Atlas também oferece suporte à criação de usuários temporários de banco de dados que expiram automaticamente após os horários predefinidos. Um usuário pode ser criado para 6 horas, 1 dias ou 1 semanas.
Para saber mais, consulte Configurar usuários do banco de dados.
Exemplos
Para obter exemplos de configuração de autorização, consulte Exemplos de autorização e autenticação.