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

Configurar Federação de Identidade da Força de Trabalho com a OIDC

Nesta página

  • Acesso necessário
  • Procedimentos
  • Configurar um aplicativo de provedor de identidade externo
  • Configurar autenticação da Federação de Identidade da Força de Trabalho
  • Adicionar um usuário de banco de dados usando a autenticação do Workforce
  • Conecte um aplicativo ao MongoDB com o Workforce Identity Federation
  • Gerenciar uma configuração de federação de identidade da força de trabalho existente
  • Revoke JWKS
  • Excluir uma configuração do fornecedor de identidade da força de trabalho

No MongoDB 7.0 e posterior, a Federação de Identidade da Força de Trabalho permite que você use um Provedor de Identidade (IdP) externo, como seuIdP corporativo, para autenticar e autorizar uma determinada força de trabalho, como funcionários, parceiros e terceirizados.

Com o Workforce Identity Federation, você pode:

  • Gerencie o acesso de sua força de trabalho aos sistemas do MongoDB por meio de seu IdP existente.

  • Aplique políticas de segurança, como complexidade de senhas, rotação de credenciais e MFA em seu IdP.

  • Conceda acesso para um grupo de usuários do ou um único usuário.

Depois de configurar seu IdP externo e adicioná-lo à Federação de Identidade da Força de Trabalho uma vez, você poderá ativar o Provedor de Identidade da Força de Trabalho para várias organizações do Atlas . Depois de ativar a Federação de Identidade da Força de Trabalho em uma determinada organização, você poderá usá-la em todos os projetos nessa organização para acesso ao banco de dados de dados.

O Workforce Identity Federation é suportado por clusters dedicados do Atlas (M10 e superior) que executam o MongoDB versão 7.0.11 e superior. Você precisa usar o MongoDB Shell ou Compass para acessar o Atlas com o Workforce Identity Federation.

Para saber mais sobre como implementar o acesso à Federação de Identidade da Força de Trabalho, consulte Conectar um aplicativo ao MongoDB com a Federação de Identidade da Força de Trabalho.

Para gerenciar a configuração do Workforce Identity Federation, você deve ter acesso de Organization Owner ao Atlas.

Para acessar Atlas clusters com o Workforce Identity Federation, complete as seguintes etapas:

  1. Configure um fornecedor de identidade da força de trabalho (configuração única).

    1. Configure seu provedor de identidade externo.

    2. Configure o Workforce Identity Provider no Atlas e habilite-o para seu |serviço| organização(ões) .

  2. Conceda a identidades externas (entidades de usuário) ou acesso a grupos a clusters MongoDB .

  3. Autentique-se em seus Atlas clusters com MongoDB Shell ou Compass.

Para configurar a Federação de Identidade da Força de Trabalho com OIDC, registre seu aplicativo OIDC com um IdP que ofereça suporte ao padrão OIDC , como Microsoft Entra ID, Okta ou Ping Identity.

Observação

O Workforce Identity Federation é compatível apenas com o JSON web token para autenticação. Não suporta tokens de acesso opacos.

Você pode configurar seu aplicativo OIDC para os seguintes tipos de concessão:

  • Fluxo de código de autorização com PKCE

  • Fluxo de autorização do dispositivo

O MongoDB recomenda que você use o fluxo de código de autorização com o PKCE para aumentar a segurança. Use o fluxo de autorização de dispositivo somente se os usuários precisarem acessar o banco de dados a partir de máquinas sem navegador.

As etapas de registro do aplicativo OIDC podem variar de acordo com seu IdP. Certifique-se de preencher os seguintes itens durante o processo de registro:

1

Selecione public client/native application como o tipo de cliente .

2
3

Para grupos, esta etapa garante que seus tokens de acesso contenham as informações de associação de grupo do usuário que está autenticando. O MongoDB usa os valores enviados em uma reivindicação de grupos para autorização.

4

(Opcional) Permita tokens de atualização se quiser que os clientes do MongoDB atualizem os tokens para uma melhor experiência do usuário.

5

(Opcional) Configure a duração do token de acesso (exp reivindicação) para alinhar com o tempo da sessão de conexão do banco de dados.

Após registrar seu aplicação, salve os valores issuer, clientId e audience para utilizar na próxima etapa da configuração do Atlas Workforce IdP.

Para registrar seu aplicação OIDC com o ID Microsoft Entra:

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 - Workforce
    Supported Account Types
    Accounts in this organizational directory only (single tenant)
    Redirect URI
    - Public client/native (mobile & desktop)
    - http://localhost:27097/redirect
  4. Clique em Register.

Para saber mais sobre como registrar um aplicativo, consulte Documentação do Azure.

