

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

# Creazione di un autorizzatore
<a name="custom-auth-create-authorizer"></a>

 [È possibile creare un autorizzatore utilizzando l'API. CreateAuthorizer](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateAuthorizer.html) L'esempio seguente descrive il comando. 

```
aws iot create-authorizer
--authorizer-name MyAuthorizer
--authorizer-function-arn arn:aws:lambda:us-west-2:<account_id>:function:MyAuthorizerFunction  //The ARN of the Lambda function.
[--token-key-name MyAuthorizerToken //The key used to extract the token from headers.
[--token-signing-public-keys FirstKey=
 "-----BEGIN PUBLIC KEY-----
  [...insert your public key here...] 
  -----END PUBLIC KEY-----"
[--status ACTIVE]
[--tags <value>]
[--signing-disabled | --no-signing-disabled]
```

Puoi utilizzare il parametro `signing-disabled` per disattivare la convalida della firma per ogni chiamata dell'autorizzatore. Si consiglia vivamente di non disattivare la firma a meno che non sia necessario. La convalida della firma ti protegge da invocazioni eccessive della funzione Lambda da dispositivi sconosciuti. Non è possibile aggiornare lo status `signing-disabled` di un autorizzatore dopo averlo creata. Per modificare questo comportamento, è necessario creare un altro autorizzatore personalizzato con un valore diverso per il parametro `signing-disabled`. 

I valori per i parametri `tokenKeyName` e `tokenSigningPublicKeys` sono facoltativi se la firma è stata disabilitata. Sono valori obbligatori se la firma è abilitata. 

Dopo aver creato la funzione Lambda e l'autorizzatore personalizzato, devi concedere esplicitamente al AWS IoT Core servizio l'autorizzazione a richiamare la funzione per tuo conto. Puoi farlo con il seguente comando. 

**Nota**  
L'endpoint IoT predefinito potrebbe non supportare l'utilizzo di autorizzazioni personalizzate con funzioni Lambda. Puoi invece utilizzare le configurazioni di dominio per definire un nuovo endpoint e quindi specificare quell'endpoint per l'autorizzatore personalizzato.

```
aws lambda add-permission --function-name <lambda_function_name>
--principal iot.amazonaws.com --source-arn <authorizer_arn>
--statement-id Id-123 --action "lambda:InvokeFunction"
```