Configurar MongoDB autogerenciado com OpenID Connect
Nesta página
O MongoDB Enterprise fornece suporte para autenticação OpenID Connect. Você pode usar o OpenID Connect para configurar o logon único entre seu MongoDB database e um provedor de identidade de terceiros.
Antes de começar
Configure um perfil de cliente OpenID Connect com seu provedor escolhido: Microsoft Azure AD ou Okta.
Ao usar
mongosh
para se conectar, se você usar a opçãooidcRedirectUri
, o URI deverá corresponder à configuração do provedor de identidade.Verifique se você está no MongoDB Enterprise.
Para verificar se você está usando o MongoDB Enterprise, passe a opção de linha de comando
--version
paramongod
oumongos
:mongod --version Na saída deste comando, procure a string
modules: subscription
oumodules: enterprise
para confirmar que você está usando os binários MongoDB Enterprise.
Passos
Configurar o servidor MongoDB
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).
Você pode configurar o servidor MongoDB utilizando seu arquivo de configuração ou a linha de comando.
Para configurar usando seu arquivo de configuração, especifique dois parâmetros no arquivo:
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: [ {"issuer": "https://...", ...} ]
Para configurar usando a linha de comando, especifique o seguinte:
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ {"issuer": "https://...", ...} ]'
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" ] } )