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
- Acesso necessário
- Pré-requisitos
- Procedimentos
- Configurar um aplicativo de provedor de identidade externo
- Configurar autenticação da Federação de Identidade do Volume de Trabalho
- Configurar autorização OIDC
- 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
- Editar uma configuração
- Excluir uma configuração
- A autenticação OAuth 2.0 para acesso programático ao Cloud Manager está disponível como um recurso de visualização.
- O recurso e a documentação correspondente podem mudar a qualquer momento durante o período de Pré-visualização. Para usar a 2.0 autenticação OAuth, crie uma conta de serviço para usar em suas solicitações para a API pública do Cloud Manager .
O Workload Identity Federation permite que seus aplicativos acessem implantações do MongoDB Cloud Manager usando identidades programáticas externas, como Azure Service Principals, Azure Managed Identities e Contas de serviço do Google.
Como funciona
O Workload Identity Federation permite que seus aplicativos acessem aos MongoDB deployments com tokens de acesso OAuth 2.0. Os tokens de acesso podem ser emitidos por qualquer fornecedor de identidade externo, incluindo o Azure Entra ID e o Google Cloud Platform. O Cloud Manager armazena os identificadores e privilégios do usuário, mas não os segredos. Esse mecanismo de autenticação para seus aplicativos é suportado apenas por determinados drivers do MongoDB .
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 os Cloud Manager sem fornecer uma senha ou solicitar manualmente um JSON web token 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 JSON web token web token, que é passado para o sistema do Cloud Manager 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 tokens de acesso OAuth 2.0. 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 JSON web token do servidor de autorização ou do provedor de nuvem que você deve passar quando o aplicação se conectar ao Cloud Manager com o Workload Identity Federation.
Consulte a documentação do driver escolhido para obter detalhes adicionais de implementação.
Acesso necessário
Para configurar o Workload Identity Federation, é necessário ter acesso ao Cloud Project Owner
Manager.
Pré-requisitos
Você deve ter o seguinte:
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 Cloud Manager não gerenciar o Monitoramento ou o Backup, você deverá configurá-los manualmente para usar o mecanismo de autenticação alternativo.
Procedimentos
Para configurar a Federação de Identidade do Volume de Trabalho, complete as seguintes etapas:
Configure um fornecedor de identidade de volume 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ê deseja redefinir as configurações de autenticação e TLS para seu projeto, primeiro deixe de gerenciar qualquer MongoDB deployment que o Cloud Manager gerencia em seu projeto.
Para acessar as implantações do Cloud Manager com o Azure Managed Identidades 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 ao Workload (usuário humano), recomendamos que você registre um aplicação separado para acesso ao 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.
CampoValorNameCloud Manager Database - WorkloadSupported Account TypesAccounts in this organizational directory only (single tenant)Redirect URIWeb
(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 Cloud Manager. Se você planeja usar essa abordagem comum, pule esta etapa. No entanto, se você preferir usar identificadores de grupo, como o identificador do Microsoft Entra ID Security Group, poderá 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 Cloud Manager e todos os drivers MongoDB exigem este valor para 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.
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 a URL do OpenID Connect metadata document e copiando o valor para
issuer
.
A tabela a seguir mostra quais propriedades de configuração do Cloud Manager esses valores de interface do usuário do Microsoft Entra ID mapeiam.
IU do Microsoft Entra ID | propriedade de configuração do Cloud Manager |
---|---|
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI. |
Application ID URI (<Application ID>) | Audience |
Você não precisa fazer nenhuma alteração de configuração em sua conta do GCP.
Configurar autenticação da Federação de Identidade do Volume de Trabalho
Observação
O Workload Identity Federation suporta apenas JSON web JSON web token token para autenticação. Não suporta tokens de acesso opacos.
Para configurar um provedor de identidade da Federação de identidade de volume de trabalho com o ID do Azure Entra no Cloud Manager:
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 Workload Identity Federation.
Insira as seguintes configurações.
Contexto | necessidade | Valor |
---|---|---|
Configuration Name | Obrigatório | Etiqueta exclusiva que identifica esta configuração. Este rótulo é visível para seus usuários do Cloud 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 . |
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. |
Tipo de autorização | Obrigatório | Selecione É mais comum utilizar o |
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 Cloud Manager salva a configuração e a lista na seção OIDC Connection and Authorization (Required for OIDC).
Para configurar um provedor de identidade da federação de identidade de carga de trabalho com GCP no Cloud Manager:
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 Workload Identity Federation.
Insira as seguintes configurações.
Contexto | necessidade | Valor |
---|---|---|
Configuration Name | Obrigatório | Etiqueta exclusiva que identifica esta configuração. Este rótulo é visível para seus usuários do Cloud 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 | Insira o URI https://accounts.google.com . |
Audience | Obrigatório | Especifique qualquer valor personalizado. O público é usado ao chamar drivers do MongoDB . |
Tipo de autorização | Obrigatório | Selecione É mais comum utilizar o |
Customize User Claim | Obrigatório | Não modifique o valor padrão, 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 Cloud 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 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.
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.
Conectar um aplicativo ao MongoDB com o Workload Identity Federation
Use os 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
Para gerenciar sua configuração do Workload Identity Federation, 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:
No MongoDB Cloud Manager, acesse aGo Deployment página do seu projeto.
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 a página Deployment ainda não estiver exibida, clique em Deployment na barra lateral.
A página Sistema é exibida.
Vá para a página.<a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \"Security fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
Clique na aba Security para sua implantação.
A página Segurança é exibida.
Editar uma configuração
Para editar sua configuração de Federação de Identidade do Workload:
No MongoDB Cloud Manager, acesse aGo Deployment página do seu projeto.
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 a página Deployment ainda não estiver exibida, clique em Deployment na barra lateral.
A página Sistema é exibida.
Vá para a página.<a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \"Security fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
Clique na aba Security para sua implantação.
A página Segurança é exibida.
Excluir uma configuração
Para excluir sua configuração do Workload Identity Federation:
No MongoDB Cloud Manager, acesse aGo Deployment página do seu projeto.
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 a página Deployment ainda não estiver exibida, clique em Deployment na barra lateral.
A página Sistema é exibida.
Vá para a página.<a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \"Security fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
Clique na aba Security para sua implantação.
A página Segurança é exibida.