Authentifizierung und Autorisierung in MongoDB können auf mehreren Ebenen implementiert werden – auf Datenbankebene, Kollektionsebene oder sogar auf Feldebene. Folgendes sind die Schritte, die generell verwendet werden, um Authentifizierung und Autorisierung zu implementieren.
1. Aktivieren der Autorisierung in der MongoDB-Konfigurationsdatei, indem das `security.authorization` auf `enabled` gesetzt wird.
```
security:
authorization: ‘enabled‘
```
2. Starten Sie dann den MongoDB-Server neu, um die Änderungen wirksam werden zu lassen.
3. Erstellen Sie einen Admin-Benutzer. Stellen Sie eine Verbindung zur admin-Datenbank her und verwenden Sie den `db.createUser()` Befehl, um einen Administratornutzer zu erstellen.
```javascript
use admin
db.createUser(
{
user: “myUserAdmin”,
pwd: “abc123”,
roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ]
}
)
```
4. Sie können sich dann mit dem Administratorbenutzer anmelden und weitere Benutzer mit spezifischeren Rollen erstellen. Zum Beispiel:
```javascript
db.createUser(
{
user: “myTester”,
pwd: “xyz123”,
roles: [ { role: “readWrite”, db: “test” },
{ role: “read”, db: “reporting” } ]
}
)
```
In diesem Beispiel hat der `myTester` Benutzer Lese-/Schreibzugriff auf die `test` Datenbank und nur Leserechte auf die `reporting` Datenbank.
MongoDB verfügt über eine Reihe vordefinierter Rollen, die für verschiedene Zwecke verwendet werden können, und Sie können auch benutzerdefinierte Rollen erstellen, wenn keine der vordefinierten Rollen Ihren Bedürfnissen entspricht.
5. Sie verbinden sich mit Ihrer Datenbank mit entsprechenden Zugangsdaten. Verwenden Sie beispielsweise den folgenden Befehl:
```bash
mongo —port 27017 -u “myTester” -p “xyz123” —authenticationDatabase “admin“
```
Durch die Aktivierung der Authentifizierung und Autorisierung können Sie die Datensicherheit in MongoDB wirksam verbessern.