2
  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 , selecione apenas Group ID.

  5. Clique em Add.

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

3
  1. Clique em Add optional claim.

  2. No modal Add optional claim, selecione Access.

  3. Selecione uma declaração que contenha um identificador de usuário que você possa consultar nos registros de acesso do MongoDB, como um e-mail.

    Você pode usar a declaração UPN para identificar os usuários com seus endereços de e-mail.

  4. Clique em Add.

  5. Na anotação Microsoft Graph Permissions, marque a caixa e clique em Add.

Para saber mais, consulte Documentação do Azure.

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 obter esse valor copiando o valor de issuer na URL OpenID Connect metadata document .

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
Application (client) ID
Client ID
Audience
OpenID Connect metadata document (without /.well-known/openid-configuration)
Issuer URI.

Observação

Pré-requisitos

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

Você pode configurar a Federação de Identidade da Força de Trabalho com OIDC para acesso ao banco de dados no Atlas a partir do Federation Management Console.

Para configurar um Fornecedor de Identidade da Força de Trabalho no Atlas:

1
  1. Navegue até as configurações da Organização.

  2. Clique em Open Federation Management App.

2

Você deve verificar a propriedade do domínio que você registra com seu IdP. Você pode pular esta etapa se já tiver registrado seu domínio para SAML SSO com o Atlas.

  1. Selecione Domínios na barra lateral esquerda.

  2. Clique no botão Add Domain.

  3. Insira um nome de exibição na caixa Display Name .

  4. Insira um nome de domínio na caixa Domain Name .

  5. Selecione o método que deseja usar para verificar se você é o proprietário do domínio clicando no botão HTML File Upload ou DNS Record .

  6. Se você selecionou HTML File Upload, baixe o arquivo HTML fornecido e faça o upload para seu domínio para que fique acessível em https://<your-domain/mongodb-site-verification.html>.

  7. Se você selecionou DNS Record, copie o TXT Record fornecido e carregue-o no provedor de domínio.

  8. Clique em Continue.

  9. Por fim, na página Domains , clique no botão Verify do seu domínio recém-adicionado.

3
  1. Clique em Identity Providers na barra lateral esquerda.

  2. Execute uma das seguintes etapas:

    • Se você ainda não tiver nenhum provedor de identidade configurado, clique em Setup Identity Provider.

    • Caso contrário, na tela Identity Providers , clique em Configure Identity Provider(s).

  3. Selecione Workforce Identity Provider e clique em Continue.

  4. Selecione OIDC for Data Access.

4
Contexto
necessidade
Valor
Configuration Name
Obrigatório
Etiqueta legível por humanos que identifica esta configuração. Este rótulo é visível para seus usuários do Atlas .
Configuration Description
Opcional
Etiqueta legível por humanos que descreve esta configuração.
Issuer URI
Obrigatório
Valor do emissor fornecido pelo seu aplicativo IdP registrado. Usando esse URI, o MongoDB encontra um documento de configuração do provedor OpenID, que deve estar disponível no endpoints /.wellknown/open-id-configuration.
Client ID
Obrigatório
Identificador único do seu aplicação registrado . Insira o clientId valor do aplicativo que você registrou com o provedor de identidade externo.
Público
Obrigatório
Entidade para a qual seu provedor de identidade externo pretende o token. Insira o audience valor do aplicativo que você registrou com o provedor de identidade externo. Geralmente, esse valor é igual ao Client ID.
Tipo de autorização
Obrigatório
Selecione Group Membership para conceder autorização com base na associação ao grupo de usuários do IdP ou selecione User ID para conceder uma autorização de usuário individual.
Requested Scopes
Opcional

Tokens que dão aos usuários permissão para solicitar dados do endpoints de autorização. Se você planeja oferecer suporte a tokens de atualização, esse campo deve incluir o valor offline_access.

Se o seu provedor de identidade for o Microsoft Entra ID, o Atlas exige esta configuração. Adicione o escopo padrão, que é <application client id>/.default.

Para cada escopo adicional que você deseja adicionar, clique em Add more scopes.

User Claim
Obrigatório

Identificador da declaração que inclui a identidade principal do usuário. Aceite o valor padrão, a menos que seu IdP use outra declaração.

Padrão: sub

Groups Claim
Obrigatório

Identificador da declaração que inclui as informações de associação ao grupo de usuários do IdP principal. Aceite o valor padrão, a menos que seu IdP use uma declaração diferente ou você precise de uma declaração personalizada. Este campo só é obrigatório se você selecionar Groups Membership.

Padrão: groups

