Você pode adicionar um usuário de banco de dados ao MongoDB usando o Workload Identity Federation. Essa abordagem permite que o provedor de identidade da sua organização gerencie o acesso do usuário, garantindo autenticação segura e centralizada para operações de banco de dados .
Antes de começar
Você deve configurar um provedor de identidade externo para autenticação de volume de trabalho.
Você deve configurar o MongoDB com o Workload Identity Federation.
Observação
Sua configuração do determina a abordagem que você deve adotar para autorizar os oidcIdentityProviders usuários:
Se o campo
useAuthorizationClaimestiver configurado parafalsepara habilitar a autorização interna, autorize os usuários com IDs de usuário.Se o campo estiver configurado para
true, autorize os usuários com grupos de provedor de identidade .
Passos
Criar funções do MongoDB
No banco de dados admin, utilize o método db.createRole() para criar funções que mapeiam as funções do grupo do provedor de identidade para funções do MongoDB.
Use o seguinte formato para criar funções:
<authNamePrefix>/<authorizationClaim>
O parâmetro oidcIdentityProviders fornece o campo authNamePrefix e o campo authorizationClaim. Por exemplo:
db.createRole( { role: "okta/Everyone", privileges: [ ], roles: [ "readWriteAnyDatabase" ] } )
Criar um usuário
Para criar usuários e adicioná-los ao seu banco de dados MongoDB , use o db.createUser() comando.
Utilize o seguinte formato para o user campo , onde os authNamePrefix authorizationClaim valores e vêm do oidcIdentityProviders parâmetro:
<authNamePrefix>/<authorizationClaim>
Para criar um usuário no MongoDB com o authNamePrefix de okta e um authorizationClaim de jane.doe, execute o seguinte:
db.createUser( { user: "okta/jane.doe", roles: [ { role: "readWriteAnyDatabase", db: "admin" } ] } )
Próximos passos
Você pode conectar um aplicação ao MongoDB usando o Workload Identity Federation com os seguintes drivers compatíveis: