BI Connector の Kerberos の構成
バージョン 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 用。
ユーザーを作成する 作成したドメイン上の MongoSQL 用。
MongoDB Service のSPNを登録します。
MongoSQL サービスのSPNを登録します。
MongoDB Service ユーザーの削除を有効にします。
例
この構成を前提とすると、次のようになります。
あなたの名前は
Grace Smith
です。Windows ドメインの名前は
EXAMPLE.COM
です。BI.EXAMPLE.COM
という名前の Windows ホストで BI ツールを実行しています。
Active Directory では、次の 3 人のユーザーを作成します。
MongoDB の場合:
mongodb@EXAMPLE.COM
BI 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" mongo
shell にログインして、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.COM
MongoDB Connector for BI を に設定する Log on as: This account:
mongosql@EXAMPLE.COM
MongoDB および 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 を実行していることを確認します。mongod
mongos
Kerberos(GSSAPI)認証 を使用するように } インスタンスと インスタンスを構成します。MongoDB構成ファイルで次のオプションを設定していることを確認してください。
net: bindIp: <fullHostnameOfBIConnector> setParameter: authenticationMechanisms: "GSSAPI" キータブ ファイルを作成 と に必要な Kerberos サービス プリンシパル を持つ KDC
mongosql
mongosql2
の場合例
mongosql/<fullHostnameOfBIConnector>@<KERBEROS_REALM>
BI Connector の構成
MongoDB 配置用に作成した
keytab
ファイルを、BI Connector を提供するのと同じホストにコピーします。キータブがデフォルト名(
krb5.keytab
)を使用しない場合は、 KRB5 _KTNAME を設定する必要があります 環境変数。注意
macOS への Kerberos 実装、 Heimal
default_keytab_name
は、MIT Kerberos と同様に、 構成設定をサポートしていません。KRB5_KTNAME
環境変数を設定する必要があります。Kerberos 構成ファイルでデフォルト名(
krb5.conf
)が使用されない場合は、 KRB5 _CONNECTION を設定する必要があります 環境変数。( この環境変数 もサポートしています )次の 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
localhost
net.unixDomainSocket.enabled
をテストしている場合は、true
mongosqld 構成ファイルで を に設定する必要があります。