Com a federação de identidade de carga de trabalho, seus aplicativos podem acessar implantações do MongoDB Cloud Manager usando identidades programáticas externas como Azure Service Principals, Azure Identidades Gerenciadas e Google Service Accounts.
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 Cloud Manager armazena os identificadores de usuário e 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 Cloud Manager sem fornecer uma senha ou solicitar manualmente um JWT 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 Cloud 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. Em seguida, você passa o token para o Cloud 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.
Acesso necessário
Para configurar o Workload Identity Federation, é necessário ter acesso ao Cloud 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 Cloud Manager não gerenciar o Monitoramento ou o Backup, você deverá 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
Observação
Para redefinir as configurações de autenticação e TLS para seu projeto, primeiro deixe de gerenciar qualquer MongoDB deployment que o Cloud 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 JSON Web Key Sets (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 os Conjuntos de chaves da Web JSON armazenados em cache nos nós MongoDB:
No MongoDB Cloud Manager, acesse a página Security 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 o projeto desejado no menu Projects na barra de navegação.
Na barra lateral, clique em Security sob o título Database.
A página Segurança é exibida.
Editar uma configuração
Para editar sua configuração de Federação de Identidade do Workload:
No MongoDB Cloud Manager, acesse a página Security 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 o projeto desejado no menu Projects na barra de navegação.
Na barra lateral, clique em Security sob o título Database.
A página Segurança é exibida.
Excluir uma configuração
Para excluir sua configuração do Workload Identity Federation:
No MongoDB Cloud Manager, acesse a página Security 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 o projeto desejado no menu Projects na barra de navegação.
Na barra lateral, clique em Security sob o título Database.
A página Segurança é exibida.