

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Richten Sie Autorisierungsregeln für AWS IoT SiteWise Edge in EMQX ein
<a name="authorization-rules-emqx-broker"></a>

EMQX unterstützt das Hinzufügen von Autorisierungsregeln auf der Grundlage von Kennungen wie Benutzername, IP-Adresse oder Client-ID. Dies ist nützlich, wenn Sie die Anzahl der externen Anwendungen einschränken möchten, die eine Verbindung zu verschiedenen Vorgängen oder Themen herstellen.

**Topics**
+ [Konfigurieren Sie die Autorisierung mithilfe der integrierten Datenbank unter Linux](add-auth-rules-database-emqx-broker-linux.md)
+ [Konfigurieren Sie die Autorisierung mithilfe der integrierten Datenbank in Windows](add-auth-rules-database-emqx-broker-windows.md)
+ [Aktualisieren Sie die EMQX-Bereitstellungskonfiguration für die Autorisierung](update-emqx-broker-authorization.md)
+ [Fügen Sie Autorisierungsregeln über das EMQX-Dashboard für Benutzer hinzu](add-rules-emqx-broker.md)

# Konfigurieren Sie die Autorisierung mithilfe der integrierten Datenbank unter Linux
<a name="add-auth-rules-database-emqx-broker-linux"></a>

Wenn Sie Autorisierungsregeln konfigurieren, gibt es zwei Konfigurationsoptionen, die von Ihrer Bereitstellungseinrichtung abhängen.
+ **Docker**— Wenn Sie eine Docker Standardinstallation ohne ausführenLitmus Edge, verwenden Sie die **Docker Bridge Gateway-Konfiguration**. Dies ist in der Regel der Fall, wenn Sie nur AWS IoT SiteWise Komponenten bereitgestellt haben.
+ **Litmus Edge**— Wenn Sie auf Ihrem Gateway Litmus Edge installiert haben, verwenden Sie die **Litmus EdgeNetzwerk-Subnetzkonfiguration**.

**Anmerkung**  
Wenn Sie das Docker Bridge-Gateway zunächst konfigurieren und später installierenLitmus Edge, konfigurieren Sie die Autorisierungsregeln mithilfe der Litmus Edge Netzwerk-Subnetzoption neu, um eine ordnungsgemäße Kommunikation zwischen allen Komponenten sicherzustellen.

**Um grundlegende Autorisierungsregeln hinzuzufügen**

1. Stellen Sie sicher, dass der EMQX-Broker bereitgestellt ist und ausgeführt wird.

1. Starten Sie eine Shell-Sitzung auf Ihrem Gateway-Host.

------
#### [ Docker without Litmus Edge ]

   Führen Sie für eine Docker Standardinstallation ohne folgenden Litmus Edge Befehl aus:

   ```
   /greengrass/v2/bin/swe-emqx-cli acl init
   ```

------
#### [ Litmus Edge network subnet ]

   Wenn du verwendestLitmus Edge, ermittele die Litmus Edge-Netzwerksubnetz-IP:

   ```
   docker network inspect LitmusNetwork | grep IPAM -A9
   ```

   Notieren Sie sich den Subnetzwert aus der Ausgabe und führen Sie den folgenden Befehl aus. `litmus_subnet_ip`Ersetzen Sie ihn durch den Subnetzwert aus dem vorherigen Schritt.

   ```
   /greengrass/v2/bin/swe-emqx-cli acl init litmus_subnet_ip
   ```

------

   Das Tool erstellt automatisch Autorisierungsregeln und wendet sie an, um Verbindungen von der angegebenen IP-Adresse zum Broker zuzulassen. Es ermöglicht den Zugriff auf alle Themen. Dazu gehören der IoT SiteWise OPC UA Collector und der IoT SiteWise Publisher.

1. Fahren Sie mit [Aktualisieren Sie die EMQX-Bereitstellungskonfiguration für die Autorisierung](update-emqx-broker-authorization.md) fort.

# Konfigurieren Sie die Autorisierung mithilfe der integrierten Datenbank in Windows
<a name="add-auth-rules-database-emqx-broker-windows"></a>

In diesem Abschnitt wird die Konfiguration von Autorisierungsregeln mithilfe der integrierten Datenbank für Windows-Bereitstellungen behandelt.

