

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à.

# Variabili della politica del certificato AWS IoT Core X.509
<a name="cert-policy-variables"></a>

Le variabili delle politiche dei certificati X.509 aiutano a scrivere le politiche. AWS IoT Core Queste politiche concedono autorizzazioni basate sugli attributi del certificato X.509. Le seguenti sezioni descrivono come utilizzare queste variabili della politica dei certificati.

**Importante**  
Se il certificato X.509 non include un particolare attributo di certificato ma nel documento di policy viene utilizzata la corrispondente variabile di politica del certificato, la valutazione della politica potrebbe portare a un comportamento imprevisto.

## CertificateId
<a name="cert-policy-variables-certid"></a>

Nell'[RegisterCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_RegisterCertificate.html)API, `certificateId` viene visualizzato nel corpo della risposta. Per ottenere informazioni sul certificato, utilizza il comando `certificateId` in [DescribeCertificate](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeCertificate.html).

## Attributi dell'autorità emittente
<a name="issuer-attributes"></a>

Le seguenti variabili di AWS IoT Core policy supportano l'autorizzazione o la negazione delle autorizzazioni, in base agli attributi del certificato impostati dall'emittente del certificato.
+ `iot:Certificate.Issuer.DistinguishedNameQualifier`
+ `iot:Certificate.Issuer.Country`
+ `iot:Certificate.Issuer.Organization`
+ `iot:Certificate.Issuer.OrganizationalUnit`
+ `iot:Certificate.Issuer.State`
+ `iot:Certificate.Issuer.CommonName`
+ `iot:Certificate.Issuer.SerialNumber`
+ `iot:Certificate.Issuer.Title`
+ `iot:Certificate.Issuer.Surname`
+ `iot:Certificate.Issuer.GivenName`
+ `iot:Certificate.Issuer.Initials`
+ `iot:Certificate.Issuer.Pseudonym`
+ `iot:Certificate.Issuer.GenerationQualifier` 

## Attributi soggetto
<a name="subject-attributes"></a>

Le seguenti variabili di AWS IoT Core policy supportano la concessione o la negazione delle autorizzazioni, in base agli attributi dell'oggetto del certificato impostati dall'emittente del certificato.
+ `iot:Certificate.Subject.DistinguishedNameQualifier`
+ `iot:Certificate.Subject.Country`
+ `iot:Certificate.Subject.Organization`
+ `iot:Certificate.Subject.OrganizationalUnit`
+ `iot:Certificate.Subject.State`
+ `iot:Certificate.Subject.CommonName`
+ `iot:Certificate.Subject.SerialNumber`
+ `iot:Certificate.Subject.Title`
+ `iot:Certificate.Subject.Surname`
+ `iot:Certificate.Subject.GivenName`
+ `iot:Certificate.Subject.Initials`
+ `iot:Certificate.Subject.Pseudonym`
+ `iot:Certificate.Subject.GenerationQualifier` 

I certificati X.509 offrono a questi attributi la possibilità di contenere uno o più valori. Per impostazione predefinita, le variabili delle policy per ogni attributo con più valori restituiscono il primo valore. Ad esempio, l'attributo `Certificate.Subject.Country` potrebbe contenere un elenco di nomi di paese, ma quando viene valutato in una policy, `iot:Certificate.Subject.Country` viene sostituito con il nome del primo paese.

Puoi richiedere un valore di attributo specifico diverso dal primo usando un indice a base uno. Ad esempio, `iot:Certificate.Subject.Country.1` viene sostituito dal secondo nome di paese nell'attributo `Certificate.Subject.Country`. Se specifichi un valore di indice che non esiste, ad esempio se richiedi un terzo valore quando all'attributo ne sono assegnati solo due, non viene eseguita alcuna sostituzione e l'autorizzazione non riesce. Puoi anche usare il suffisso `.List` nel nome di variabile della policy per specificare tutti i valori dell'attributo.

