Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ / / / /

Configurar MongoDB com Federação de Identidade da Força de Trabalho

Configure o MongoDB com o Workforce Identity Federation para autenticar usuários em diferentes plataformas usando um único conjunto de credenciais. Isso aumenta a segurança e simplifica o gerenciamento de usuários.

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 para autenticação da força de trabalho.

1

Observação

Ao configurar MongoDB para Federação de Identidade da Força de Trabalho, omita o campo supportsHumanFlows em oidcIdentityProviders.

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

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

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"clientId": "0zzw3ggfd2ase33",
} ]'

Para especificar vários fornecedores de identidade, adicione objetos adicionais à array oidcIdentityProviders. Ao especificar vários fornecedores de identidade, você deve especificar um matchPattern para cada fornecedor. Por exemplo:

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"matchPattern": "@okta.com$",
"clientId": "0zzw3ggfd2ase33",
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"matchPattern": "@azure.com$",
"clientId": "1zzw3ggfd2ase33",
} ]'

Para usar a linha de comando, especifique as seguintes opções de inicialização:

mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"clientId": "0zzw3ggfd2ase33",
} ]'

Para especificar vários fornecedores de identidade, adicione objetos adicionais à array oidcIdentityProviders. Ao especificar vários fornecedores de identidade, você deve especificar um matchPattern para cada fornecedor. Por exemplo:

mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"authorizationClaim": "groups",
"matchPattern": "@okta.com$",
"clientId": "0zzw3ggfd2ase33",
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"matchPattern": "@azure.com$",
"clientId": "1zzw3ggfd2ase33",
} ]'
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.

Importante

Se useAuthorizationClaim estiver definido como false, não inclua o campo authorizationClaim.

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
} ]'

Para especificar vários fornecedores de identidade, adicione objetos adicionais à array oidcIdentityProviders. Por exemplo:

setParameter:
authenticationMechanisms: MONGODB-OIDC
oidcIdentityProviders: '[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"clientId": "1zzw3ggfd2ase33"
} ]'
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
} ]'

Para especificar vários fornecedores de identidade, adicione objetos adicionais à array oidcIdentityProviders. Por exemplo:

mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"clientId": "0zzw3ggfd2ase33"
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"clientId": "1zzw3ggfd2ase33"
} ]'

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.

Voltar

Configurar um provedor de identidade externo para autenticação da força de trabalho

Nesta página