Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ / / / /

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

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 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",
"supportsHumanFlows": false,
} ]'

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",
"supportsHumanFlows": false,
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"supportsHumanFlows": false,
} ]'

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",
"supportsHumanFlows": false,
} ]'

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",
"supportsHumanFlows": false
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"authorizationClaim": "groups",
"supportsHumanFlows": false
} ]'
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,
"supportsHumanFlows": false,
} ]'

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,
"supportsHumanFlows": false,
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"supportsHumanFlows": false,
} ]'
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \
'oidcIdentityProviders=[ {
"issuer": "https://okta-test.okta.com",
"audience": "example@kernel.mongodb.com",
"authNamePrefix": "okta-issuer",
"useAuthorizationClaim": false,
"supportsHumanFlows": false,
} ]'

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,
"supportsHumanFlows": false,
}, {
"issuer": "https://azure-test.azure.com",
"audience": "example2@kernel.mongodb.com",
"authNamePrefix": "azure-issuer",
"useAuthorizationClaim": false,
"supportsHumanFlows": false,
} ]'

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 do volume de trabalho

Nesta página