Menu Docs
Página inicial do Docs
/ /

Configurar a Federação de Identidade do Volume de Trabalho com OAuth 2.0

O Workload Identity Federation permite que seus aplicativos acessem clusters do MongoDB Atlas usando identidades programáticas externas, como Azure Service Principals, Azure Managed Identities e Contas de serviço do Google.

Você pode habilitar qualquer número de fornecedores de identidade de volume de trabalho para uma ou mais organizações. Ao ativar um Workload Identity Provider em uma organização do Atlas , você pode usá-lo em todos os projetos dessa organização para acesso ao banco de dados de dados.

O Atlas é compatível com o Workload Identity Federation apenas em clusters dedicados (M10 e superior) que executam o MongoDB versão 7.0.11 e superior, e somente com drivers selecionados.

Para saber mais sobre como implementar o acesso do Workload Identity Federation com o driver escolhido, consulte Conectar um aplicativo ao MongoDB com o Workload Identity Federation.

O Workload Identity Federation permite que seus aplicativos acessem os clusters MongoDB com OAuth2.0 acessar tokens. Os tokens de acesso podem ser emitidos por qualquer fornecedor de identidade externo, incluindo o Azure Entra ID e o Google Cloud Platform. O Atlas armazena os identificadores e privilégios do usuário, mas não os segredos. Esse mecanismo de autenticação para seus aplicativos é suportado apenas pelos drivers do MongoDB . Outras ferramentas MongoDB como mongosh e MongoDB Compass não suportam este mecanismo de autenticação.

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.

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 Atlas clusters sem fornecer uma senha ou solicitar manualmente um JSON web token 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 ao JSON web token , 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

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)

Se não for possível usar métodos de autenticação integrados, você poderá usar a autenticação de chamada de resposta com qualquer serviço de autorização OAuth 2.0. Com a autenticação de chamada de resposta , o driver MongoDB chama um método de chamada de resposta fornecido para obter um token JSON web token para acesso ao banco de dados . No método de chamada de resposta , recupere o token do provedor de autorização usando o mecanismo de sua preferência, como autenticação de certificado, fluxo de credenciais do cliente ou um SDK.

Para confirmar que o driver escolhido oferece suporte à autenticação do Workload Identity Federation e analisar detalhes adicionais de implementação, consulte a lista de versões de driver que oferecem suporte à autenticação do Workload Identity Federation.

A lista a seguir fornece exemplos de como você pode recuperar seu token de acesso para aplicativos executados na nuvem ou em recursos locais:

O Workload Identity Federation com o Azure Managed Identities fornece a maneira mais segura de autenticar nos clusters do MongoDB Atlas 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 Atlas 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 Atlas verifica. Isso elimina a necessidade de armazenar e gerenciar nomes de usuário e senhas de banco de dados confidenciais no código ou nas configurações do aplicação .

  • 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 registros de auditar para atividades de contas de serviço, aprimorando a rastreabilidade e os recursos de monitoramento de segurança.

Para ter a melhor segurança para acessar os clusters do MongoDB Atlas , você pode combinar o Workload Identity Federation com o Azure Private Link. Essa configuração aproveita os recursos de segurança e gerenciamento do Azure e, ao mesmo tempo, garante conectividade de rede privada e segura com seu banco de dados.

Para configurar a Federação de Identidade de Volume de Trabalho do MongoDB:

  1. Configurar o provedor de identidade do volume de trabalho (configuração única).

    1. Configure seu provedor de identidade externo.

    2. Configure o Workload Identity Provider no Atlas e habilite-o para sua(s) organização (ões) Atlas .

  2. Conceda a identidades externas (entidades de serviço) ou acesso a grupos a clusters MongoDB .

  3. Conecte seu aplicação ao Atlas com um Driver MongoDB .

Para acessar os clusters do MongoDB Atlas com o Azure Managed Identities ou o Azure Service Principals, você precisa registrar um aplicação de ID do Azure Entra. Se você tiver um registro de aplicação existente para acesso ao Workforce (usuário humano), recomendamos que você registre um aplicação separado para acesso ao Workload.

1
  1. Navegue até App registrations.

    1. Em sua conta do portal do Azure, pesquise e clique em Microsoft Entra ID.

    2. Na seção Manage da navegação à esquerda, clique em App registrations.

  2. Clique em New registration.

  3. Aplique os seguintes valores.

    Campo
    Valor

    Name

    Atlas Database - Workload

    Supported Account Types

    Accounts in this organizational directory only (single tenant)

    Redirect URI

    Web

2

