Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

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

Nesta página

  • Como funciona
  • Autenticação integrada
  • Autenticação de chamada de resposta
  • Procedimentos
  • Prepare seu provedor de identidade externo
  • Configurar autenticação da Federação de Identidade do Volume de Trabalho
  • Adicionar um usuário do banco de dados usando a autenticação da federação de identidade do volume de trabalho
  • Conectar um aplicativo ao MongoDB com o Workload Identity Federation
  • Gerenciar uma configuração de federação de identidade de volume de trabalho existente
  • Revoke JWKS
  • Excluir configuração da Federação de Identidade do Volume de Trabalho

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)

Você pode usar a autenticação de chamada de resposta de chamada com qualquer serviço que ofereça suporte a OAuth2.0 acessar tokens. O Workload Identity Federation chama um método de chamada de resposta de chamada, no qual você pode solicitar o JSON web token necessário do servidor de autorização ou do provedor de nuvem que deve ser passado quando o aplicação se conectar ao Atlas com o Workload Identity Federation.

Consulte a documentação do driver escolhido para obter detalhes adicionais de implementação.

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 do Workforce (usuário humano), recomendamos que você registre um aplicação separado para acesso do Workload.

1
  1. Navegue até App registrations.

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

    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 accessTokenAcceptedVersion 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. Clique em Open Federation Management App.

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 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. Clique em Open Federation Management App.

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. Clique no ícone Organization Settings próximo ao menu Organizations.

    A página Configurações da organização é exibida.

3

Na seção Setup Federated Login ou Manage Federation Settings, clique em Visit Federation Management App.

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. Clique no ícone Organization Settings próximo ao menu Organizations.

    A página Configurações da organização é exibida.

2

Na seção Setup Federated Login ou Manage Federation Settings, clique em Visit Federation Management App.

3
  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 .

4

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

5
6

No modal Delete Identity Provider?, clique em Delete.

Voltar

Força de trabalho (Humanos)