**Um grundlegende Autorisierungsregeln hinzuzufügen**

1. Stellen Sie sicher, dass der EMQX-Broker bereitgestellt ist und ausgeführt wird.

1. Führen Sie das AWS IoT SiteWise EMQX CLI-Tool aus: 

   ```
   C:\greengrass\v2\bin\swe-emqx-cli.ps1 acl init
   ```

   Das Tool erstellt und wendet automatisch ACL-Regeln an, die Verbindungen von localhost (127.0.0.1) zum Broker zulassen. Es ermöglicht den Zugriff auf alle Themen. Dazu gehören der IoT SiteWise OPC UA Collector und der IoT SiteWise Publisher.

1. Fahren Sie mit [Aktualisieren Sie die EMQX-Bereitstellungskonfiguration für die Autorisierung](update-emqx-broker-authorization.md) fort.

# Aktualisieren Sie die EMQX-Bereitstellungskonfiguration für die Autorisierung
<a name="update-emqx-broker-authorization"></a>

**Um die EMQX-Bereitstellungskonfiguration für die Autorisierung zu aktualisieren**

1. <a name="sitewise-open-console"></a>Navigieren Sie zur [AWS IoT SiteWise -Konsole](https://console.aws.amazon.com/iotsitewise/).

1. **Wählen Sie in der linken Navigationsleiste im Abschnitt **Edge die Option Edge-Gateways** aus.**

1. Wählen Sie das zu konfigurierende Gateway aus.

1. Kopieren Sie im Abschnitt **Edge-Gateway-Konfiguration** Ihren **Greengrass-Core-Gerätewert**. Speichern Sie ihn für die spätere Verwendung.

1. Öffnen Sie die [AWS IoT -Konsole](https://console.aws.amazon.com/iot/).

1. Wählen Sie in der linken Navigationsleiste im Bereich **Verwalten** die Option **Greengrass-Geräte** und dann **Bereitstellungen** aus.

1. Suchen Sie den Core-Gerätewert, den Sie zuvor gespeichert haben, und wählen Sie diesen Link, um die Bereitstellung zu öffnen.

1. Wählen Sie die Dropdownschaltfläche „**Aktionen**“ und anschließend „**Überarbeiten**“.

1. Lesen Sie die angezeigte Meldung und wählen Sie dann Bereitstellung **überarbeiten** aus. Die Seite **„Ziel angeben**“ wird angezeigt.

1. Wählen Sie **Weiter**, bis Sie zum Schritt **Komponenten konfigurieren** gelangen.

1. Wählen Sie das Optionsfeld `aws.greengrass.clientdevices.mqtt.EMQX`.

1. Wählen Sie die Schaltfläche **Komponente konfigurieren**. Eine Konfigurationsseite für die Komponente wird angezeigt.

1. Wählen Sie unter **Konfigurationsupdate** **die Option Auf Standardkonfiguration zurücksetzen für die Komponentenversion: 2.\$1 aus. **\$1.

1. Fügen Sie je nach Betriebssystem den folgenden Inhalt in den Abschnitt **Konfiguration zum Zusammenführen** ein.

------
#### [ Linux ]

   ```
   {
       "emqxConfig": {
           "authorization": {
               "no_match": "deny",
               "sources": [
                   {
                       "type": "built_in_database"
                   },
                   {
                       "type": "file",
                       "path": "data/authz/acl.conf"
                   }
               ]
           },
           "listeners": {
               "tcp": {
                   "default": {
                       "enabled": true,
                       "enable_authn": false
                   }
               },
               "ssl": {
                   "default": {
                       "enabled": true,
                       "enable_authn": true,
                       "ssl_options": {
                           "verify": "verify_none",
                           "fail_if_no_peer_cert": false
                       }
                   }
               }
           },
           "authentication": {
               "enable": true,
               "backend": "built_in_database",
               "mechanism": "password_based",
               "password_hash_algorithm": {
                   "iterations": 210000,
                   "mac_fun": "sha512",
                   "name": "pbkdf2"
               },
               "user_id_type": "username"
           },
           "dashboard": {
               "listeners": {
                   "http": {
                       "bind": 18083
                   }
               }
           }
       },
       "authMode": "bypass",
       "dockerOptions": "-p 8883:8883 -p 127.0.0.1:1883:1883 -p 127.0.0.1:18083:18083 -v emqx-data:/opt/emqx/data -e EMQX_NODE__NAME=emqx@local",
       "requiresPrivilege": "true"
   }
   ```

------
#### [ Windows ]

   ```
   {
       "emqxConfig": {
           "authorization": {
               "no_match": "deny",
               "sources": [
                   {
                       "type": "built_in_database"
                   },
                   {
                       "type": "file",
                       "path": "C:\\greengrass\\v2\\work\\aws.greengrass.clientdevices.mqtt.EMQX\\v2\\data\\authz\\acl.conf"
                   }
               ]
           },
           "listeners": {
               "tcp": {
                   "default": {
                       "enabled": true,
                       "enable_authn": false
                   }
               },
               "ssl": {
                   "default": {
                       "enabled": true,
                       "enable_authn": true,
                       "ssl_options": {
                           "verify": "verify_none",
                           "fail_if_no_peer_cert": false
                       }
                   }
               }
           },
           "authentication": {
               "enable": true,
               "backend": "built_in_database",
               "mechanism": "password_based",
               "password_hash_algorithm": {
                   "iterations": 210000,
                   "mac_fun": "sha512",
                   "name": "pbkdf2"
               },
               "user_id_type": "username"
           },
           "dashboard": {
               "listeners": {
                   "http": {
                       "bind": 18083
                   }
               }
           }
       },
       "authMode": "bypass",
       "requiresPrivilege": "true"
   }
   ```

------

1. Wählen Sie **Bestätigen** aus.

1. Wählen Sie **Weiter**, bis Sie zum Schritt **Überprüfen** gelangen.

1. Wählen Sie **Bereitstellen**.

**Anmerkung**  
Ab diesem Zeitpunkt können Sie die ACL-Datei nicht mehr bearbeiten, um die Autorisierungsregeln zu aktualisieren. Alternativ können Sie [Fügen Sie Autorisierungsregeln über das EMQX-Dashboard für Benutzer hinzu](add-rules-emqx-broker.md) nach einer erfolgreichen Bereitstellung mit fortfahren.

# Fügen Sie Autorisierungsregeln über das EMQX-Dashboard für Benutzer hinzu
<a name="add-rules-emqx-broker"></a>

Sie können Autorisierungsregeln mit dem EMQX-Dashboard oder dem EMQX-CLI-Tool hinzufügen oder aktualisieren. AWS IoT SiteWise Das AWS IoT SiteWise EMQX CLI-Tool verwaltet die Autorisierung mithilfe der integrierten Datenbank von EMQX.

**Anmerkung**  
Das Hinzufügen von Autorisierungsregeln ist ein fortgeschrittener Konfigurationsschritt, der Kenntnisse der MQTT-Themenmuster und der Zugriffskontrolle erfordert. *Weitere Informationen zum Erstellen von Autorisierungsregeln mithilfe der integrierten Datenbank von EMQX finden Sie unter [Verwenden der integrierten Datenbank](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) in den EMQX-Dokumenten.*

**Anmerkung**  
Die bereitgestellten EMQX-bezogenen Anweisungen dienen nur als Referenz. Da sich die Dokumentation und Funktionen von EMQX im Laufe der Zeit ändern können und wir ihre Dokumentation nicht pflegen, empfehlen wir, die [offizielle Dokumentation von EMQX](https://docs.emqx.com/en/emqx/latest/) für die aktuellsten Informationen zu konsultieren.

------
#### [ EMQX dashboard ]

Dieses Verfahren zeigt, wie Sie Autorisierungsregeln im EMQX-Dashboard hinzufügen können.

Auf das EMQX-Dashboard kann nur vom Gateway-Host aus zugegriffen werden. Wenn Sie versuchen, von außerhalb des Gateway-Hosts eine Verbindung herzustellen, können Sie nicht auf das Dashboard zugreifen.

**Um Autorisierungsregeln mithilfe des EMQX-Dashboards hinzuzufügen**

1. Stellen Sie sicher, dass Sie sich innerhalb des Gateway-Hosts befinden.

1. Öffnen Sie ein Browserfenster und besuchen Sie [http://localhost:18083/](http://localhost:18083/).

1. Melden Sie sich im EMQX-Dashboard an. Bei diesem Verfahren wird davon ausgegangen, dass Sie Ihre Standardanmeldedaten in etwas Ihrer Wahl geändert haben. Weitere Informationen zur Ersteinrichtung finden Sie unter[Aktivieren Sie die Authentifizierung mit Benutzername und Passwort](configure-emqx-broker.md#emqx-broker-username-password-auth).

1. Wählen Sie im Dropdownmenü das Schildsymbol und anschließend **Autorisierung** aus.

1. Wählen Sie in der Zeile **Integrierte Datenbank** die Schaltfläche „**Berechtigungen**“. 

1. Fügen Sie im Abschnitt Integrierte Datenbankautorisierung die Benutzerautorisierungsregeln für Ihre Geschäftsanforderungen hinzu oder aktualisieren Sie sie. Weitere Anleitungen zum Erstellen von Regeln finden Sie im Abschnitt [Integrierte Datenbank verwenden](https://docs.emqx.com/en/emqx/latest/access-control/authz/mnesia.html) in den *EMQX-Dokumenten*.

------
#### [ AWS IoT SiteWise CLI tool using Linux ]

**So verwalten Sie Autorisierungsregeln mit dem AWS IoT SiteWise EMQX CLI-Tool unter Linux:**
+ Fügen Sie Autorisierungsregeln für einen Benutzer im folgenden Format hinzu:

  ```
  /greengrass/v2/bin/swe-emqx-cli auth add your-username your-action your-permission your-topic [your-action-permission-topic]
  ```

**Example Fügen Sie Autorisierungsregeln für einen Benutzer hinzu**  
Dieses Beispiel zeigt, wie Regeln für einen Benutzer mit dem Namen hinzugefügt werden`system1`:  

```
/greengrass/v2/bin/swe-emqx-cli auth add system1 \
    publish allow "sensors/#" \
    subscribe allow "control/#" \
    all deny "#"
```

**Example : Autorisierungsregeln für einen Benutzer anzeigen**  
Führen Sie den folgenden Befehl aus, um die Autorisierungsregeln für die `system1` Benutzer anzuzeigen:  

```
/greengrass/v2/bin/swe-emqx-cli auth list system1
```

**Example : Alle vorhandenen Autorisierungsregeln anzeigen**  
Führen Sie den folgenden Befehl aus, um alle Autorisierungsregeln anzuzeigen, die Sie derzeit haben:  

```
/greengrass/v2/bin/swe-emqx-cli auth list
```

**Example : Löscht alle Autorisierungsregeln für einen Benutzer**  
Führen Sie den folgenden Befehl aus, um alle Autorisierungsregeln zu löschen, die für einen bestimmten Benutzer gelten:  

```
/greengrass/v2/bin/swe-emqx-cli auth delete system1
```
Sie werden aufgefordert, den Löschvorgang zu bestätigen.

------
#### [ AWS IoT SiteWise CLI tool using Windows ]

**So verwalten Sie Autorisierungsregeln mit dem AWS IoT SiteWise EMQX CLI-Tool in: Windows PowerShell**
+ Fügen Sie Autorisierungsregeln für einen Benutzer im folgenden Format hinzu:

  ```
  C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth add your-username your-action your-permission your-topic [your-action-permission-topic]
  ```

**Example : Autorisierungsregeln für einen Benutzer hinzufügen**  
Dieses Beispiel zeigt, wie Regeln für einen Benutzer mit dem Namen hinzugefügt werden`system1`:  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth add system1 `
    publish allow "sensors/#" `
    subscribe allow "control/#" `
    all deny "#"
```

**Example : Autorisierungsregeln für einen Benutzer anzeigen**  
Führen Sie den folgenden Befehl aus, um die Autorisierungsregeln für die `system1` Benutzer anzuzeigen:  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth list system1
```

**Example : Alle vorhandenen Autorisierungsregeln anzeigen**  
Führen Sie den folgenden Befehl aus, um alle Autorisierungsregeln anzuzeigen, die Sie derzeit haben:  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth list
```

**Example : Löscht alle Autorisierungsregeln für einen Benutzer**  
Führen Sie den folgenden Befehl aus, um alle Autorisierungsregeln zu löschen, die für einen bestimmten Benutzer gelten:  

```
C:\greengrass\v2\bin\swe-emqx-cli.ps1 auth delete system1
```
Sie werden aufgefordert, den Löschvorgang zu bestätigen.

------