É uma prática recomendada usar identificadores principais de serviço como identificadores de usuário do MongoDB ao definir direitos de acesso no Atlas. Se você planeja usar essa abordagem comum, pule esta etapa. No entanto, se preferir usar identificadores de grupo, como o identificador do Grupo de Segurança do Azure AD, você pode definir a reivindicação de grupos no registro do aplicação com as etapas abaixo.

  1. Navegue até Token Configuration.

    Na seção Manage da navegação à esquerda, clique em Token Configuration.

  2. Clique em Add groups claim.

  3. No modal Edit groups claim, selecione Security.

    Quais grupos você seleciona dependem do tipo de grupos que você configurou em seu ambiente Azure. Talvez seja necessário selecionar um tipo diferente de grupo para enviar as informações apropriadas do grupo.

  4. Na seção Customize token properties by type , certifique-se de selecionar apenas Group ID.

    Quando você seleciona Group Id, o Azure envia o ID de objeto do grupo de segurança.

  5. Clique em Add.

    Para saber mais sobre como adicionar uma declaração de grupo, consulte Documentação do Azure.

3
  1. Navegue até Expose an API na barra lateral esquerda e ative o URI do ID do aplicativo.

  2. Ative um URI de ID de aplicativo.

    1. Mantenha o URI de ID de aplicativo padrão atribuído pelo Azure, que é <application_client_id>. Copie e armazene este valor, pois o MongoDB Atlas e todos os drivers MongoDB exigem este valor para a configuração do Workload Identity Federation.

4
  1. Na seção Manage da navegação à esquerda, clique em Manifest.

  2. Atualize o requestedAccessTokenVersion de null para 2.

    O número 2 representa a Versão 2 dos tokens de acesso da Microsoft. Outros aplicativos podem usar isso como um atestado assinado da identidade do usuário gerenciado pelo Active Directory. A versão 2 garante que o token seja um JSON Web Token que o MongoDB entenda.

  3. Clique em Save.

Para saber mais sobre como adicionar uma reivindicação opcional, consulte Documentação do Azure.

5
  1. Na navegação à esquerda, clique em Overview.

    Copie o valor Application (client) ID.

  2. Na navegação superior, clique em Endpoints.

    Copie o valor OpenID Connect metadata document sem a parte /.well-known/openid-configuration.

    Você também pode recuperar este valor seguindo oURL OpenID Connect metadata document e copiando o valor para issuer.

A tabela abaixo mostra como estes valores de UI do Microsoft Entra ID são mapeados em nossas propriedades de configuração do Atlas:

IU do Microsoft Entra ID
Propriedade de Configuração do Atlas

OpenID Connect metadata document (without /.well-known/openid-configuration)

Issuer URI.

Application (client) ID

Client ID.

Application ID URI (<Application ID>)

Audience

Você não precisa fazer nenhuma alteração de configuração em sua conta do Google Cloud Platform .

Observação

Pré-requisitos

Este procedimento exige ter acesso Organization Owner e pressupõe que você já tenha configurado seu IdP externo. Para saber como configurar um IdP, consulte Como configurar um aplicativo de fornecedor de identidade externo.

Você pode configurar o Workload Identity Federation para acesso ao banco de dados de dados no Atlas a partir do Federation Management Console.

Para configurar um fornecedor de identidade da Federação de identidade de volume de trabalho com o ID do Azure Entra no Atlas:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Na barra lateral, clique em Federation sob o título Identity & Access.

  3. Clique em Open Federation Management App.

A página Federação é exibida.

2
  1. Clique Set Up Identity Provider ou Configure Identity Provider

  2. Selecione Workload Identity Provider e clique em Continue.

3
Contexto
necessidade
Valor

Configuration Name

Obrigatório

Especifique um etiqueta legível por humanos que identifique esta configuração. Este rótulo é visível para Atlas users.

Configuration Description

Opcional

Descreva esta configuração.

Issuer URI

Obrigatório

Especifique o valor do URI do emissor fornecido pelo registro do aplicação Microsoft Entra ID. Para saber mais, consulte a tabela em Preparar sua identidade externa.

Público

Obrigatório

Especifique o valor de URI do ID do aplicativo a partir do registro do aplicação de ID do Azure Entra. Para saber mais, consulte a tabela em Preparar sua identidade externa.

Tipo de autorização

Obrigatório

Selecione Group Membership para conceder autorização com base na associação do grupo ou selecione User ID para autorizar um usuário individual.

É mais comum usar o ID do usuário para acesso ao aplicação .

Groups Claim

Condicional

Especifique o identificador da declaração que inclui as informações de associação ao grupo de usuários do IdP principal. Se você selecionar Groups Membership como tipo de autorização , deverá especificar este campo. Deixe o valor definido para o padrão, groups.

Padrão: groups

User Claim

Obrigatório

Não modifique o valor padrão, sub.

Padrão: sub

4
5
  1. Clique em Connect Organizations.

  2. Para a organização que você deseja conectar ao Workload Identity Federation, clique em Configure Access.

  3. Clique em Connect Identity Provider.

    Observação

    Se você já configurou outro IdP, o Atlas exibirá um botão Connect Identity Provider(s) .

