Federação de identidade de carga de trabalho com OAuth 2.0
Nesta página
O Workload Identity Federation usa o OAuth 2.0 para permitir que seus aplicativos acessem o MongoDB usando identidades programáticas externas, como o Azure Service Principals, o Azure Managed Identities e as contas de serviço do Google.
Casos de uso
Com o Workload Identity Federation, você pode:
Gerencie o acesso do seu aplicativo aos sistemas do MongoDB por meio do seu fornecedor de provedor de nuvem de provedor de identidade (IdP) existente.
Aplique políticas de segurança, como controle de acesso baseado em função, rotação de credenciais e permissões específicas de volume de trabalho.
Conceda acesso a aplicativos, contêineres ou máquinas virtuais específicos sem gerenciar contas de serviço individuais.
Comportamento
Para usar o Workload Identity Federation, você deve usar o MongoDB Enterprise e ter o MongoDB 7.0.11 ou posterior.
Para verificar se você está usando o MongoDB Enterprise, passe a
--version
opção de linha de comando paramongod
oumongos
:mongod --version Na saída deste comando, procure a string
modules: subscription
oumodules: enterprise
para confirmar que você está usando os binários MongoDB Enterprise.O Workload Identity Federation permite que seus aplicativos acessem clusters MongoDB com tokens de acesso OAuth 2.0. Os tokens de acesso podem ser emitidos por qualquer provedor de identidade externo , incluindo o Azure Entra ID e o Google Cloud Platform.
O MongoDB armazena identificadores e privilégios de usuário, mas não segredos.
Começar
Para configurar e usar o Workload Identity Federation, execute as seguintes tarefas:
Configurar um provedor de identidade externo
Registre seu aplicação OAuth 2.0 com um IdP que ofereça suporte ao padrão OAuth 2.0, como Entidades de Serviço do Azure, Identidades Gerenciadas do Azure e Contas de Serviço do Google.
Configurar MongoDB com Federação de Identidade de Volume de Trabalho
Configure seu servidor MongoDB para usar o Workload Identity Federation com OAuth 2.0.
Especifique privilégios para entidades de identidade de volume de trabalho adicionando roles ao MongoDB (para OAuth, autorização externa ou ambos) ou adicionando usuários de banco de dados de dados ao MongoDB (para autorização gerenciada por banco de dados).
Detalhes
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 o aplicação em uma infraestrutura compatível com um tipo principal compatível. Seu aplicação pode acessar clusters MongoDB sem fornecer uma senha ou solicitar manualmente um JSON web token (JWT) do serviço de metadados do seu fornecedor de nuvem. Em vez disso, o driver MongoDB escolhido usa seu identificador principal existente para solicitar um token de acesso JWT oculto, que é passado para o Atlas cluster automaticamente quando o aplicação é conectado.
Para obter mais detalhes de implementação, consulte a documentação do Driver escolhido.
Infraestrutura suportada de autenticação integrada e tipos principais
Provedor de nuvem | Tipo de infraestrutura | Tipo principal |
---|---|---|
Provedor do Google Cloud Platform (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 | ||
Google 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 de chamada com qualquer serviço que ofereça suporte a tokens de acesso OAuth 2.0. O Workload Identity Federation chama um método de chamada de resposta de chamada, no qual você pode solicitar o JWT necessário do servidor de autorização ou do provedor de nuvem que você deve passar quando o aplicação se conectar ao MongoDB com o Workload Identity Federation.
Revise a documentação do driver escolhido para obter mais detalhes da implementação.