Configurar Federação de Identidade da Força de Trabalho com a OIDC
Nesta página
- Acesso necessário
- Pré-requisitos
- Procedimentos
- Configurar um aplicativo de provedor de identidade externo
- Configurar autenticação da Federação de Identidade da Força de Trabalho
- Configurar autorização OIDC
- Conecte-se ao MongoDB com o Workforce Identity Federation
- Gerenciar uma configuração de federação de identidade da força de trabalho existente
- Revoke JWKS
- Editar uma configuração
- Excluir uma configuração
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 autenticação multifatorial em seu IdP.
Você só pode criar uma Workforce Identity Federation por projeto, mas pode editar ou recriar a configuração a qualquer momento.
Acesso necessário
Para configurar a Federação de Identidade da Força de Trabalho, você deve ter Project Owner
acesso de ao Ops Manager.
Pré-requisitos
Você deve ter o seguinte:
mongosh
1.9.1 ou posterior.MongoDB 7.0 ou posterior.
Pelo menos um outro mecanismo de autenticação com MongoDB Agent configurado.
Observação
O MongoDB Agent não pode se conectar à sua implantação via OIDC. Você deve habilitar um mecanismo de autenticação adicional para o MongoDB Agent. Se o Ops Manager não gerenciar o Monitoring ou o Backup, você deverá configurá-los manualmente para usar o mecanismo de autenticação alternativo.
Procedimentos
Para acessar os sistemas do Ops Manager com o Workforce Identity Federation, complete as seguintes etapas:
Configure um fornecedor de identidade da força de trabalho (configuração única).
Conceder identidades externas (entidades de usuário) ou acesso a grupos.
Configurar um aplicativo de provedor de identidade externo
Observação
Se você quiser redefinir as configurações de autenticação e TLS para o seu projeto, primeiro desmarque qualquer MongoDB que o Ops Manager managed no seu projeto.
Para configurar a Federação de Identidade da Força de Trabalho com OIDC , registre seu aplicação OIDC com um IdP que ofereça suporte ao padrão OIDC , como Microsoft Entra ID, Okta ou Ping Identity.
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:
As etapas genéricas de registro para seu aplicação OIDC são as seguintes:
(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.
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.
CampoValorNameOps Manager 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 a seguir mostra como esses valores da interface do usuário do Microsoft Entra ID são mapeados em nossas propriedades de configuração do MongoDB Atlas :
IU do Microsoft Entra ID | Propriedade de Configuração do MongoDB 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
Para configurar a Federação de Identidade da Força de Trabalho com OIDC, conclua o procedimento a seguir.
Observação
O Workforce Identity Federation é compatível apenas com o JSON web token para autenticação. Não suporta tokens de acesso opacos.
Navegue até a Security Settings caixa de diálogo para seu sistema.
Selecione a organização que contém seu projeto Organizations no menu da barra de navegação.
Selecione seu projeto no menu Projects na barra de navegação.
Clique em Deployment na barra lateral.
Clique na aba Security.
Clique na aba Settings.
Realize uma das seguintes ações:
Se esta for a primeira vez que você define configurações de TLS, autenticação ou autorização para este projeto, clique em Get Started.
Se você já configurou a autenticação do TLS ou as configurações de autorização deste projeto, clique em Edit.
Opcional: Especifique as Configurações do TLS.
Campo | em ação | ||||
---|---|---|---|---|---|
MongoDB Deployment Transport Layer Security (TLS) | Alterne este controle deslizante para ON. | ||||
Caminho do arquivo TLS CA | O arquivo da autoridade de certificação TLS é um arquivo de certificado no formato A chave privada criptografada para o Digite o caminho do arquivo da autoridade de certificação TLS em cada host que estiver executando um processo do MongoDB:
Isto habilita a configuração do Clique em Validate para testar se cada host no seu sistema tem uma Autoridade de Certificado TLS nos caminhos especificados. | ||||
Caminho do arquivo TLS CA do cluster | O arquivo Se você não especificar
| ||||
Modo de certificado de cliente | Selecione se os aplicativos do cliente ou os MongoDB Agents devem apresentar um certificado TLS ao se conectar asistemas MongoDB habilitadas para TLS. Cada sistema do MongoDB verifica se há certificados desses hosts cliente quando eles tentam se conectar. Se você optar por exigir os certificados TLS do cliente , verifique se eles são válidos. Os valores aceitos são:
|
Crie uma nova configuração do OIDC IdP.
Na seção OIDC Connection and Authorization (Required for OIDC), clique em + OIDC IdP Configuration.
Na caixa de diálogo OIDC Protocol Settings, selecione Workforce Identity Federation.
Insira as seguintes configurações.
Contexto | necessidade | Valor |
---|---|---|
Configuration Name | Obrigatório | Etiqueta exclusiva que identifica esta configuração. Esse rótulo é visível para os usuários do Ops Manager e é usado ao criar usuários e roles para autorização. Ela diferencia maiúsculas de minúsculas e só pode conter os seguintes caracteres:
Depois de salvar a configuração, você não poderá editar o nome da 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. |
Audience | 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. |
Requested Scopes | Opcional | Tokens que dão aos usuários permissão para solicitar dados do endpoints de autorização. Para cada escopo adicional que você deseja adicionar, clique em Add more scopes. |
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. |
Customize User Claim | Obrigatório | O identificador da reclamação que inclui a identidade principal do utilizador. Aceite o valor padrão, a menos que seu IdP use uma declaração diferente. Padrão: |
Customize Group Claim | Obrigatório | Necessário se você selecionar Padrão: |
Clique em.<a class=\" \" href=\" \"Save Configuration title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
O Ops Manager salva a configuração e a lista na seção OIDC Connection and Authorization (Required for OIDC).
Configurar autorização OIDC
O MongoDB não cria explicitamente usuários do banco de dados de dados para OIDC . Ele mapeia os usuários do OIDC para as funções do MongoDB com base na configuração.
Selecione uma aba dependendo do tipo de autorização que você selecionou ao configurar a autenticação do OIDC.
Se você selecionou o Group Membership
tipo de autorização, complete as etapas a seguir para criar uma função personalizada que conceda autorização com base na associação ao grupo de usuários do IdP:
Crie o papel OIDC.
Insira os seguintes campos:
CamponecessidadeDescriçãoIdentifierObrigatórioNa caixa Database , digite
admin
.Na Name caixa, insira o nome da configuração do OIDC IdP e o nome do grupo do provedor de identidade externo, separados por uma
/
barra:{configuration_name}/{group_name} Inherits FromOpcionalUma lista de pares de nomes de roles e reconhecimento de data center. O formato para esses pares éroleName@dbName
.Authentication RestrictionsOpcionalUma lista de endereços IP ou notações CIDR que você deseja restringir do seu IdP.Privilege Actions by ResourceOpcionalação permitidas no recurso.
Para saber mais, consulte Ações de privilégio.
Clique em Add Role.
Se você selecionou o tipo de autorização User ID
, crie um novo usuário para conceder uma autorização de usuário individual :
Adicione o usuário do OIDC.
Observação
Antes de adicionar usuários, certifique-se de ter criado todas as funções que deseja atribuir aos usuários.
Preencha os campos da conta de usuário:
CampoDescriçãoIdentifierNo primeiro campo, insira o banco de banco de dados
$external
.No segundo campo, insira um nome de usuário usando seu nome de configuração OIDC IdP e a reivindicação principal de usuário de sua configuração, separados por uma barra
/
:{configuration_name}/{user_principal_claim}
RolesInsira quaisquer roles definidas pelo usuário disponíveis e roles incorporadas nesta caixa. A caixa de combinação fornece uma lista de funções existentes quando você clica nela.Authentication RestrictionsClique em Add Entry.
Adicione um ou mais endereços IP e/ou blocos CIDR nas caixas Client Source Server Address ou. Separe vários endereços ou blocos com vírgulas.
Client Source restringe quais endereços esse usuário pode autenticar e usar as roles fornecidas.
Server Address restringe os endereços que esse usuário pode autenticar e tem os roles fornecidos.
Clique em Save.
Para adicionar outra entrada, clique em Add Entry.
Clique em Add User.
Conecte-se ao MongoDB com o Workforce Identity Federation
Use mongosh
ou Compass para conectar um aplicação ao MongoDB com autenticação do Workforce Identity Federation.
Gerenciar uma configuração de federação de identidade da força de trabalho existente
Para gerenciar sua configuração da Federação de Identidade do Workforce, você pode executar as seguintes ações.
Revoke JWKS
Observação
Não use este recurso para girar suas chaves de assinatura. Quando você alterna as chaves de assinatura do IdP do OIDC , o MongoDB busca 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:
Navegue até a Security Settings caixa de diálogo para seu sistema.
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Se ainda não estiver exibido, clique em Deployment na barra lateral.
Clique na aba Security.
Clique na aba Settings.
Editar uma configuração
Para editar sua configuração de Federação de Identidade do Workforce:
Navegue até a Security Settings caixa de diálogo para seu sistema.
Selecione a organização que contém seu projeto Organizations no menu da barra de navegação.
Selecione seu projeto no menu Projects na barra de navegação.
Clique em Deployment na barra lateral.
Clique na aba Security.
Clique na aba Settings.
Excluir uma configuração
Para excluir sua configuração da Federação de Identidade da Força de Trabalho:
Navegue até a Security Settings caixa de diálogo para seu sistema.
Selecione a organização que contém seu projeto Organizations no menu da barra de navegação.
Selecione seu projeto no menu Projects na barra de navegação.
Clique em Deployment na barra lateral.
Clique na aba Security.
Clique na aba Settings.