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.
Como funciona
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.
Autenticação integrada
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) |
Autenticação de chamada de resposta
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.
Procedimentos
Para configurar a Federação de Identidade de Volume de Trabalho do MongoDB:
Configurar o provedor de identidade do volume de trabalho (configuração única).
Configure seu provedor de identidade externo.
Configure o Workload Identity Provider no Atlas e habilite-o para sua(s) organização (ões) Atlas .
Conceda a identidades externas (entidades de serviço) ou acesso a grupos a clusters MongoDB .
Prepare seu provedor de identidade externo
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.
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.
CampoValorName
Atlas Database - Workload
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
Web
(Opcional) Adicionar reivindicação de grupos.
É 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.
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 , certifique-se de selecionar apenas Group ID.
Quando você seleciona Group Id, o Azure envia o ID de objeto do grupo de segurança.
Clique em Add.
Para saber mais sobre como adicionar uma declaração de grupo, consulte Documentação do Azure.
Ative um URI de ID de aplicativo.
Navegue até Expose an API na barra lateral esquerda e ative o URI do ID do aplicativo.
Ative um URI de ID de aplicativo.
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.
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 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 .
Configurar autenticação da Federação de Identidade do Volume de Trabalho
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:
Insira as seguintes configurações do Workload Identity Federation.
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 É 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 Padrão: |
User Claim | Obrigatório | Não modifique o valor padrão, Padrão: |
Habilite sua identidade de volume de trabalho para uma organização.
Clique em Connect Organizations.
Para a organização que você deseja conectar ao Workload Identity Federation, clique em Configure Access.
Clique em Connect Identity Provider.
Observação
Se você já configurou outro IdP, o Atlas exibirá um botão Connect Identity Provider(s) .
Para configurar um provedor de identidade da federação de identidade de carga de trabalho com Google Cloud Platform no Atlas:
Insira as seguintes configurações do Workload Identity Federation.
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 |
Público | Obrigatório | Especifique qualquer valor personalizado. O público é usado ao chamar drivers do MongoDB . |
Tipo de autorização | Obrigatório | Selecione É mais comum usar o ID do usuário para acesso ao aplicação . |
User Claim | Obrigatório | Não modifique o valor padrão, Padrão: |
Habilite sua identidade de volume de trabalho em uma organização.
Clique em Connect Organizations.
Para a organização que deseja conectar ao Workload Identity Federation, clique em Configure Access.
Clique em Connect Identity Provider.
Observação
Se você já configurou outro IdP, o Atlas exibirá um botão Connect Identity Provider(s) .
Adicionar um usuário do banco de dados usando a autenticação da federação de identidade do volume de trabalho
Pré-requisitos
Antes de começar, você deve ter o seguinte para adicionar um usuário de banco de dados de dados :
Project Owner
AcessoFederação de Identidade de Volume de Trabalho configurada no Atlas e habilitada para sua Organização.
Selecione Federated Auth.
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.
Selecione um Fornecedor de Identidade e Identificador.
Na seção Select Identity Provider , selecione um Fornecedor de Identidade de Volume de Trabalho configurado.
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.
Conectar um aplicativo ao MongoDB com o Workload Identity Federation
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:
Gerenciar uma configuração de federação de identidade de volume de trabalho existente
Revoke JWKS
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:
No Atlas, acesse a página Organization Settings.
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 configuração da Federação de Identidade do Volume de Trabalho
Para excluir sua configuração do Workload Identity Federation:
No Atlas, acesse a página Organization Settings.
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.
Desconectar cada organização conectada ao seu fornecedor de identidade de carga de trabalho.
Clique em Organizations na barra lateral esquerda.
Clique na organização que tem a Federação de Identidade de Volume de Trabalho habilitada.
Clique em Disconnect no menu suspenso Manage no cartão Workload 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 Workload Identity Federation nos projetos do Atlas listados na tabela Project .
Clique em Identity Providers na barra de navegação do lado esquerdo.
No modal Delete Identity Provider?, clique em Delete.