

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.

# Beispiele für Richtlinien für Direktnachrichten
<a name="direct-messaging-policy-examples"></a>

Für die Verwendung von Direktnachrichten sind spezielle Richtlinien erforderlich. Direct Messaging verwendet die SendDirectMessage HTTP-API, um Nachrichten von einem Absender an einen einzelnen Empfänger zu übermitteln, der anhand seiner MQTT-Client-ID identifiziert wird. In diesem Abschnitt werden Beispiele für Richtlinien vorgestellt, die die allgemeine Verwendung von Direktnachrichten ermöglichen.

**Topics**
+ [Richtlinie zum Senden einer Direktnachricht an einen bestimmten Kunden zu bestimmten Themen](#dm-policy-send-specific)
+ [Richtlinie zum Empfangen von Direktnachrichten](#dm-policy-receive)
+ [Richtlinie zum Senden einer Direktnachricht an einen beliebigen Kunden zu bestimmten Themen](#dm-policy-send-any-client)
+ [Richtlinie zum Senden einer Direktnachricht an einen beliebigen Kunden zu einem beliebigen Thema](#dm-policy-send-any-client-any-topic)

## Richtlinie zum Senden einer Direktnachricht an einen bestimmten Kunden zu bestimmten Themen
<a name="dm-policy-send-specific"></a>

Damit ein Absender Direktnachrichten senden kann, muss er die `iot:SendDirectMessage` Erlaubnis haben, die Ziel-Client-ID als Ressource zu verwenden. Der `iot:Topic` Bedingungsschlüssel (optional) schränkt ein, zu welchen Themen der Absender Nachrichten senden kann.
+ Fügen Sie dies für SigV4-authenticated Backend-Server zu einer IAM-Richtlinie hinzu.
+ Fügen Sie dies für X.509-authenticated IoT-Geräte einer AWS IoT Core Richtlinie hinzu.
+ Für benutzerdefinierte, vom Authorizer authentifizierte Clients muss die Lambda-Funktion ein Policy-Dokument zurückgeben, das für die Ziel-Client-Ressource mit `iot:SendDirectMessage` dem Bedingungsschlüssel gewährt wird `iot:Topic`

Die folgende Richtlinie ermöglicht es dem Kunden`device1`, Direktnachrichten zu den Themen und an den Kunden `myDevice` zu senden. `commands/reboot` `commands/update`

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:SendDirectMessage",
            "Resource": "arn:aws:iot:us-west-2:123456789012:client/myDevice",
            "Condition": {
                "StringEquals": {
                    "iot:Topic": ["commands/reboot", "commands/update"]
                }
            }
        }
    ]
}
```

## Richtlinie zum Empfangen von Direktnachrichten
<a name="dm-policy-receive"></a>

Die Richtlinien des Empfängers müssen `iot:Receive` zu diesem Thema gelten. Der Empfänger benötigt keine `iot:Subscribe` Genehmigung — er AWS IoT Core übermittelt Direktnachrichten, ohne dass ein Themenabonnement erforderlich ist. Der Empfänger kann sich mithilfe eines X.509 Client-Zertifikats (AWS IoT Core Richtlinie) oder SigV4 (IAM-Richtlinie) authentifizieren. In beiden Fällen ist die `iot:Receive` Genehmigung für das empfangende Thema erforderlich.

Die folgende Richtlinie ermöglicht es dem Empfängerclient`myDevice`, Direktnachrichten zu den Themen `commands/reboot` und zu empfangen`commands/update`.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-west-2:123456789012:topic/commands/reboot"
        },
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-west-2:123456789012:topic/commands/update"
        }
    ]
}
```

In der folgenden Richtlinie wird ein Platzhalter verwendet, damit der Empfänger Direktnachrichten zu jedem beliebigen Thema unter dem `commands/` Präfix empfangen kann.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:Receive",
            "Resource": "arn:aws:iot:us-west-2:123456789012:topic/commands/*"
        }
    ]
}
```

**Anmerkung**  
Der Empfänger muss eine MQTT-Verbindung zu herstellen, AWS IoT Core bevor er eine Direktnachricht empfängt. Direktnachrichten werden für Offline-Geräte nicht in die Warteschlange gestellt.

## Richtlinie zum Senden einer Direktnachricht an einen beliebigen Kunden zu bestimmten Themen
<a name="dm-policy-send-any-client"></a>

Die folgende Richtlinie ermöglicht es dem Absender, Direktnachrichten an jeden Kunden zu senden, jedoch nur zu Themen, die dem `commands/*` Präfix entsprechen. Dies ist nützlich für Flottenmanagementdienste, die jedes Gerät erreichen müssen, jedoch nur für bestimmte Befehlsthemen.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:SendDirectMessage",
            "Resource": "arn:aws:iot:us-west-2:123456789012:client/*",
            "Condition": {
                "StringLike": {
                    "iot:Topic": "commands/*"
                }
            }
        }
    ]
}
```

**Anmerkung**  
Der `iot:Topic` Bedingungsschlüssel unterstützt den Platzhalterabgleich mit dem `StringLike` Bedingungsoperator.

## Richtlinie zum Senden einer Direktnachricht an einen beliebigen Kunden zu einem beliebigen Thema
<a name="dm-policy-send-any-client-any-topic"></a>

Die folgende Richtlinie ermöglicht es dem Absender, Direktnachrichten zu einem beliebigen Thema an jeden Kunden zu senden. Dies eignet sich für administrative oder Flottenmanagement-Anwendungsfälle, in denen ein Backend-Service uneingeschränkten Zugriff benötigt.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot:SendDirectMessage",
            "Resource": "arn:aws:iot:us-west-2:123456789012:client/*",
            "Condition": {
                "StringLike": {
                    "iot:Topic": "*"
                }
            }
        }
    ]
}
```