

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esempi di politiche di messaggistica diretta
<a name="direct-messaging-policy-examples"></a>

L'utilizzo della messaggistica diretta richiede politiche specifiche. La messaggistica diretta utilizza l'API SendDirectMessage HTTP per recapitare i messaggi da un mittente a un singolo destinatario identificato dal relativo ID client MQTT. Questa sezione presenta esempi di politiche che consentono usi comuni della messaggistica diretta.

**Topics**
+ [Politica per l'invio di un messaggio diretto a un cliente specifico su argomenti specifici](#dm-policy-send-specific)
+ [Politica di ricezione di messaggi diretti](#dm-policy-receive)
+ [Politica di invio di un messaggio diretto a qualsiasi cliente su argomenti specifici](#dm-policy-send-any-client)
+ [Politica di invio di un messaggio diretto a qualsiasi cliente su qualsiasi argomento](#dm-policy-send-any-client-any-topic)

## Politica per l'invio di un messaggio diretto a un cliente specifico su argomenti specifici
<a name="dm-policy-send-specific"></a>

Affinché un mittente possa inviare messaggi diretti, deve disporre dell'`iot:SendDirectMessage`autorizzazione per utilizzare l'ID del client di destinazione come risorsa. La chiave `iot:Topic` condizionale (opzionale) limita gli argomenti su cui il mittente può inviare messaggi.
+ Per i server di SigV4-authenticated backend, aggiungila a una policy IAM.
+ Per i dispositivi X.509-authenticated IoT, aggiungilo a una AWS IoT Core policy.
+ Per i client autenticati con autorizzazione personalizzata, la funzione Lambda deve restituire un documento di policy che concede la risorsa client di destinazione con la `iot:SendDirectMessage` chiave di condizione `iot:Topic`

La seguente politica consente `device1` al client di inviare messaggi diretti al client sugli argomenti e. `myDevice` `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"]
                }
            }
        }
    ]
}
```

## Politica di ricezione di messaggi diretti
<a name="dm-policy-receive"></a>

La politica del destinatario deve garantire `iot:Receive` sull'argomento. Il destinatario non necessita di `iot:Subscribe` autorizzazione: AWS IoT Core consegna messaggi diretti senza richiedere un abbonamento all'argomento. Il destinatario può autenticarsi utilizzando X.509 il certificato client (AWS IoT Core policy) o SigV4 (policy IAM). In entrambi i casi, è richiesta l'`iot:Receive`autorizzazione sull'argomento ricevente.

La seguente politica consente `myDevice` al client destinatario di ricevere messaggi diretti sugli argomenti `commands/reboot` e`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"
        }
    ]
}
```

La seguente politica utilizza un carattere jolly per consentire al destinatario di ricevere messaggi diretti su qualsiasi argomento sotto il `commands/` prefisso.

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

**Nota**  
Il destinatario deve stabilire una connessione MQTT a AWS IoT Core prima di ricevere un messaggio diretto. I messaggi diretti non vengono messi in coda per i dispositivi offline.

## Politica di invio di un messaggio diretto a qualsiasi cliente su argomenti specifici
<a name="dm-policy-send-any-client"></a>

La seguente politica consente al mittente di inviare messaggi diretti a qualsiasi client, ma solo su argomenti corrispondenti al `commands/*` prefisso. Ciò è utile per i servizi di gestione del parco veicoli che devono raggiungere qualsiasi dispositivo, ma solo per argomenti di comando specifici.

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

**Nota**  
La chiave `iot:Topic` condition supporta l'abbinamento di caratteri jolly con l'operatore di `StringLike` condizione.

## Politica di invio di un messaggio diretto a qualsiasi cliente su qualsiasi argomento
<a name="dm-policy-send-any-client-any-topic"></a>

La seguente politica consente al mittente di inviare messaggi diretti a qualsiasi client su qualsiasi argomento. È adatto per casi d'uso amministrativi o di gestione del parco veicoli in cui un servizio di backend richiede un accesso illimitato.

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