## Attributi dei nomi alternativi dell'autorità emittente
<a name="issuer-alternate-name-attributes"></a>

Le seguenti variabili di AWS IoT Core policy supportano la concessione o la negazione delle autorizzazioni, in base agli attributi alternativi del nome dell'emittente impostati dall'emittente del certificato.
+ `iot:Certificate.Issuer.AlternativeName.RFC822Name`
+ `iot:Certificate.Issuer.AlternativeName.DNSName`
+ `iot:Certificate.Issuer.AlternativeName.DirectoryName`
+ `iot:Certificate.Issuer.AlternativeName.UniformResourceIdentifier`
+ `iot:Certificate.Issuer.AlternativeName.IPAddress`

## Attributi dei nomi alternativi di oggetto
<a name="subject-alternate-name-attributes"></a>

Le seguenti variabili di AWS IoT Core policy supportano la concessione o la negazione delle autorizzazioni, in base agli attributi del nome alternativo del soggetto impostati dall'emittente del certificato.
+ `iot:Certificate.Subject.AlternativeName.RFC822Name`
+ `iot:Certificate.Subject.AlternativeName.DNSName`
+ `iot:Certificate.Subject.AlternativeName.DirectoryName`
+ `iot:Certificate.Subject.AlternativeName.UniformResourceIdentifier`
+ `iot:Certificate.Subject.AlternativeName.IPAddress`

## Altri attributi
<a name="other-attributes"></a>

È possibile utilizzare `iot:Certificate.SerialNumber` per consentire o negare l'accesso alle AWS IoT Core risorse, in base al numero di serie di un certificato. La variabile di policy `iot:Certificate.AvailableKeys` contiene il nome di tutte le variabili delle policy di certificato che contengono valori.

# Utilizzo delle variabili di policy dei certificati X.509
<a name="use-policy-variables"></a>

Questo argomento fornisce dettagli su come utilizzare le variabili delle politiche dei certificati. Le variabili delle politiche di certificato X.509 sono essenziali quando si creano AWS IoT Core politiche che forniscono autorizzazioni basate sugli attributi del certificato X.509. Se il certificato X.509 non include un particolare attributo di certificato ma nel documento di policy viene utilizzata la corrispondente variabile di politica del certificato, la valutazione della politica potrebbe portare a un comportamento imprevisto. Questo perché la variabile di policy mancante non viene valutata nella dichiarazione politica.

