OpenID Connect で自己管理型 MongoDB を構成する
MongoDB Enterprise は OpenID Connect 認証のサポートを提供します。 OpenID Connect を使用して、MongoDB databaseとサード パーティーの IdP との間のシングル サインオンを構成できます。
始める前に
選択したプロバイダーで OpenID Connect クライアント プロファイルを設定します: Microsoft Azure AD または Okta 。
mongosh
を使用して接続する場合にoidcRedirectUri
オプションを使用すると、URI は IdP の構成と一致する必要があります。MongoDB Enterprise を使用していることを確認します。
MongoDB Enterprise を使用していることを確認するには、
--version
コマンドライン オプションをmongod
またはmongos
に渡します。mongod --version このコマンドの出力で string
modules: subscription
またはmodules: enterprise
を探し、MongoDB Enterprise バイナリを使用していることを確認します。
手順
MongoDB サーバーを設定する
MongoDB サーバーを構成するには、 MONGODB-OIDC認証メカニズムを有効にし、 oidcIdentityProviders
を使用して ID プロバイダー(IDP)構成を指定します。
MongoDB サーバーは、構成ファイルまたはコマンドラインを使用して構成できます。
構成ファイルを使用して を構成するには、ファイルに次の 2 つのパラメータを指定します。
setParameter: authenticationMechanisms: MONGODB-OIDC oidcIdentityProviders: [ {"issuer": "https://...", ...} ]
コマンドラインを使用して を構成するには、以下を指定します。
mongod --auth --setParameter authenticationMechanisms=MONGODB-OIDC --setParameter \ 'oidcIdentityProviders=[ {"issuer": "https://...", ...} ]'
MongoDB ロールの作成
admin
データベースで、 db.createRole()
メソッドを使用して、IdP グループ ロールを MongoDB ロールにマッピングするロールを作成します。
ロールを作成するには、次の形式を使用します。
<authNamePrefix>/<authorizationClaim>
oidcIdentityProviders
パラメータはauthNamePrefix
フィールドとauthorizationClaim
フィールドを提供します。 例:
db.createRole( { role: "okta/Everyone", privileges: [ ], roles: [ "readWriteAnyDatabase" ] } )