...
Excerpt | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
Aspire will create one MongoDB database for each content source configured. When the content source is deleted, the database will be dropped. The database name will the taken from the normalised value of the content source name. Starting in Aspire 4.0, the database names will be prefixed with "aspireas-" to avoid possible conflicts of name. If you wish to change the prefix, add a "namespace" to the configuration:
...
language | xml |
---|---|
firstline | 78 |
linenumbers | true |
...
Anchor | ||||
---|---|---|---|---|
|
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- noSql database provider for the 4.0 connector framework --> <noSQLConnectionProvider sslEnabled="false" sslInvalidHostNameAllowed="false"> <implementation>com.searchtechnologiesaccenture.aspire:aspire-mongodb-provider</implementation> <servers>mongodb-host1:27017,mongodb-host2:27017,mongodb-host3:27017,mongodb-host4:27017</servers> </noSQLConnecitonProvider>noSQLConnectionProvider> |
If you need to connect to a MongoDB configured to Use TLS/SSL you need to set the following attributes into the noSQLConnectionProvider tag:
...
After importing it into a truststore you need to add it into the Aspire startup script, read Crawling via HTTPs for more instructions on how to add the truststore into the startup script.
The Provider will automatically retry the operations in case they couldn't be completed because of connections errors. The maximum retries to execute is configurable using the "maxRetries" option. By default (if nothing is provided), it will not retry operations at all.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- noSql database provider for the 4.0 connector framework --> <noSQLConnectionProvider sslEnabled="false" sslInvalidHostNameAllowed="false"> <implementation>com.accenture.aspire:aspire-mongodb-provider</implementation> <servers>mongodb-host:27017</servers> <maxRetries>5</maxRetries> </noSQLConnectionProvider> |
Aspire 4.0 supports authenticating to MongoDB using X.509 or SCRAM. Based on the requirement will be necessary modify the settings.xml file.
Aspire 4.0 supports authenticating to MongoDB using SCRAM.
The Salted Challenge Response Authentication Mechanism (SCRAM) is a family of modern, password-based challenge–response authentication mechanisms providing authentication of a user to a server
To configure it, add the following to your settings.xml file:
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<!-- noSql database provider for the 3.0 connector framework --> <noSQLConnectionProvider sslEnabled="false" sslInvalidHostNameAllowed="false"> <implementation>com.accenture.aspire:aspire-mongodb-provider</implementation> <servers>mongodb-host:27017</servers> <authentication> <scram> <username>aspireUser</username> <source>admin</source> <password>encrypted:302B58140B6ED1FBEBDC33A9263EF742</password> </scram> </authentication> </noSQLConnectionProvider> |
MongoDB provider will verify the supplied user credentials against:
For the correct Aspire behavior check that the user selected to authenticated have the roles:
How to check the roles of a user, using mongo.exe:
Code Block | ||||
---|---|---|---|---|
| ||||
> use admin
> db.getUser("aspireAdmin");
{
"_id_": "admin.myUserAdmin",
"user": "myUserAdmin",
"db": "admin",
"roles": [
{
"role": "clusterAdmin",
"db"": "admin"
},
{
"role": "readWriteAnyDatabase",
"db": "admin"
}
]
}
> |
Code Block | ||||
---|---|---|---|---|
| ||||
> use admin
> db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [
{ role: "clusterAdmin", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
) |
4. Re-start the MongoDB
Code Block | ||||
---|---|---|---|---|
| ||||
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
storage: |
Aspire 4.0 only supports authenticating to MongoDB using X.509.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- noSql database provider for the 4.0 connector framework --> <noSQLConnectionProvider sslEnabled="true" sslInvalidHostNameAllowed="false"> <implementation>com.searchtechnologiesaccenture.aspire:aspire-mongodb-provider</implementation> <servers>mongodb-host:27017</servers> <x509username>CN=user,OU=OrgUnit,O=myOrg</x509username> </noSQLConnecitonProvider>noSQLConnectionProvider> |
If you don't know what to use into the <x509username> field execute the following command using the x509 client certificate:
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- noSql database provider for the 4.0 connector framework --> <noSQLConnectionProvider sslEnabled="false" sslInvalidHostNameAllowed="false"> <implementation>com.searchtechnologiesaccenture.aspire:aspire-mongodb-provider</implementation> <servers>mongodb-host:27017</servers> <encryptFields> <field>_id</field> <!-- Encrypts all the IDs --> <field>url</field> <!-- Encrypts the url fields --> <field>fetchUrl</field> <field>parentId</field> </encryptFields> </noSQLConnecitonProvider>noSQLConnectionProvider> |