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.
Acesso necessário
Para gerenciar a configuração do Workforce Identity Federation, você deve ter acesso de Organization Owner
ao Atlas.
Procedimentos
Para acessar Atlas clusters com o Workforce Identity Federation, complete as seguintes etapas:
Configure um fornecedor de identidade da força de trabalho (configuração única).
Conceda a identidades externas (entidades de usuário) ou acesso a grupos a clusters MongoDB .
Autentique-se em seus Atlas clusters com MongoDB Shell ou Compass.
Configurar um aplicativo de provedor de identidade externo
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:
(Condicional) Adicione ou habilite uma groups declaração se você autenticar com grupos.
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.
(Opcional) Permita tokens de atualização se quiser que os clientes do MongoDB atualizem os tokens para uma melhor experiência do usuário.
(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:
Registre um aplicativo.
Navegue até App registrations.
Em seu portal do Azure conta, pesquise e clique Microsoft Entra ID em .
Na seção Manage da navegação à esquerda, clique em App registrations.
Clique em New registration.
Aplique os seguintes valores.
CampoValorNameAtlas Database - WorkforceSupported Account TypesAccounts in this organizational directory only (single tenant)Redirect URI- Public client/native (mobile & desktop)-http://localhost:27097/redirect
Clique em Register.
Para saber mais sobre como registrar um aplicativo, consulte Documentação do Azure.
Adicione uma reivindicação de grupo.
Navegue até Token Configuration.
Na seção Manage da navegação à esquerda, clique em Token Configuration.
Clique em Add groups claim.
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.
Na seção Customize token properties by type , selecione apenas Group ID.
Clique em Add.
Para saber mais sobre como adicionar uma declaração de grupo, consulte Documentação do Azure.
Adicione uma reivindicação de identificador de usuário ao token de acesso.
Clique em Add optional claim.
No modal Add optional claim, selecione Access.
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.
Clique em Add.
Na anotação Microsoft Graph Permissions, marque a caixa e clique em Add.
Para saber mais, consulte Documentação do Azure.
Atualize o manifesto.
Na seção Manage da navegação à esquerda, clique em Manifest.
Atualize o accessTokenAcceptedVersion de
null
para2
.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.Clique em Save.
Para saber mais sobre como adicionar uma reivindicação opcional, consulte Documentação do Azure.
Lembre-se dos metadados.
Na navegação à esquerda, clique em Overview.
Copie o valor Application (client) ID.
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. |
Configurar autenticação da Federação de Identidade da Força de Trabalho
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:
Adicione e verifique a propriedade do domínio.
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.
Selecione Domínios na barra lateral esquerda.
Clique no botão Add Domain.
Insira um nome de exibição na caixa Display Name .
Insira um nome de domínio na caixa Domain Name .
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 .
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>
.Se você selecionou DNS Record, copie o
TXT Record
fornecido e carregue-o no provedor de domínio.Clique em Continue.
Por fim, na página Domains , clique no botão Verify do seu domínio recém-adicionado.
Configurar fornecedores de identificação.
Clique em Identity Providers na barra lateral esquerda.
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).
Selecione Workforce Identity Provider e clique em Continue.
Selecione OIDC for Data Access.
Insira as seguintes configurações do protocolo do fornecedor de identidade da força de trabalho.
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 Se o seu provedor de identidade for o Microsoft Entra ID, o Atlas exige esta configuração. Adicione o escopo padrão, que é 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: |
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 Padrão: |
Habilite seu fornecedor de identidade da força de trabalho em uma organização.
Clique em Connect Organizations.
Para a organização que deseja conectar ao Provedor de Identidade da Força de Trabalho, clique em Configure Access.
Clique em Connect Identity Provider.
Observação
Se você tiver outro IdP configurado, este botão dirá Connect Identity Provider(s).
Adicionar um usuário de banco de dados usando a autenticação do Workforce
No Atlas, vá Database Access para a página 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 seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Database Access sob o título Security.
A página Acesso ao banco de dados é exibida.
Abra a Add New Database User or Group caixa de diálogo .
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.
Selecione Federated Auth.
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.
Selecione o fornecedor de identidade e identificador
a. Na seção Select Identity Provider , selecione um provedor de identidade OIDC configurado.
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.
Atribuir privilégios de usuário ou grupo.
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.
Especifique os recursos no projeto que o usuário ou grupo pode acessar.
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:
Alterne Restrict Access to Specific Clusters/Federated Database Instances para On.
Selecione os clusters e as instâncias de banco de dados federados aos quais conceder acesso ao grupo na lista Grant Access To.
Salve como usuário ou grupo temporário.
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.
Conecte um aplicativo ao MongoDB com o Workforce Identity Federation
A seguir, listamos maneiras de conectar um aplicação ao MongoDB com a autenticação do Workforce Identity Federation:
Gerenciar uma configuração de federação de identidade da força de trabalho existente
Revoke JWKS
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:
No Atlas, vá para a Organization Settings página .
Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.
Clique no ícone Organization Settings próximo ao menu Organizations.
A página Configurações da organização é exibida.
Excluir uma configuração do fornecedor de identidade da força de trabalho
Para excluir a configuração do seu provedor de identidade da força de trabalho:
No Atlas, vá para a Organization Settings página .
Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.
Clique no ícone Organization Settings próximo ao menu Organizations.
A página Configurações da organização é exibida.
Desconecte cada organização que você conectou ao seu provedor de identidade da força de trabalho.
Clique em Organizations na barra lateral esquerda.
Clique na organização que tem a Federação de Identidade da Força de Trabalho habilitada.
Clique em Disconnect no menu suspenso Manage no cartão Workforce Identity Federation.
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 .
No modal Delete Identity Provider?, clique em Delete.