

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.

# Integration von ActiveMQ-Brokern in LDAP
<a name="security-authentication-authorization"></a>

**Wichtig**  
Amazon MQ unterstützt kein Serverzertifikat, das von einer privaten Zertifizierungsstelle ausgestellt wurde.

Sie können über die folgenden Protokolle mit aktiviertem TLS auf Ihre ActiveMQ-Broker zugreifen:
+ [AMQP](http://activemq.apache.org/amqp.html)
+ [MQTT](http://activemq.apache.org/mqtt.html)
+ MQTT über [WebSocket](http://activemq.apache.org/websockets.html)
+ [OpenWire](http://activemq.apache.org/openwire.html)
+ [STOMP](http://activemq.apache.org/stomp.html)
+ STOMP rüber WebSocket

Amazon MQ bietet die Wahl zwischen nativer ActiveMQ-Authentifizierung und LDAP-Authentifizierung und -Autorisierung, um Benutzerberechtigungen zu verwalten. Weitere Informationen über Einschränkungen im Zusammenhang mit ActiveMQ-Benutzernamen und -Passwörtern finden Sie unter [Benutzer](amazon-mq-limits.md#activemq-user-limits).

Um ActiveMQ-Benutzer und -Gruppen für die Arbeit mit Warteschlangen und Themen zu autorisieren, müssen Sie [die Konfiguration Ihres Brokers bearbeiten](amazon-mq-creating-applying-configurations.md). Amazon MQ verwendet zum Einschränken des Lese- und Schreibzugriffs auf Ziele das [Simple Authentication Plugin](http://activemq.apache.org/security.html#Security-SimpleAuthenticationPlugin) von ActiveMQ. Weitere Informationen und Beispiele finden Sie unter [Immer eine Autorisierungszuordnung konfigurieren](using-amazon-mq-securely.md#always-configure-authorization-map) und `authorizationEntry`.

**Anmerkung**  
Derzeit unterstützt Amazon MQ keine Clientzertifikat-Authentifizierung.

**Topics**
+ [

## Integrieren von LDAP mit ActiveMQ
](#integrate-ldap)
+ [

## Voraussetzungen
](#ldap-prerequisites)
+ [

## Erste Schritte mit LDAP
](#ldap-get-started)
+ [

## Funktionsweise der LDAP-Integration
](#ldap-support-details)

## Integrieren von LDAP mit ActiveMQ
<a name="integrate-ldap"></a>

Sie können Amazon MQ Benutzer über die Anmeldeinformationen authentifizieren, die in Ihrem LDAP-Server (Lightweight Directory Access Protocol) gespeichert sind. Außerdem können Sie Amazon-MQ-Benutzer hinzufügen, löschen und ändern und Themen und Warteschlangen Berechtigungen zuweisen. Verwaltungsvorgänge wie das Erstellen, Aktualisieren und Löschen von Brokern erfordern weiterhin IAM-Anmeldeinformationen und sind nicht in LDAP integriert.

Kunden, die ihre Amazon-MQ-Broker-Authentifizierung und -Autorisierung mithilfe eines LDAP-Servers vereinfachen und zentralisieren möchten, können diese Funktion nutzen. Das Speichern aller Benutzeranmeldeinformationen auf dem LDAP-Server spart Zeit und Aufwand, da ein zentraler Speicherort für die Speicherung und Verwaltung dieser Anmeldeinformationen bereitgestellt wird.

Amazon MQ bietet LDAP-Unterstützung mit dem Apache-ActiveMQ-JAAS-Plugin. Alle vom Plugin unterstützten LDAP-Server wie Microsoft Active Directory oder OpenLDAP werden ebenfalls von Amazon MQ unterstützt. Weitere Informationen zum Plugin finden Sie unter dem Abschnitt [Sicherheit](https://activemq.apache.org/security) in der Active-MQ-Dokumentation.

Zusätzlich zu Benutzern können Sie den Zugriff auf Themen und Warteschlangen für eine bestimmte Gruppe oder einen Benutzer über Ihren LDAP-Server festlegen. Dazu erstellen Sie Einträge, die Themen und Warteschlangen auf Ihrem LDAP-Server darstellen und dann Berechtigungen einem bestimmten LDAP-Benutzer oder einer Gruppe zuweisen. Anschließend können Sie den Broker so konfigurieren, dass er Autorisierungsdaten vom LDAP-Server abruft.

**Wichtig**  
 Bei der Verwendung von LDAP wird bei der Authentifizierung nicht zwischen Groß- und Kleinschreibung unterschieden, bei der Autorisierung wird jedoch zwischen Groß- und Kleinschreibung für Ihren Benutzernamen unterschieden. 

## Voraussetzungen
<a name="ldap-prerequisites"></a>

Bevor Sie LDAP-Support zu einem neuen oder vorhandenen Amazon-MQ-Broker hinzufügen, müssen Sie ein Service-Konto einrichten. Dieses Servicekonto ist erforderlich, um eine Verbindung zu einem LDAP-Server herzustellen und muss über die richtigen Berechtigungen verfügen, um diese Verbindung herzustellen. Dieses Dienstkonto richtet die LDAP-Authentifizierung für Ihren Broker ein. Alle aufeinanderfolgenden Clientverbindungen werden über dieselbe Verbindung authentifiziert. 

Ein Servicekonto ist ein Konto auf Ihrem LDAP-Server, das eine Verbindung initiieren kann. Es handelt sich um eine standardmäßige LDAP-Anforderung, und Sie müssen die Anmeldeinformationen des Servicekontos nur einmal angeben. Nachdem die Verbindung eingerichtet wurde, werden alle zukünftigen Clientverbindungen über Ihren LDAP-Server authentifiziert. Ihre Anmeldeinformationen für das Dienstkonto werden sicher in verschlüsselter Form gespeichert, auf die nur Amazon MQ zugegriffen werden kann.

Für die Integration mit ActiveMQ ist eine bestimmte Directory Information Tree (DIT) auf dem LDAP-Server erforderlich. Eine beispielshafte `ldif`-Datei, die diese Struktur deutlich zeigt, finden Sie unter*Importieren Sie die folgende LDIF-Datei in den LDAP-Server* im Abschnitt [Sicherheit](https://activemq.apache.org/security) in der ActiveMQ-Dokumentation.

## Erste Schritte mit LDAP
<a name="ldap-get-started"></a>

Um zu beginnen, navigieren Sie zur Amazon MQ Konsole und wählen Sie **LDAP-Authentifizierung und -Autorisierung**, wenn Sie eine neue Amazon MQ erstellen oder eine vorhandene Broker-Instance bearbeiten.

Geben Sie die folgenden Informationen zum Servicekonto ein:
+ **Vollqualifizierter Domänenname** Der Speicherort des LDAP-Servers, an den Authentifizierungs- und Autorisierungsanforderungen ausgegeben werden sollen.
**Anmerkung**  
Der vollqualifizierte Domänenname des von Ihnen angegebenen LDAP-Servers darf nicht das Protokoll oder die Portnummer enthalten. Amazon MQ wird dem vollqualifizierten Domänennamen das Protokoll `ldaps` vorangestellt, und fügt die Portnummer `636` hinzu.  
Wenn Sie beispielsweise die folgende vollqualifizierte Domäne angeben: `example.com`, greift Amazon MQ über die folgende URL auf Ihren LDAP-Server zu: `ldaps://example.com:636`.  
Damit der Brokerhost erfolgreich mit dem LDAP-Server kommunizieren kann, muss der vollqualifizierte Domänenname öffentlich aufgelöst werden. Um den LDAP-Server privat und sicher zu halten, beschränken Sie den eingehenden Datenverkehr in den eingehenden Regeln des Servers, so dass nur Datenverkehr zugelassen wird, der aus der VPC des Brokers stammt.
+ **Benutzername für Service-Konto** Der definierte Name des Benutzers, der verwendet wird, um die anfängliche Bindung an den LDAP-Server durchzuführen.
+ **Passwort des Service-Kontos** Das Passwort des Benutzers, der die anfängliche Bindung ausführt.

In der folgenden Abbildung wird hervorgehoben, wo diese Details angegeben werden sollen.

![\[Geben Sie die Details des LDAP-Dienstkontos an.\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/active-mq-ldap-service-account.png)


In der **Konfiguration der LDAP-Anmeldung** geben Sie die folgenden erforderlichen Informationen ein:
+ **Benutzerbasis** Der definierte Name des Knotens im Directory Information Tree (DIT, Verzeichnisinformationsbaum), der nach Benutzern durchsucht werden soll.
+ **Benutzer-Suchabgleich** Der LDAP-Suchfilter, der für die Suche nach Benutzern innerhalb der `userBase` verwendet wird. Der Benutzername des Kunden wird im Suchfilter mit dem Platzhalter `{0}` ersetzt. Weitere Informationen erhalten Sie unter [Authentifizierung](#ldap-authentication) und [Autorisierung](#ldap-authorization).
+ **Rollenbasis** Der definierte Name des Knotens im DIT, der nach Rollen durchsucht werden soll. Rollen können als explizite LDAP-Gruppeneinträge in Ihrem Verzeichnis konfiguriert werden. Ein typischer Rolleneintrag kann aus einem Attribut für den Namen der Rolle bestehen, z. B. **common name (CN, allgemeiner Name)** und ein anderes Attribut, wie `member`, mit Werten, die die definierten Namen oder Benutzernamen der Benutzer der Rollengruppe darstellen. Zum Beispiel, angesichts der Organisationseinheit, `group`, können Sie den folgenden definierten Namen angeben: `ou=group,dc=example,dc=com`.
+ **Rollen-Suchabgleich** Der LDAP-Suchfilter, der zum Suchen von Rollen innerhalb der `roleBase` verwendet wird. Der definierte Name des Benutzers, der mit `userSearchMatching` übereinstimmt, wird mit dem Platzhalter `{0}` im Suchfilter ersetzt. Der Benutzername des Kunden wird anstelle des `{1}`-Platzhalters eingesetzt. Wenn Rolleneinträge in Ihrem Verzeichnis beispielsweise ein Attribut mit dem Namen `member` enthalten, das die Benutzernamen für alle Benutzer in dieser Rolle enthält, können Sie den folgenden Suchfilter bereitstellen: `(member:=uid={1})`.

 In der folgenden Abbildung wird hervorgehoben, wo diese Details angegeben werden sollen.

![\[Wo LDAP-Anmeldedaten angegeben werden sollen.\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/active-mq-ldap-login-configuration.png)


Im Abschnitt **Optionale Einstellungen** können Sie die folgenden optionalen Informationen angeben:
+ **Benutzerrollen-Name** Der Name des LDAP-Attributs im Verzeichniseintrag des Benutzers für die Gruppenmitgliedschaft des Benutzers. In einigen Fällen können Benutzerrollen durch den Wert eines Attributs im Verzeichniseintrag des Benutzers identifiziert werden. Mit der `userRoleName`-Option können Sie den Namen dieses Attributs angeben. Betrachten wir beispielsweise den folgenden Benutzereintrag:

  ```
  dn: uid=jdoe,ou=user,dc=example,dc=com
  objectClass: user
  uid: jdoe
  sn: jane
  cn: Jane Doe
  mail: j.doe@somecompany.com
  memberOf: role1
  userPassword: password
  ```

  Um für das obige Beispiel den richtigen `userRoleName` bereitzustellen, würden Sie das `memberOf`-Attribut angeben. Wenn die Authentifizierung erfolgreich ist, wird dem Benutzer die `role1`-Rolle zugewiesen.
+ **Rollenname** Das Gruppennamen-Attribut in einem Rolleneintrag, dessen Wert der Name dieser Rolle ist. Sie können beispielsweise `cn` für einen **allgemeinen Namen eines Gruppeneintrags** angeben. Wenn die Authentifizierung erfolgreich ist, wird dem Benutzer der Wert des Attributs `cn` für jeden Rolleneintrag zugewiesen, bei dem er Mitglied ist.
+ Der **Teilbaum Benutzersuche** Definiert den Bereich für die LDAP-Benutzersuchabfrage. Wenn true, wird der Bereich so eingestellt, dass der gesamte Teilbaum unter dem Knoten durchsucht wird, der durch `userBase` definiert ist.
+ Der **Teilbaum Rollensuche** Definiert den Bereich für die LDAP-Rollensuchabfrage. Wenn true, wird der Bereich so eingestellt, dass der gesamte Teilbaum unter dem Knoten durchsucht wird, der durch `roleBase` definiert wird.

In der folgenden Abbildung wird hervorgehoben, wo diese optionalen Einstellungen festgelegt werden sollen.

![\[Optional settings for LDAP attributes and search scope in role search matching.\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/amazon-mq-active-ldap-optional-settings.png)


## Funktionsweise der LDAP-Integration
<a name="ldap-support-details"></a>

Sie können sich die Integration in zwei Hauptkategorien vorstellen: die Struktur für die Authentifizierung und die Struktur für die Autorisierung.

### Authentifizierung
<a name="ldap-authentication"></a>

Für die Authentifizierung müssen Clientanmeldeinformationen gültig sein. Diese Anmeldeinformationen werden für Benutzer in der Benutzerbasis auf dem LDAP-Server validiert.

Die Benutzerbasis, die dem ActiveMQ-Broker bereitgestellt wird, muss auf den Knoten im DIT verweisen, auf dem Benutzer auf dem LDAP-Server gespeichert sind. Wenn Sie beispielsweise die Domänenkomponenten AWS Managed Microsoft AD, und `corp``example`, verwenden und `com` innerhalb dieser Organisationseinheiten `corp` vorhanden sind`Users`, würden Sie Folgendes als Benutzerbasis verwenden:

```
OU=Users,OU=corp,DC=corp,DC=example,DC=com
```

Der ActiveMQ-Broker würde an diesem Speicherort im DIT nach Benutzern suchen, um Client-Verbindungsanforderungen an den Broker zu authentifizieren.

![\[Suchen nach Benutzern\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/active-mq-ldap-structure.png)


Da der ActiveMQ-Quellcode den Attributnamen für Benutzer zu `uid` festcodiert, müssen Sie sicherstellen, dass für jeden Benutzer dieses Attribut festgelegt ist. Der Einfachheit halber können Sie den Verbindungsbenutzernamen des Benutzers verwenden. Weitere Informationen finden Sie im [ativemq](https://github.com/apache/activemq/blob/c3d9b388e4f1fe73e348bf466122fe6862e064a0/activemq-broker/src/main/java/org/apache/activemq/security/SimpleCachedLDAPAuthorizationMap.java#L89)-Quellcode und [Konfigurieren von ID-Zuweisungen in Active-Directory-Benutzer und -Computer für Windows Server 2016 (und nachfolgenden) Versionen](https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.3/com.ibm.spectrum.scale.v5r03.doc/bl1adm_confidmapaduc.htm).

Um den ActiveMQ-Konsolenzugriff für bestimmte Benutzer zu aktivieren, stellen Sie sicher, dass sie zur `amazonmq-console-admins`-Gruppe gehören.

### Autorisierung
<a name="ldap-authorization"></a>

Für die Autorisierung werden Berechtigungen Suchbasen in der Broker-Konfiguration angegeben. Die Autorisierung erfolgt pro Ziel (oder Platzhalter, Zielsatz) über das `cachedLdapAuthorizationMap`-Element, das sich in der `activemq.xml`-Konfigurationsdatei des Brokers befindet. Weitere Informationen finden Sie unter [Zwischengespeichertes LDAP-Autorisierungsmodul](https://activemq.apache.org/cached-ldap-authorization-module).

**Anmerkung**  
Um das `cachedLDAPAuthorizationMap` Element in der `activemq.xml` Konfigurationsdatei Ihres Brokers verwenden zu können, müssen Sie die Option **LDAP-Authentifizierung und Autorisierung** wählen, wenn Sie [eine Konfiguration über die erstellen AWS-Managementkonsole, oder die](amazon-mq-creating-applying-configurations.md) Option [zum Erstellen einer Konfiguration über die festlegen oder die [https://docs.aws.amazon.com//amazon-mq/latest/api-reference/configurations.html#configurations-model-authenticationstrategy](https://docs.aws.amazon.com//amazon-mq/latest/api-reference/configurations.html#configurations-model-authenticationstrategy)](amazon-mq-creating-applying-configurations.md)Eigenschaft auf setzen AWS-Managementkonsole, `LDAP` wenn Sie eine neue Konfiguration mit der Amazon MQ MQ-API erstellen.

Sie müssen die folgenden drei Attribute im Rahmen des `cachedLDAPAuthorizationMap`-Elements bereitstellen:
+ `queueSearchBase`
+ `topicSearchBase`
+ `tempSearchBase`

**Wichtig**  
Um zu verhindern, dass vertrauliche Informationen direkt in der Konfigurationsdatei des Brokers platziert werden, blockiert Amazon MQ die folgenden Attribute in`cachedLdapAuthorizationMap`:  
`connectionURL`
`connectionUsername`
`connectionPassword`
Wenn Sie einen Broker erstellen, ersetzt Amazon MQ die oben genannten Attribute durch die Werte AWS-Managementkonsole, die Sie über die oder in der [https://docs.aws.amazon.com//amazon-mq/latest/api-reference/brokers.html#brokers-prop-createbrokerinput-ldapservermetadata](https://docs.aws.amazon.com//amazon-mq/latest/api-reference/brokers.html#brokers-prop-createbrokerinput-ldapservermetadata)Eigenschaft Ihrer API-Anfrage angeben.

Das folgende Beispiel illustriert die Verwendung von Verschiebungen.

```
<authorizationPlugin>
    <map>
        <cachedLDAPAuthorizationMap
            queueSearchBase="ou=Queue,ou=Destination,ou=corp,dc=corp,dc=example,dc=com"
            topicSearchBase="ou=Topic,ou=Destination,ou=corp,dc=corp,dc=example,dc=com"
            tempSearchBase="ou=Temp,ou=Destination,ou=corp,dc=corp,dc=example,dc=com"
            refreshInterval="300000"
            legacyGroupMapping="false"
        />
    </map>
</authorizationPlugin>
```

Diese Werte geben die Speicherorte innerhalb des DIT an, an denen Berechtigungen für jeden Zieltyp angegeben werden. Für das obige Beispiel mit AWS Managed Microsoft AD der Verwendung derselben Domänenkomponenten von`corp`, `example` und würden Sie also eine Organisationseinheit angeben`com`, die so benannt ist, dass `destination` sie all Ihre Zieltypen enthält. Innerhalb dieser Organisationseinheit würden Sie jeweils eine für die Ziele `queues`, `topics` und `temp` erstellen.

Dies würde bedeuten, dass Ihre Warteschlangen-Suchbasis, die Autorisierungsinformationen für Ziele vom Typ Warteschlange bereitstellt, den folgenden Speicherort in Ihrem DIT hat:

```
OU=Queue,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
```

![\[Speicherort der Warteschlangen-Suche.\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/active-mq-ldap-queue-structure.png)


Ebenso würden Berechtigungsregeln für Themen und temporäre Ziele auf der gleichen Ebene im DIT liegen: 

```
OU=Topic,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
OU=Temp,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
```

Innerhalb der Organisationseinheit für jeden Zieltyp (Warteschlange, Thema, Temp) kann entweder ein Platzhalter oder ein bestimmter Zielname angegeben werden. Um beispielsweise eine Autorisierungsregel für alle Warteschlangen bereitzustellen, die mit dem Präfix DEMO.EVENTS.\$1 beginnen, können Sie die folgende Organisationseinheit erstellen:

```
OU=DEMO.EVENTS.$,OU=Queue,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
```

**Anmerkung**  
Die `DEMO.EVENTS.$`-Organisationseinheit befindet sich innerhalb der `Queue`-Organisationseinheit.

Weitere Informationen zu Platzhaltern in ActiveMQ finden Sie unter [Platzhalter](https://activemq.apache.org/wildcards)

Um Autorisierungsregeln für bestimmte Warteschlangen wie DEMO.MYQUEUE bereitzustellen, geben Sie Folgendes an:

```
OU=DEMO.MYQUEUE,OU=Queue,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
```

![\[Autorisierungsregeln für bestimmte Warteschlangen\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/active-mq-ldap-authorization-rules.png)


### Sicherheitsgruppen
<a name="ldap-security-groups"></a>

Innerhalb jeder Organisationseinheit, die ein Ziel oder einen Platzhalter darstellt, müssen Sie drei Sicherheitsgruppen erstellen. Wie bei allen Berechtigungen in ActiveMQ handelt es sich auch hier read/write/admin um Berechtigungen. Weitere Informationen zu den Funktionen der einzelnen Berechtigungen eines Benutzers finden Sie unter [Sicherheit](https://activemq.apache.org/security) in der ActiveMQ-Dokumentation.

Sie müssen diese Sicherheitsgruppen `read`, `write` und `admin` benennen. Innerhalb jeder dieser Sicherheitsgruppen können Sie Benutzer oder Gruppen hinzufügen, die dann über die Berechtigung zum Ausführen der zugehörigen Aktionen verfügen. Sie benötigen diese Sicherheitsgruppen für jede Platzhalterzielgruppe oder jedes einzelne Ziel. 

![\[Sicherheitsgruppen\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/active-mq-ldap-security-groups.png)


**Anmerkung**  
Wenn Sie die Admin-Gruppe erstellen, entsteht ein Konflikt mit dem Gruppennamen. Dieser Konflikt tritt auf, weil die Legacy-Regeln vor Windows 2000 nicht zulassen, dass Gruppen denselben Namen verwenden, selbst wenn sich die Gruppen an unterschiedlichen Speicherorten des DIT befinden. Der Wert in dem Dialogfeld **pre-Windows 2000** hat keine Auswirkungen auf die Einrichtung, muss jedoch global eindeutig sein. Um diesen Konflikt zu vermeiden, können Sie ein `uuid`-Suffix jeder `admin`-Gruppe anknüpfen.  

![\[Dies ist mein Image.\]](http://docs.aws.amazon.com/de_de/amazon-mq/latest/developer-guide/images/active-mq-ldap-admin-qualifier.png)


Hinzufügen eines Benutzers zur `admin`-Sicherheitsgruppe für ein bestimmtes Ziel ermöglicht es dem Benutzer, dieses Thema zu erstellen und zu löschen. Sie zur `read`-Sicherheitsgruppe hinzuzufügen ermöglicht es ihnen, vom Ziel zu lesen und sie der `write`-Gruppe hinzuzufügen ermöglicht es ihnen, an das Ziel zu schreiben.

Zusätzlich zum Hinzufügen einzelner Benutzer zu Sicherheitsgruppen-Berechtigungen können Sie auch ganze Gruppen hinzufügen. Da ActiveMQ jedoch wieder Attributnamen für Gruppen festcodiert, müssen Sie sicherstellen, dass die Gruppe, die Sie hinzufügen möchten, die Objektklasse `groupOfNames` hat, wie im [activemq](https://github.com/apache/activemq/blob/c3d9b388e4f1fe73e348bf466122fe6862e064a0/activemq-broker/src/main/java/org/apache/activemq/security/SimpleCachedLDAPAuthorizationMap.java#L86)-Quellcode beschrieben.

Führen Sie dazu den gleichen Prozess aus wie bei der `uid` für Benutzer. Siehe [Konfigurieren von ID-Zuweisungen in Active-Directory-Benutzern und Computer für Windows Server 2016 (und nachfolgenden) Versionen](https://www.ibm.com/support/knowledgecenter/en/STXKQY_5.0.3/com.ibm.spectrum.scale.v5r03.doc/bl1adm_confidmapaduc.htm).