Puede configurar la seguridad gestionada por aplicación o por contenedor para las conexiones de MongoDB en Liberty.
Acerca de esta tarea
Puede proteger las aplicaciones MongoDB utilizando la seguridad gestionada por aplicación o la seguridad gestionada por contenedor. Para ambos tipos de seguridad, el servidor MongoDB debe estar ejecutándose con la autenticación explícitamente habilitada para proteger las conexiones de MongoDB.
Procedimiento
- Configure la seguridad gestionada por aplicación para MongoDB.
Si el elemento de configuración mongo no especifica los atributos de usuario y contraseña, el producto supone que una aplicación está utilizando la seguridad gestionada por aplicación o que no está utilizando la seguridad. Para habilitar la seguridad gestionada por aplicación, la aplicación debe autenticarse utilizando las API de MongoDB, por ejemplo:
<mongo id="mongo1" libraryRef="MongoLib" />
<mongoDB jndiName="mongo/testdb" mongoRef="mongo1" databaseName="db-test-1"/>
{ ...
// Java snippet
@Resource(name = "mongo/testdb")
protected DB db;
private void auth() {
if (!db.isAuthenticated())
db.authenticate("user", "password".toCharArray());
}
- Configure la seguridad gestionada por contenedor para MongoDB.
Para utilizar la seguridad gestionada por contenedor, el elemento de configuración mongo debe especificar un usuario y una contraseña. Sólo se permite un usuario para cada configuración de mongo. Todas las instancias de MongoDB utilizan el usuario y la contraseña especificados. Por ejemplo, todas las instancias de MongoDB que hacen referencia a mongo1 en el ejemplo siguiente utilizan mongoUserName y pw:
<mongo id="mongo1" libraryRef="MongoLib" user="mongoUserName" password="pw"/>
<mongoDB jndiName="mongo/testdb" mongoRef="mongo1" databaseName="db-test-1"/>
<mongoDB jndiName="mongo/testdb2" mongoRef="mongo1" databaseName="db-test-2"/>
Las aplicaciones que utilizan la seguridad gestionada por contenedor no deben invocar com.mongodb.DB.authenticate(user, pass).
Qué hacer a continuación
Asegúrese de que el servidor MongoDB esté en ejecución y, a continuación, pruebe la seguridad de MongoDB desde la aplicación.