6

No modal Connect Identity Provider(s) , selecione um Workload Identity Provider onde o Purpose é Workload Identity Federation.

7

Quando você conecta seu fornecedor de identidade de carga de trabalho a uma organização, o Atlas habilita a federação de identidade de carga de trabalho para todos os projetos dentro dessa organização.

Para configurar um provedor de identidade da federação de identidade de carga de trabalho com Google Cloud Platform no Atlas:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Na barra lateral, clique em Federation sob o título Identity & Access.

  3. Clique em Open Federation Management App.

A página Federação é exibida.

2
  1. Clique Set Up Identity Provider ou Configure Identity Provider

  2. Selecione Workload Identity Provider e clique em Continue.

3
Contexto
necessidade
Valor

Configuration Name

Obrigatório

Especifique um etiqueta legível por humanos que identifique esta configuração. Este rótulo é visível para Atlas users.

Configuration Description

Opcional

Descreva esta configuração.

Issuer URI

Obrigatório

Insira o URI https://accounts.google.com.

Público

Obrigatório

Especifique qualquer valor personalizado. O público é usado ao chamar drivers do MongoDB .

Tipo de autorização

Obrigatório

Selecione Group Membership para conceder autorização com base na associação ao grupo ou selecione User ID para autorizar usuários individuais.

É mais comum usar o ID do usuário para acesso ao aplicação .

User Claim

Obrigatório

Não modifique o valor padrão, sub.

Padrão: sub

4
5
  1. Clique em Connect Organizations.

  2. Para a organização que deseja conectar ao Workload Identity Federation, clique em Configure Access.

  3. Clique em Connect Identity Provider.

    Observação

    Se você já configurou outro IdP, o Atlas exibirá um botão Connect Identity Provider(s) .

6

No modal Connect Identity Provider(s) , selecione um Workload Identity Provider onde o Purpose é Workload Identity Federation.

7

Quando você conecta seu fornecedor de identidade de carga de trabalho a uma organização, o Atlas habilita a federação de identidade de carga de trabalho para todos os projetos dentro dessa organização.

Antes de começar, você deve ter o seguinte para adicionar um usuário de banco de dados de dados :

  • Project Owner Acesso

  • Federação de Identidade de Volume de Trabalho configurada no Atlas e habilitada para sua Organização.

1
2

Na seção Authentication Method, selecione Federated Auth.

Observação

Até ativar o IdP de volume de trabalho para a sua organização, você não pode selecionar essa caixa.

3
  1. Na seção Select Identity Provider , selecione um Fornecedor de Identidade de Volume de Trabalho configurado.

  2. Especifique o identificador de usuário ou identificador de grupo associado ao seu provedor de identidade de carga de trabalho configurado.

Observação

  • Para usuários do Azure Entra ID, esse valor é mapeado para o ID do objeto do seu grupo de usuários do Azure em vez do nome do grupo de usuários.

  • Para usuários do GCP, esse valor é mapeado para a ID exclusiva de sua conta de serviço do GCP.

4
5
  • Se você adicionou um usuário, clique no botão Add User .

  • Se você adicionou um grupo, clique no botão Add Group .

Use a versão listada ou superior dos seguintes drivers do MongoDB para conectar um aplicação ao MongoDB com autenticação do Workload Identity Federation:

Observação

Este procedimento é apenas para usuários que gerenciam suas próprias chaves de assinatura.

Não use este recurso para girar suas chaves de assinatura. Quando você rotaciona as chaves de assinatura do Workload Identity Federation, o MongoDB obtém 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:

1
2
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Na barra lateral, clique em Federation sob o título Identity & Access.

  3. Clique em Open Federation Management App.

A página Federação é exibida.

3
4
5
6

Depois de clicar em Revoke, o MongoDB busca as novas chaves por meio do endpoint JWKS. Você deve reiniciar seus clientes (como mongosh ou Compass) depois de revogar o JWKS.

Para excluir sua configuração do Workload Identity Federation:

1
  1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

  2. Na barra lateral, clique em Federation sob o título Identity & Access.

  3. Clique em Open Federation Management App.

A página Federação é exibida.

2
  1. Clique em Organizations na barra lateral esquerda.

  2. Clique na organização que tem a Federação de Identidade de Volume de Trabalho habilitada.

  3. Clique em Disconnect no menu suspenso Manage no cartão Workload Identity Federation.

  4. No modal Disconnect identity provider?, clique em Disconnect.

    Ao desconectar um IdP, os usuários que fazem a autenticação usando o IdP perdem o acesso ao Workload Identity Federation nos projetos do Atlas listados na tabela Project .

3

Clique em Identity Providers na barra de navegação do lado esquerdo.

4
5

No modal Delete Identity Provider?, clique em Delete.

Voltar

Força de trabalho (Humanos)