Com a Federação de Identidade de Carga de Trabalho, seus aplicativos podem acessar implantações do MongoDB Ops Manager usando identidades programáticas externas, como Entidades de Serviço do Azure, Identidades Gerenciadas do Azure e Contas de Serviço do Google.
Como funciona
A Federação de Identidade de Carga de Trabalho permite que seus aplicativos acessem implantações do MongoDB com tokens de acesso OAuth 2.0. Os tokens de acesso podem ser emitidos por qualquer provedor de identidade externo, incluindo Azure Entra ID e Google Cloud Platform (GCP). O Ops Manager armazena os identificadores de usuário e os privilégios, mas não os segredos. Um conjunto limitado de drivers MongoDB oferece este mecanismo de autenticação para seus aplicativos.
Os drivers do MongoDB oferecem suporte a dois tipos de fluxo de autenticação para o Workload Identity Federation: autenticação integrada e autenticação de retorno de chamada.
Autenticação integrada
Você pode usar a autenticação integrada se implantar seu aplicativo em uma infraestrutura compatível com um tipo de principal compatível. Seu aplicativo pode acessar implantações do MongoDB Ops Manager sem fornecer uma senha ou solicitar manualmente um JSON web token do serviço de metadados do seu provedor de nuvem. Em vez disso, seu driver usa o identificador principal existente para fazer uma solicitação de token de acesso JSON web token (JWT). O driver passa o token para a implantação do MongoDB Ops Manager quando seu aplicativo se conecta.
Para obter mais detalhes de implementação, consulte a documentação do seu driver.
Infraestrutura suportada de autenticação integrada e tipos principais
Provedor de nuvem | Tipo de infraestrutura | Tipo principal |
|---|---|---|
GCP | Mecanismo de computação | Contas de serviço GCP |
Ambiente padrão do App Engine | ||
Ambiente flexível do App Engine | ||
Funções da nuvem | ||
Cloud Run | ||
Google Kubernetes Engine | ||
Cloud Build | ||
Azure | Azure VM | Azure Managed Identity (usuário e sistema atribuídos) |
Autenticação de chamada de resposta
Você pode usar a autenticação de chamada de resposta com qualquer serviço que suporte tokens de acesso OAuth 2.0. A Federação de identidade de carga de trabalho chama um método de chamada de resposta onde você solicita o JSON web token necessário do seu servidor de autorização ou provedor de nuvem. Você então passa o token para o Ops Manager com a Federação de Identidade de Carga de Trabalho quando seu aplicativo se conecta.
Para obter mais detalhes de implementação, revisar a documentação do seu driver.
Segurança com identidades gerenciadas pelo Azure
O Workload Identity Federation com o Azure Managed Identities fornece a maneira mais segura de autenticar nas implantações do MongoDB Ops Manager em execução no Azure. Essa abordagem oferece as seguintes vantagens de segurança:
Aproveite as identidades gerenciadas: isso permite que seus aplicativos em execução nos serviços do Azure (como Azure VMs, AKS e funções do Azure) se autentiquem no MongoDB Ops Manager usando suas identidades gerenciadas pelo Azure atribuídas sem a necessidade de gerenciar credenciais separadas do MongoDB .
Autenticação "sem senha" segura: seus aplicativos obtêm tokens de acesso OAuth 2.0 de curta duração do servidor de metadados do Azure, que o MongoDB Ops Manager verifica. Isso elimina a necessidade de armazenar e gerenciar nomes de usuário e senhas de banco de dados confidenciais gerenciados no código ou nas configurações do aplicativo.
Gerenciamento de identidade centralizado: você gerencia as identidades de suas cargas de trabalho do Azure dentro da estrutura do Azure Entra ID, fornecendo uma única fonte da verdade para o gerenciamento de identidades.
Auditoria aprimorada: o Azure fornece logs de auditoria para atividades de contas de serviço, aprimorando a rastreabilidade e as funcionalidades de monitoramento de segurança.
Acesso necessário
Para configurar o Workload Identity Federation, você deve ter acesso de ao Ops Project Owner Manager.
Pré-requisitos
Atenda a estes pré-requisitos:
MongoDB 7.0 ou posterior.
Pelo menos um outro mecanismo de autenticação com MongoDB Agent configurado.
Observação
O MongoDB Agent não consegue se conectar à sua implantação por meio de OIDC. Você deve habilitar outro mecanismo de autenticação para o MongoDB Agent. Se o MongoDB Ops Manager não gerenciar o monitoramento ou o backup, você deve configurá-los manualmente para usar o mecanismo de autenticação alternativo.
Procedimentos
Para configurar a Federação de Identidade de Carga de Trabalho, siga estas etapas:
Configure um fornecedor de identidade de volume de trabalho (configuração única).
Configurar um aplicativo de provedor de identidade externo
IMPORTANTE: Para redefinir as configurações de autenticação e TLS para seu projeto, primeiro deixe de gerenciar qualquer implantação MongoDB que o MongoDB Ops Manager gerencia em seu projeto.
Configurar autenticação da Federação de Identidade do Volume de Trabalho
Observação
O Workload Identity Federation suporta apenas JSON web JSON web token token para autenticação. Não suporta tokens de acesso opacos.
Configurar autorização OIDC
O MongoDB não cria explicitamente usuários de banco de dados de dados para OIDC . Ele mapeia os usuários do OIDC para as funções do MongoDB com base na configuração.
Conclua o procedimento para o tipo de autorização que você selecionou ao configurar a autenticação do OIDC.
ID do usuário
Se você selecionou o tipo de autorização User ID, crie um novo usuário para conceder uma autorização de usuário individual :
Adicione o usuário do OIDC.
Observação
Antes de adicionar usuários, certifique-se de ter criado todas as funções que deseja atribuir aos usuários.
Preencha os campos da conta de usuário:
CampoDescriçãoIdentifier
No primeiro campo, insira o banco de banco de dados
$external.No segundo campo, insira um nome de usuário usando o nome de configuração do seu OIDC provedor de identidade e a declaração principal do usuário da sua configuração separados por uma barra (
/):{configuration_name}/{user_principal_claim}
Roles
Insira quaisquer roles definidas pelo usuário disponíveis e roles incorporadas nesta caixa. A caixa de combinação fornece uma lista de funções existentes quando você clica nela.
Authentication Restrictions
Clique em Add Entry.
Adicione um ou mais endereços IP e/ou blocos CIDR nas caixas Client Source ou Server Address. Separe vários endereços ou blocos com vírgula.
Client Source restringe quais endereços esse usuário pode autenticar e usar as roles fornecidas.
Server Address restringe os endereços que esse usuário pode autenticar e tem os roles fornecidos.
Clique em Save.
Para adicionar outra entrada, clique em Add Entry.
Clique em Add User.
Associação de grupo
Se você selecionou o Group Membership tipo de autorização, complete as etapas a seguir para criar uma função personalizada que conceda autorização com base na associação ao grupo de usuários do IdP:
Crie o papel OIDC.
Insira os seguintes campos:
CamponecessidadeDescriçãoIdentifier
Obrigatório
Na caixa Database , digite
admin.Na caixa Name, insira o nome de configuração do seu OIDC provedor de identidade e o nome do grupo do seu provedor de identidade externo, separados por uma barra (
/):{configuration_name}/{group_name}Inherits From
Opcional
Uma lista de pares de nomes de roles e reconhecimento de data center. O formato para esses pares é
roleName@dbName.Authentication Restrictions
Opcional
Uma lista de endereços IP ou notações CIDR que você deseja restringir do seu IdP.
Privilege Actions by Resource
Opcional
ação permitidas no recurso.
Para saber mais, consulte Ações de privilégio.
Clique em Add Role.
Conecte um aplicativo ao MongoDB com a federação de identidade de carga de trabalho
Use estes drivers do MongoDB para conectar um aplicativo ao MongoDB com autenticação de federação de identidade de carga de trabalho:
Nó / Typescript
Gerenciar uma configuração de federação de identidade de volume de trabalho existente
Para gerenciar sua configuração de federação de identidade de carga de trabalho, você pode executar estas ações.
Revoke JWKS
Observação
Não use este recurso para girar suas chaves de assinatura. Quando você alterna as chaves de assinatura do IdP do OIDC , o MongoDB busca o JWKS automaticamente após a expiração dos tokens de acesso existentes.
Se sua chave privada estiver comprometida, você poderá revogar imediatamente seus Conjuntos de chaves da Web JSON (JWKS) armazenados em cache nos nós MongoDB:
Navegue até a caixa de diálogo Security Settings para sua implantação.
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Se ainda não estiver exibido, clique em Deployment na barra lateral.
Clique na aba Security.
Clique na aba Settings.
Editar uma configuração
Para editar sua configuração de Federação de Identidade do Workload:
Navegue até a caixa de diálogo Security Settings para sua implantação.
Selecione a organização que contém seu projeto Organizations no menu da barra de navegação.
Selecione seu projeto no menu Projects na barra de navegação.
Clique em Deployment na barra lateral.
Clique na aba Security.
Clique na aba Settings.
Excluir uma configuração
Para excluir sua configuração do Workload Identity Federation:
Navegue até a caixa de diálogo Security Settings para sua implantação.
Selecione a organização que contém seu projeto Organizations no menu da barra de navegação.
Selecione seu projeto no menu Projects na barra de navegação.
Clique em Deployment na barra lateral.
Clique na aba Security.
Clique na aba Settings.