Menu Docs

Configurar MongoDB com Federação de Identidade de Volume de Trabalho

Configure o MongoDB com o Workload Identity Federation para autenticar serviços em diferentes plataformas. Isso aumenta a segurança e simplifica o gerenciamento de identidade do serviço.

Importante

O OpenID Connect (OIDC) é compatível apenas com Linux.

  • Verifique se você está no MongoDB Enterprise.

    Para verificar se você está usando o MongoDB Enterprise, passe a --version opção de linha de comando para o mongod mongosou:

    mongod --version

    Na saída deste comando, procure a string modules: subscription ou modules: enterprise para confirmar que você está usando os binários MongoDB Enterprise.

  • Configure seu provedor de identidade externo. Para obter mais detalhes, consulte Configurar um provedor de identidade externo.

1

Para configurar o MongoDB Server, habilite o mecanismo de autenticação MONGODB-OIDC e use oidcIdentityProviders para especificar as configurações do provedor de identidade (IDP).

Observação

Ao configurar MongoDB para Workload Identity Federation, configure o supportsHumanFlows campo oidcIdentityProviders em false para.

Você pode configurar o servidor MongoDB utilizando seu arquivo de configuração ou linha de comando.

Para usar seu arquivo de configuração, especifique dois parâmetros no arquivo:

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: [ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"matchPattern": "@mongodb.com$",
"JWKSPollSecs": 86400
} ]

Para usar a linha de comando, especifique o seguinte:

mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"matchPattern": "@mongodb.com$",
"JWKSPollSecs": 86400
} ]'
2

Para habilitar a autorização interna, configure o campo useAuthorizationClaim do parâmetro oidcIdentityProviders para false. Essa configuração permite um gerenciamento de usuários mais flexível, dependendo dos documentos do usuário em vez de em declarações de autorização do provedor de identidade.

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: [ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"matchPattern": "@mongodb.com$",
"useAuthorizationClaim": "false",
"JWKSPollSecs": 86400
} ]
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"matchPattern": "@mongodb.com$",
"useAuthorizationClaim": "false",
"JWKSPollSecs": 86400
} ]'

Ao definir useAuthorizationClaim como false, os usuários que se autenticam com o mecanismo MONGODB-OIDC obtêm seus direitos de autorização de um documento de usuário no $external. O servidor pesquisa um documento de usuário com um _id correspondente ao valor da declaração authNamePrefix/principalName para cada tentativa de autenticação baseada em OIDC para um usuário do seu provedor de identidade.

Importante

Se este campo estiver configurado false para, não inclua o authorizationClaim campo.