

# Tagging delle risorse Wireless AWS IoT
<a name="tagging-iotwireless"></a>

Per aiutarti a gestire e organizzare dispositivi, gateway, destinazioni e profili, è possibile assegnare i metadati a ciascuna di queste risorse sotto forma di tag. Questa sezione descrive i tag e mostra come crearli. Wireless AWS IoT non ha gruppi di fatturazione e utilizza gli stessi gruppi di fatturazione di AWS IoT Core. Per ulteriori informazioni, consultare [Gruppi di fatturazione](https://docs.aws.amazon.com/iot/latest/developerguide/tagging-iot-billing-groups.html) nella *Documentazione AWS IoT Core*.

## Nozioni di base sui tag
<a name="tagging-iotwireless-basics"></a>

In presenza di diverse risorse Wireless AWS IoT dello stesso tipo, è possibile usare i tag per categorizzare le risorse in modi diversi (ad esempio, per finalità, proprietario o ambiente). Ciò consente di identificare velocemente una risorsa in base ai tag a questa assegnati.

Ogni tag è formato da una chiave e da un valore opzionale, entrambi personalizzabili. Ad esempio, è possibile definire un set di tag per un gruppo di dispositivi LoRaWAN per i quali viene aggiornato il firmware del dispositivo. Per gestire più facilmente le risorse, è consigliabile creare un set di chiavi di tag coerente in grado di soddisfare i requisiti di ciascun tipo di risorsa.

Puoi cercare e filtrare le risorse in base ai tag che aggiungi o applichi. Puoi anche utilizzare i tag per controllare l'accesso alle risorse utilizzando le policy IAM e i tag di gruppo di fatturazione per categorizzare e monitorare i costi.

## Creazione e gestione di agenti
<a name="tagging-iotwireless-create"></a>

Puoi creare e gestire i tag utilizzando il Tag Editor nella Console di gestione AWS, nell'Wireless AWS IoT o nella AWS CLI

**Utilizzo della console**  
Per semplicità di utilizzo, Tag Editor nella Console di gestione AWS fornisce una soluzione centrale e unificata per creare e gestire i tag. Per ulteriori informazioni, consultare [Utilizzo dell'editor di tag](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html) in [ Utilizzo della Console di gestione AWS](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html).

**Utilizzo dell'API o dell'interfaccia a riga di comando**  
Puoi anche utilizzare l'API o la CLI e associare tag a dispositivi wireless, gateway, profili e destinazioni quando li crei utilizzando il campo `Tags` nei seguenti comandi:
+ [AssociateAwsAccountWithPartnerAccount](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateAwsAccountWithPartnerAccount.html)
+ [CreateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDestination.html)
+ [CreateDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDeviceProfile.html)
+ [CreateFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateFuotaTask.html)
+ [CreateMulticastGroup](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateMulticastGroup.html)
+ [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html)
+ [CreateWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGateway.html)
+ [CreateWirelessGatewayTaskDefinition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGatewayTaskDefinition.html)
+ [CreateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html)
+ [API\$1StartBulkAssociateWirelessDeviceWithMulticastGroup](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_API_StartBulkAssociateWirelessDeviceWithMulticastGroup.html)

## Aggiornamento dei tag o elencazione dei tag per le risorse
<a name="tagging-iotwireless-update"></a>

Puoi aggiungere, modificare o eliminare i tag per le risorse esistenti che supportano il tagging utilizzando i comandi seguenti:
+ [ TagResource](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_TagResource)
+ [ ListTagsForResource](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_ListTagsForResource)
+ [ UntagResource](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_UntagResource)

Puoi modificare chiavi e valori di tag e rimuovere tag da una risorsa in qualsiasi momento. Puoi impostare il valore di un tag su una stringa vuota, ma non su null. Se aggiungi un tag con la stessa chiave di un tag esistente a una risorsa specifica, il nuovo valore sovrascrive quello precedente. Se elimini una risorsa, verranno eliminati anche tutti i tag associati alla risorsa.

## Restrizioni e limitazioni di tag
<a name="tagging-iotwireless-restrict"></a>

Ai tag si applicano le seguenti limitazioni di base:
+ Numero massimo di tag per risorsa: 50.
+ Lunghezza massima della chiave: 127 caratteri Unicode in formato UTF-8.
+ Lunghezza massima del valore: 255 caratteri Unicode in formato UTF-8.
+ I valori e le chiavi dei tag rispettano la distinzione tra maiuscole e minuscole.
+ Non utilizzare il prefisso `aws:` nei nomi dei tag o nei valori. Riservato per l'utilizzo da parte di AWS. Non è possibile modificare né eliminare i nomi o i valori di tag con tale prefisso. I tag con questo prefisso non vengono conteggiati per il limite del numero di tag per risorsa.
+ Se lo schema di tagging viene utilizzato in più servizi e risorse, è necessario tenere presente che in altri servizi possono essere presenti limiti sui caratteri consentiti. I caratteri consentiti sono lettere, spazi e numeri rappresentabili in formato UTF-8, più i caratteri speciali \$1 - = . \$1 : / @. 

## Utilizzo dei tag con policy IAM
<a name="tagging-iot-iam"></a>

Per specificare le risorse che un utente può creare, modificare o utilizzare, è possibile applicare autorizzazioni a livello di risorsa basate su tag nelle policy IAM utilizzate per le operazioni API Wireless AWS IoT. Puoi utilizzare l'elemento `Condition` (denominato anche blocco `Condition`) con i seguenti valori e chiavi di contesto di condizione in una policy IAM per controllare l'accesso dell'utente (autorizzazioni) in base ai tag della risorsa.
+ Utilizza `aws:ResourceTag/tag-key: tag-value` per concedere o negare agli utenti operazioni su risorse con specifici tag.
+ Utilizza `aws:RequestTag/tag-key: tag-value` per richiedere che un tag specifico venga utilizzato (o non utilizzato) durante la creazione di una richiesta API per creare o modificare una risorsa che abilita i tag.
+ Utilizza `aws:TagKeys: [tag-key, ...]` per richiedere che un set di tag specifico venga utilizzato (o non utilizzato) durante la creazione di una richiesta API per creare o modificare una risorsa che abilita i tag.

**Nota**  
Le chiavi di contesto della condizione e i valori all'interno di una policy IAM si applicano solo alle operazioni AWS IoT in cui un identificatore per una risorsa in grado di essere taggata è un parametro obbligatorio. Ad esempio, l'uso di [DescribeEndpoint](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_DescribeEndpoint) non viene consentito o negato sulla base di valori e chiavi di contesto di condizione perché in questa richiesta non si fa riferimento a una risorsa compatibile con l'assegnazione di tag.

Per ulteriori informazioni sull'utilizzo dei tag, consulta [Controllo degli accessi tramite tag](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) nella *Guida per l'utente di AWS Identity and Access Management*. La sezione relativa al [riferimento alle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) della guida ha una sintassi dettagliata, descrizioni ed esempi di elementi, variabili e logica di valutazione delle policy JSON in IAM.

La policy di esempio seguente applica due restrizioni basate su tag. Un utente IAM limitato da questa policy:
+ Non può assegnare a una risorsa il tag "env=prod" (nell'esempio, consulta la riga `"aws:RequestTag/env" : "prod"`).
+ Non può modificare o accedere a una risorsa con un tag esistente "env=prod" (nell'esempio, consulta la riga `"aws:ResourceTag/env" : "prod"`).

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "iot:CreateMulticastGroup",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "iot:CreateMulticastGroup",
        "iot:UpdateMulticastGroup",
        "iot:GetMulticastGroup",
        "iot:ListMulticastGroups"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:CreateMulticastGroup",
        "iot:UpdateMulticastGroup",
        "iot:GetMulticastGroup",
        "iot:ListMulticastGroups"
      ],
      "Resource": "*"
    }
  ]
}
```

È anche possibile specificare più valori di tag per una determinata chiave tag racchiudendoli in un elenco, come segue: 

```
"StringEquals" : {
              "aws:ResourceTag/env" : ["dev", "test"]
}
```

**Nota**  
Se consenti o neghi a un utente l'accesso a risorse in base ai tag, devi considerare esplicitamente di negare agli utenti la possibilità di aggiungere o rimuovere tali tag dalle stesse risorse. In caso contrario, un utente può eludere le restrizioni e ottenere l'accesso a una risorsa modificandone i tag.