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

Configurar um provedor de identidade externo

Nesta página

  • Sobre esta tarefa
  • Antes de começar
  • Passos
  • Próximos passos
  • Saiba mais

Para configurar a Federação de Identidade da Força de Trabalho com OIDC, registre seu aplicação OIDC com um provedor de identidade externo , como Okta ou Microsoft Entra ID. Isso garante a autenticação segura e facilita o gerenciamento de usuários.

O Workforce Identity Federation usa o OIDC. Você pode usar qualquer provedor de identidade externo que ofereça suporte ao padrão OIDC.

Você pode configurar seu aplicação 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 de dados a partir de máquinas sem navegador.

Observação

A Federação de Identidade da Força de Trabalho suporta apenas JWT para autenticação. Não suporta tokens de acesso opacos.

Os procedimentos a seguir fornecem instruções de configuração detalhadas para o Microsoft Entra ID e Okta e instruções de configuração genéricas para outros provedores de identidade externos.

  • Para usar o Okta como um provedor de identidade, você deve ter uma conta do Okta.

  • Para usar o ID Entra do Microsoft como um provedor de identidade, você deve ter uma conta do Microsoft Azure.

1
  1. Navegue até App registrations.

    1. Em seu Azure portal do conta, Atlas Search 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
    MongoDB - Workforce
    Supported Account Types
    Accounts in this organizational directory only (single tenant)
    Redirect URI
    - Public client/native (mobile & desktop)
    - To access clusters using MongoDB Compass and MongoDB Shell, set the Redirect URI to 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 a seguir mostra o que esses valores da interface do usuário do Microsoft Entra ID são mapeados no oidcIdentityProviders parâmetro MongoDB:

IU do Microsoft Entra ID
Campo de parâmetro do MongoDB oidcIdentityProviders
Application (client) ID
clientID
audience
OpenID Connect metadata document (without /.well-known/openid-configuration)
issuer
1

No painel do Okta Admin, use o painel de navegação esquerdo para ir para Applications → Applications.

  1. Na tela Applications, clique em Create App Integration.

  2. Na seção Sign-in method, selecione OIDC - OpenID Connect.

  3. Na seção Application type, selecione Native Application.

  4. Clique em Next.

Para saber mais,consulte Criar integrações de aplicativo OIDC.

2

Depois de criar uma integração de aplicativo, você é automaticamente redirecionado para a tela New Native App Integration.

  1. No campo App integration name, insira um nome para o seu aplicação.

  2. No campo Grant type, selecione os tipos de concessão.

    Habilitar os seguintes tipos de concessão:

    • Authorization Code ou Device Authorization

    • (Opcional) Refresh Token

      Habilitar tokens de atualização fornece uma melhor experiência do usuário. Quando os tokens de atualização não estão habilitados, os usuários devem se autenticar novamente com o provedor de identidade assim que o token de acesso expirar.

  3. Na seção Sign-in redirect URIs, insira uma URL.

    Insira a seguinte URL: http://localhost:27097/redirect.

  4. Na seção Assignments, configure os campos Controlled access e Enable immediate access.

    1. Para o campo Controlled access, selecione Allow everyone in your organization to access.

    2. Para Enable immediate access campo, certifique-se de que Enable immediate access with Federation Broker Mode esteja marcado.

  5. Clique em Save.

Para saber mais, consulte Criar integrações de aplicação OIDC.

3

No painel do aplicação , vá para a aba General e configure o seguinte:

  1. No Client ID campo, clique no ícone para copiar o ID do cliente para uso posterior.

  2. No campo Proof Key for Code Exchange (PKCE), certifique-se de que Require PKCE as additional verification esteja ativado (marcado por padrão).

4

No painel de navegação esquerdo, vá para Security → API. Clique em Add Authorization Server.

  1. No campo Name, insira um nome para o servidor.

  2. No campo Audience, cole o ID do cliente da etapa anterior.

  3. (Opcional) No Description campo, insira uma descrição do seu servidor.

  4. Clique em Save.

Para saber mais,consulte Criar um servidor de autorização.

5

Depois de criar seu servidor de autorização , você é automaticamente redirecionado para a tela do seu servidor de autorização .

Na guia Settings, salve o URI do emissor copiando a primeira parte do Metadata URI até a seção .well-known. A estrutura do URI deve ser semelhante a: https://trial4238026.okta.com/oauth2/ausabgmhveoOQSMsE697.

6

Na tela do servidor de autorização , vá para a aba Claims e clique em Add Claim.

  1. Configure a reivindicação Groups com as seguintes informações de configuração:

    Campo
    Valor
    Name
    Insira um nome para sua reivindicação.
    Include in token type
    Clique no menu suspenso e selecione Access Token.
    Value type
    Clique no menu suspenso e selecione Groups.
    Filter
    Clique no menu suspenso e selecione Matches regex. Ao lado da lista suspensa, insira .*.
    Disable claim
    Não verifique.
    Include in
    Selecione Any scope.
  2. Clique em Create.

Para saber mais,consulte Criar declarações.

7

Na tela do servidor de autorização , vá para a aba Access Policies e clique em Add Policy.

  1. No campo Name, insira um nome de política.

  2. No campo Description, insira uma descrição para a política.

  3. No campo Assign to, selecione All clients.

  4. Clique em Create Policy.

Para saber mais,consulte Criar uma Política de Acesso.

8

Na aba Access Policies, clique em Add Rule.

  1. No campo Rule Name, insira um nome para a política de acesso.

  2. Para IF Grant Type is, selecione um tipo de concessão.

    Ao configurar tipos de concessão, selecione a opção apropriada com base no comportamento do cliente :

    • Se o cliente estiver agindo em nome de si mesmo, selecione Client Credentials.

    • Se o cliente estiver agindo em nome de um usuário, selecione o seguinte:

      • Authorization Code

      • Device Authorization

  3. Adicione configurações de regras com base na política de segurançada sua organização.

    Exemplo de configuração da regra do Okta:

    Campo
    Valor
    AND user is
    Selecione Any user assigned to the app.
    AND Scopes requested
    Selecione Any scopes.
    THEN Use this inline hook
    Nenhum (desabilitado)
    AND Access token lifetime is
    1 Hours
    AND Refresh token lifetime is
    Clique no segundo menu suspenso e selecione Unlimited.
    but will expire if not used every
    Insira 7 days.
  4. Clique em Create Rule.

Para saber mais,consulte Criar regras para cada política de acesso.

9

No painel de navegação esquerdo, vá para Directory → Groups e clique em Add Group.

  1. No campo Name , nomeie seu diretório OIDC.

  2. (Opcional) No Description campo, insira uma descrição para sua regra.

  3. Clique em Save.

Para saber mais,consulte Criar um grupo.

10

No painel de navegação esquerdo, vá para Directory → People e clique em Add Person.

  1. Forneça detalhes do usuário inserindo os seguintes valores nos campos correspondentes:

    Campo
    Valor
    User type
    Selecione User.
    First name
    Forneça o nome conforme necessário.
    Last name
    Forneça o nome conforme necessário.
    Username
    Insira um e-mail como nome de usuário.
    Primary email
    Insira um e-mail. O e-mail deve ser o mesmo usado para o campo Username.
    Secondary email
    Opcional.
    Groups
    Insira OIDC.
    Activation
    Selecione Activate Now e marque I will set password.
    Password
    Insira uma senha.
    User must change password on first login
    Selecione Optional
  2. Clique em Save.

Para saber mais,consulte Adicionar usuários manualmente.

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) Permitir 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 de sessão de conexão do banco de dados de dados

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

Voltar

Força de trabalho (Humanos)