バージョン 2.5 の新機能。
MongoDB Connector for BI は、BI ツールの接続と、MongoDB で認証される BI Connector の管理ユーザーの Kerberos 認証をサポートしています。
次のセクションでは、最も一般的なユースケースの 2 つで Kerberos を使用するように BI Connector を構成する方法について説明します。
Active Directory への Windows/Linux クライアント マシンの認証
Linux KDCへの macOS クライアントマシンの認証
別のユースケースがある場合は、 MongoDB サポートにお問い合わせください。
重要
ユーザー名のドメイン部分はすべて大文字で記述する必要があります。 ユーザー名のこの部分は、Kerberos レルムまたは Active Directory ドメインに対応します。 大文字と小文字が区別されます。
Active Directory 構成
ドメインが設定されていることを確認します。
MongoDB Service のSPNを登録します。
MongoSQL サービスのSPNを登録します。
MongoDB Service ユーザーの削除を有効にします。
例
この構成を前提とすると、次のようになります。
あなたの名前は
Grace Smithです。Windows ドメインの名前は
EXAMPLE.COMです。BI.EXAMPLE.COMという名前の Windows ホストで BI ツールを実行しています。
Active Directory では、次の 3 人のユーザーを作成します。
MongoDB の場合:
mongodb@EXAMPLE.COMBI Connector の場合:
mongosql@EXAMPLE.COM以下の場合
grace.smith@EXAMPLE.COM
各サービスのSPNを作成します。
setspn.exe -S mongodb/BI.EXAMPLE.COM mongodb setspn.exe -S mongosql/BI.EXAMPLE.COM mongosql
注意
この設定全体で一貫して使用する限り、名前は自由に設定できます。
Active Directory 管理センターを開き、 MongoDBサービスユーザー(mongodb)をダブルクリックします。
mongosqlユーザーがBI.EXAMPLE.COMホストからmongodbユーザーに委任するように設定します。
注意
ADC への Linux スキーマユーザー認証
Linux ホストからユーザーを認証し、スキーマ ユーザーがパスワードの代わりにキータブ ファイルを使用する場合は、MongoDB でユーザーを作成するだけでなく、次のことが必要です。
スキーマ ユーザーのUPNの作成
KRB5_CLIENT_KTNAME 環境変数をこのユーザーのキータブに設定します。
この
KRB5_CLIENT_KTNAMEには、スキーマ ユーザーと BI Connector サービス ユーザーの両方のキーを含める必要があります。
MongoDB の構成
構成ファイルで次のオプションを設定します。
net: bindIp: <fullHostnameOfBIConnector> setParameter: authenticationMechanisms: "GSSAPI" 詳細については、 net.bindIp 、 setParameter 、 authenticationMechanisms を参照してください。
Active Directory で作成した MongoDB Windows ユーザーとして
mongodを実行します。
BI Connector の構成
Active Directory で作成した MongoDB Windows ユーザーとして
mongosqldを起動します。次の BI Connector 認証設定を
mongosqld構成ファイルに追加します。security: enabled: true defaultMechanism: "GSSAPI" defaultSource: "$external" gssapi: hostname: <host running mongosqld> serviceName: <name of mongosqld service> 重要
制約の設定
security.gssapi.hostnameはsecurity.gssapi.serviceNameの値と一致する必要があります。制約付き削除 を使用するように Active Directory
security.gssapi.constrainedDelegation: trueを構成した場合は、mongosqld構成ファイルに を追加します。そうしないと、認証が失敗します。
詳細については、以下を参照してください。
BI Connector が MongoDB で認証するために使用する次の設定を追加します。
mongodb: net: uri: "mongodb://<hostname and port of mongodb database>/" auth: username: <database username> password: <database password> source: "$external" mechanism: "GSSAPI" 詳細については、以下を参照してください。
例
あなたの名前は
Grace Smithです。Windows ドメインの名前は
EXAMPLE.COMです。BI.EXAMPLE.COMという名前の Windows ホストで BI ツールを実行しています。
BI.EXAMPLE.COM :
MongoDB と MongoDB Connector for BI をサービスとしてインストールします。
mongod.cfgファイルを次のように編集します。systemLog: destination: "file" path: "c:\\data\\log\\mongod.log" verbosity: 2 storage: dbPath: "c:\\data\\db" net: bindIp: BI.EXAMPLE.COM setParameter: authenticationMechanisms: "GSSAPI" mongoshell にログインして、BI Connector ユーザーを作成します。db.getSiblingDB("$external").createUser( { user: "grace.smith@EXAMPLE.COM", roles: [ { role: "readAnyDatabase", db: "admin" } ] } ) mongosqld.cfgファイルを次のように編集します。systemLog: path: "c:\\data\\log\\mongosqld.log" logAppend: true logRotate: "reopen" verbosity: 3 runtime: memory: maxPerStage: 102400 net: bindIp: BI.EXAMPLE.COM port: 3306 security: enabled: true defaultSource: "$external" defaultMechanism: "GSSAPI" gssapi: hostname: "BI.EXAMPLE.COM" serviceName: "mongosql" mongodb: net: uri: "mongodb://BI.EXAMPLE.COM/" auth: username: "grace.smith@EXAMPLE.COM" password: "abc123!" source: "$external" mechanism: "GSSAPI" processManagement: service: displayName: "MongoDB BI Connector" Servicesを開きます。
MongoDB を に設定する Log on as: This account:
mongodb@EXAMPLE.COMMongoDB Connector for BI を に設定する Log on as: This account:
mongosql@EXAMPLE.COMMongoDB および MongoDB Connector for BI サービスを開始します。
注意
ADC への Linux スキーマユーザー認証
Linux ホストからユーザーを認証し、スキーマ ユーザーがユーザー名とパスワードを使用する場合は、次のことが必要です。
mongodb.net.auth.usernameスキーマ ユーザーの UPN に設定します。mongodb.net.auth.passwordを値なしに設定します。
Tip
MongoDB インスタンスを管理するために Active Directory を構成する方法については、「 Kerberos 認証と Active Directory 認証を使用して MongoDB を構成する 」を参照してください。
MongoDB の構成
mongod} インスタンスとmongosインスタンスがMongoDB Enterprise を実行していることを確認します。mongodmongosKerberos(GSSAPI)認証 を使用するように } インスタンスと インスタンスを構成します。MongoDB構成ファイルで次のオプションを設定していることを確認してください。
net: bindIp: <fullHostnameOfBIConnector> setParameter: authenticationMechanisms: "GSSAPI" と に必要な Kerberos サービス プリンシパルを含む KDC
mongosqlmongosql2にキータブファイルを作成します。例
mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
BI Connector の構成
MongoDB 配置用に作成した
keytabファイルを、BI Connector を提供するのと同じホストにコピーします。キータブがデフォルト名(
krb5.keytab)を使用しない場合は、KRB5 _KTNAME 環境変数を設定する必要があります。注意
macOS 上の Kerberos実装である Himdal は、 MIT Kerberos と同様に
default_keytab_name構成設定をサポートしていません。KRB5_KTNAME環境変数を設定する必要があります。Kerberos構成ファイルでデフォルト名(
krb5.conf)が使用されていない場合は、KRB5 _CONconfig 環境変数を設定する必要があります。(この環境変数もサポートしています)次の BI Connector 認証設定を
mongosqld構成ファイルに追加します。security: enabled: true defaultMechanism: "GSSAPI" defaultSource: "$external" gssapi: hostname: <host running mongosqld> serviceName: <name of mongosqld service> 詳細については、以下を参照してください。
BI Connector が MongoDB で認証するために使用する次の設定を追加します。
mongodb: net: uri: "mongodb://<hostname and port of mongodb database>/" auth: username: <database username> password: <database password> source: "$external" mechanism: "GSSAPI" 詳細については、以下を参照してください。
Tip
ローカルホストで Kerberos を使用して BI Connector をテスト
で実行されている で Kerberosmongosqld localhostnet.unixDomainSocket.enabledをテストしている場合は、true mongosqld 構成ファイルで を に設定する必要があります。