5
6
  1. Em seu cartão Fornecedor de identidade da força de trabalho, clique em Associate Domains.

  2. No modal Associate Domains with Identity Provider, selecione um ou mais domínios.

  3. Clique em Submit.

7
  1. Clique em Connect Organizations.

  2. Para a organização que deseja conectar ao Provedor de Identidade da Força de Trabalho, clique em Configure Access.

  3. Clique em Connect Identity Provider.

    Observação

    Se você tiver outro IdP configurado, este botão dirá Connect Identity Provider(s).

8

No modal Connect Identity Provider(s) , selecione um fornecedor de identidade da força de trabalho onde o Purpose é Workforce Identity Federation.

9

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

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Database Access sob o título Security.

    A página Acesso ao banco de dados é exibida.

2

Clique em Add New Database User or Group.

Observação

Até que você aplique seu IdP de força de trabalho ao Atlas, este botão diz Add New Database User.

3

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

Observação

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

4

a. Na seção Select Identity Provider , selecione um provedor de identidade OIDC configurado.

  1. Especifique o identificador de usuário ou o identificador de grupo associado ao seu Workforce Identity Provider 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.

5

Para atribuir privilégios ao novo usuário ou grupo, faça uma ou mais das seguintes tarefas:

  • Selecione uma função integrada no menu suspenso Built-in Role.

    • Você pode selecionar um papel embutido por grupo de banco de dados na UI do Atlas.

    • Se você excluir a opção padrão, você poderá clicar em Add Built-in Role para selecionar um novo papel embutido.

  • Selecione ou adicione funções personalizadas.

    • Se você tiver alguma função personalizada definida, poderá expandir a seção Custom Roles e selecionar uma ou mais funções no menu suspenso Custom Roles .

    • Clique em Add Custom Role para adicionar mais funções personalizadas.

    • Clique no link Custom Roles para visualizar os papéis personalizados para seu projeto.

  • Adicionar privilégios.

    • Expanda a seção Specific Privileges e selecione um ou mais privilégios do Specific Privileges menu suspenso.

    • Clique em Add Specific Privilege para adicionar mais privilégios. Isso atribui privilégios específicos do grupo em bancos de dados e coleções individuais.

  • Remova uma função ou privilégio aplicado.

    • Clique em Delete ao lado do
      função ou privilégio a ser excluído.

    Observação

    O Atlas não exibe o ícone Delete ao lado de sua seleção Built-in Role, Custom Role ou Specific Privilege se você tiver selecionado apenas uma opção. Você pode excluir o papel ou privilégio selecionado após aplicar outro papel ou privilégio.

O Atlas pode aplicar um papel embutido, múltiplos papéis personalizados e múltiplos privilégios específicos para um grupo do banco de dados.

Para saber mais sobre autorização, consulte Controle de acesso baseado em funções e Funções incorporadas no manual MongoDB.

6

Por padrão, os grupos podem acessar todos os clusters e instâncias do banco de dados federado no projeto. Para restringir o acesso a clusters específicos e instâncias do banco de dados federado:

  1. Alterne Restrict Access to Specific Clusters/Federated Database Instances para On.

  2. Selecione os clusters e as instâncias de banco de dados federados aos quais conceder acesso ao grupo na lista Grant Access To.

7

Alterne Temporary User ou Temporary Group para On e escolha um tempo após o qual o Atlas pode excluir o usuário ou grupo a partir da lista suspensa Temporary User Duration ou Temporary Group Duration . Você pode selecionar um dos seguintes períodos para o grupo existir:

  • 6 horas

  • 1 dia

  • 1 semana

Na guia Database Users , usuários ou grupos temporários exibem o tempo restante até que o Atlas exclua os usuários ou grupo. Depois que o Atlas exclui o usuário ou grupo, qualquer cliente ou aplicativo que use as credenciais temporárias do usuário ou grupo perde o acesso ao cluster.

8

Execute uma das seguintes etapas:

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

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

A seguir, listamos maneiras de conectar um aplicação ao MongoDB com a autenticação do Workforce Identity Federation:

Observação

Use o procedimento a seguir somente se você gerenciar suas próprias chaves de assinatura.

Não use este recurso para girar suas chaves de assinatura. Ao rotacionar as chaves de assinatura do Workforce Identity Provider, o MongoDB obtém o JWKS automaticamente quando os tokens de acesso existentes expiram.

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 a configuração do seu provedor de identidade da força de trabalho:

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 da Força de Trabalho habilitada.

  3. Clique em Disconnect no menu suspenso Manage no cartão Workforce 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 Workforce Identity Federation nos projetos do Atlas listados na tabela Project .

4
5
6

No modal Delete Identity Provider?, clique em Delete.

Voltar

OIDC/OAuth2.0