**Topics**
+ [Esempio di certificato X.509](#certificate-example)
+ [Utilizzo degli attributi dell'emittente del certificato come variabili della politica del certificato](#issuer-attributes-policy)
+ [Utilizzo degli attributi dell'oggetto del certificato come variabili della politica del certificato](#subject-attributes-policy)
+ [Utilizzo degli attributi di nome alternativi dell'emittente del certificato come variabili della politica del certificato](#issuer-alternate-name-attributes-policy)
+ [Utilizzo degli attributi del nome alternativo del soggetto del certificato come variabili della politica del certificato](#subject-alternate-name-attributes-policy)
+ [Utilizzo di un altro attributo di certificato come variabile di politica del certificato](#other-attributes-policy)
+ [Limitazioni per le variabili delle policy di certificato X.509](#policy-limits)
+ [Politiche di esempio che utilizzano variabili di policy relative ai certificati](#example-attributes-policy)

## Esempio di certificato X.509
<a name="certificate-example"></a>

Un tipico certificato X.509 potrebbe apparire come segue. Questo certificato di esempio include gli attributi del certificato. Durante la valutazione delle AWS IoT Core politiche, i seguenti attributi del certificato verranno compilati come variabili dei criteri di certificazione:`Serial Number`,`Issuer`, `Subject``X509v3 Issuer Alternative Name`, e`X509v3 Subject Alternative Name`.

```
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            92:12:85:cb:b7:a5:e0:86
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=US, O=IoT Devices, OU=SmartHome, ST=WA, CN=IoT Devices Primary CA, 
				GN=Primary CA1/initials=XY/dnQualifier=Example corp,
				SN=SmartHome/ title=CA1/pseudonym=Primary_CA/generationQualifier=2/serialNumber=987		
        Validity
            Not Before: Mar 26 03:25:40 2024 GMT
            Not After : Apr 28 03:25:40 2025 GMT
        Subject: C=US, O=IoT Devices, OU=LightBulb, ST=NY, CN=LightBulb Device Cert, 
				GN=Bulb/initials=ZZ/dnQualifier=Bulb001, 
				SN=Multi Color/title=RGB/pseudonym=RGB Device/generationQualifier=4/serialNumber=123
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    << REDACTED >>
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Key Usage: 
                Digital Signature, Non Repudiation, Key Encipherment
            X509v3 Subject Alternative Name: 
                DNS:example.com, IP Address:1.2.3.4, URI:ResourceIdentifier001, email:device1@example.com, DirName:/C=US/O=IoT/OU=SmartHome/CN=LightBulbCert
            X509v3 Issuer Alternative Name: 
                DNS:issuer.com, IP Address:5.6.7.8, URI:PrimarySignerCA, email:primary@issuer.com, DirName:/C=US/O=Issuer/OU=IoT Devices/CN=Primary Issuer CA
    Signature Algorithm: sha256WithRSAEncryption
         << REDACTED >>
```

## Utilizzo degli attributi dell'emittente del certificato come variabili della politica del certificato
<a name="issuer-attributes-policy"></a>

La tabella seguente fornisce dettagli su come gli attributi dell'emittente del certificato verranno inseriti in una politica. AWS IoT Core 


**Attributi dell'emittente da inserire in una politica**  

| Attributi dell'emittente del certificato | Variabili della politica dei certificati | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  | 

## Utilizzo degli attributi dell'oggetto del certificato come variabili della politica del certificato
<a name="subject-attributes-policy"></a>

La tabella seguente fornisce dettagli su come gli attributi dell'oggetto del certificato verranno inseriti in una AWS IoT Core politica.


**Attributi del soggetto da inserire in una politica**  

| Attributi dell'oggetto del certificato | Variabili della politica dei certificati | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  | 

## Utilizzo degli attributi di nome alternativi dell'emittente del certificato come variabili della politica del certificato
<a name="issuer-alternate-name-attributes-policy"></a>

La tabella seguente fornisce dettagli su come gli attributi dei nomi alternativi dell'emittente del certificato verranno inseriti in una politica. AWS IoT Core 


**Attributi del nome alternativi dell'emittente da inserire in una policy**  

| Nome alternativo dell'emittente X509v3 | Attributo in una politica | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  | 

## Utilizzo degli attributi del nome alternativo del soggetto del certificato come variabili della politica del certificato
<a name="subject-alternate-name-attributes-policy"></a>

La tabella seguente fornisce dettagli su come gli attributi del nome alternativo del soggetto del certificato verranno inseriti in una politica. AWS IoT Core 


**Attributi del nome alternativo del soggetto da inserire in una policy**  

| Nome alternativo del soggetto X509v3 | Attributo in una politica | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/use-policy-variables.html)  | 

## Utilizzo di un altro attributo di certificato come variabile di politica del certificato
<a name="other-attributes-policy"></a>

La tabella seguente fornisce dettagli su come gli altri attributi del certificato verranno inseriti in una AWS IoT Core politica.


**Altri attributi da inserire in una policy**  

| Altro attributo del certificato | Variabile di politica del certificato | 
| --- | --- | 
|  `Serial Number: 92:12:85:cb:b7:a5:e0:86`  |  `iot:Certificate.SerialNumber = 10525622389124227206`  | 

## Limitazioni per le variabili delle policy di certificato X.509
<a name="policy-limits"></a>

Alle variabili delle policy di certificato X.509 si applicano le limitazioni seguenti:

Variabili di policy mancanti  
Se il certificato X.509 non include un particolare attributo di certificato ma nel documento di policy viene utilizzata la corrispondente variabile di policy del certificato, la valutazione della policy potrebbe portare a un comportamento imprevisto. Questo perché la variabile di policy mancante non viene valutata nella dichiarazione politica.

Formato del certificato SerialNumber   
AWS IoT Core considera il numero di serie del certificato come la rappresentazione in formato stringa di un numero intero decimale. Ad esempio, se una policy consente solo connessioni con ID client corrispondente al numero di serie del certificato, l'ID client deve essere il numero di serie in formato decimale.

Caratteri jolly  
Se negli attributi del certificato sono presenti caratteri jolly, la variabile policy non viene sostituita dal valore dell'attributo certificate. Questo lascerà il `${policy-variable}` testo nel documento di policy. Questo comportamento può provocare un errore di autenticazione. È possibile utilizzare i seguenti caratteri jolly: `*`, `$`, `+`, `?` e `#`.

Campi di matrice  
Gli attributi di certificato che contengono matrici sono limitati a cinque elementi. Gli elementi aggiuntivi vengono ignorati.

Lunghezza delle stringhe  
Tutti i valori di stringa sono limitati a 1024 caratteri. Se un attributo di certificato contiene una stringa più lunga di 1024 caratteri, la variabile policy non viene sostituita dal valore dell'attributo certificate. Questo lascerà il nome `${policy-variable}` nel documento relativo alla policy. Questo comportamento può provocare un errore di autenticazione.

Caratteri speciali  
Qualsiasi carattere speciale, ad esempio `,`, `"`, `\`, `+`, `=`, `<`, `>` e `;` deve essere preceduto da una barra rovesciata (`\`) quando viene utilizzato in una variabile di policy. Ad esempio `Amazon Web Services O=Amazon.com Inc. L=Seattle ST=Washington C=US` diventa `Amazon Web Service O\=Amazon.com Inc. L\=Seattle ST\=Washington C\=US`.

## Politiche di esempio che utilizzano variabili di policy relative ai certificati
<a name="example-attributes-policy"></a>

Il seguente documento di policy consente le connessioni con un ID client che corrisponde al numero di serie del certificato e la pubblicazione sull'argomento che corrisponde al modello:`${iot:Certificate.Subject.Organization}/device-stats/${iot:ClientId}/*`. 

**Importante**  
Se il certificato X.509 non include un particolare attributo di certificato ma nel documento di policy viene utilizzata la corrispondente variabile di policy del certificato, la valutazione della policy potrebbe portare a un comportamento imprevisto. Questo perché la variabile di policy mancante non viene valutata nella dichiarazione politica. Ad esempio, se alleghi il seguente documento di policy a un certificato che non contiene l'`iot:Certificate.Subject.Organization`attributo, le variabili di policy del `iot:Certificate.Subject.Organization` certificato non verranno compilate durante la valutazione della policy.

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/${iot:Certificate.SerialNumber}"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"iot:Publish"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.Organization}/device-stats/${iot:ClientId}/*"
			]
		}
	]
}
```

È inoltre possibile utilizzare l'[operatore di condizione Null](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Null) per garantire che le variabili della politica dei certificati utilizzate in una politica vengano compilate durante la valutazione della politica. Il seguente documento di policy consente l'utilizzo `iot:Connect` di certificati solo quando sono presenti gli attributi Certificate Serial Number e Certificate Subject Common name.

Tutte le variabili della politica del certificato hanno valori String, quindi tutti [gli operatori di condizione String](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String) sono supportati.

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"iot:Connect"
			],
			"Resource": [
				"arn:aws:iot:us-east-1:123456789012:client/*"
			],
			"Condition": {
				"Null": {
					"iot:Certificate.SerialNumber": "false",
					"iot:Certificate.Subject.CommonName": "false"
				}
			}
		}
	]
}
```