

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

# Utilizzo della firma del codice per verificare l'integrità del codice con Lambda
<a name="configuration-codesigning"></a>

La firma del codice consente di garantire che solo il codice attendibile venga eseguito nelle funzioni Lambda. Utilizzando AWS Signer, puoi creare pacchetti di codice con firma digitale per le tue funzioni. Quando [aggiungi una configurazione di firma del codice a una funzione](configuration-codesigning-create.md), Lambda verifica che tutte le nuove implementazioni di codice siano firmate da una fonte attendibile. Poiché i controlli di convalida della firma del codice vengono eseguiti al momento dell’implementazione, non vi è alcun impatto sull'esecuzione delle funzioni.

**Importante**  
Le configurazioni di firma del codice impediscono solo nuove implementazioni di codice non firmato. Se aggiungi una configurazione di firma del codice a una funzione esistente con codice non firmato, tale codice continua a funzionare finché non distribuisci un nuovo pacchetto di codice.

Quando attivi la firma del codice per una funzione, tutti i [livelli](chapter-layers.md) aggiunti alla funzione devono essere firmati anche da uno dei profili di firma consentiti.

Non sono previsti costi aggiuntivi per l'utilizzo AWS Signer o la firma del codice. AWS Lambda

## Convalida della firma
<a name="config-codesigning-valid"></a>

Lambda esegue i seguenti controlli di convalida quando si distribuisce un pacchetto di codice firmato alla funzione:

1. **Integrità**: convalida che il pacchetto di codice non sia stato modificato dopo la firma. Lambda confronta l'hash del pacchetto con l'hash della firma.

1. **Scadenza**: convalida che la firma del pacchetto di codice non sia scaduta.

1. **Mancata corrispondenza**: convalida che il pacchetto di codice sia firmato con un profilo di firma consentiti.

1. **Revoca**: convalida che la firma del pacchetto di codice non sia stata revocata.

Quando crei una configurazione di firma del codice, puoi utilizzare il [UntrustedArtifactOnDeployment](https://docs.aws.amazon.com/lambda/latest/api/API_CodeSigningPolicies.html#lambda-Type-CodeSigningPolicies-UntrustedArtifactOnDeployment)parametro per specificare come Lambda deve rispondere se i controlli di scadenza, mancata corrispondenza o revoca falliscono. Puoi scegliere una di queste azioni:
+ `Warn`: è l'impostazione predefinita. Lambda consente l’implementazione del pacchetto di codice, ma emette un avviso. Lambda emette un nuovo CloudWatch parametro Amazon (`SignatureValidationErrors`) e memorizza anche l'avviso nel registro. CloudTrail 
+ `Enforce`: Lambda emette un avviso (lo stesso dell'azione `Warn`) e blocca l’implementazione del pacchetto di codice.

**Topics**
+ [

## Convalida della firma
](#config-codesigning-valid)
+ [

# Creazione di configurazioni di firma del codice per Lambda
](configuration-codesigning-create.md)
+ [

# Configurazione delle policy IAM per le configurazioni di firma del codice Lambda
](config-codesigning-policies.md)
+ [

# Utilizzo di tag nelle configurazioni di firma del codice
](tags-csc.md)

# Creazione di configurazioni di firma del codice per Lambda
<a name="configuration-codesigning-create"></a>

Per abilitare la firma del codice per una funzione, creare una *configurazione di firma del codice* e collegarla alla funzione. Una configurazione di firma del codice definisce un elenco di profili di firma consentiti e le operazioni delle policy da eseguire in caso di esito negativo dei controlli di convalida.

**Nota**  
Le funzioni definite come immagini di container non supportano la firma del codice.

**Topics**
+ [

## Prerequisiti di configurazione
](#config-codesigning-prereqs)
+ [

## Creazione delle configurazioni di firma del codice
](#config-codesigning-config-console)
+ [

## Abilitazione della firma del codice per una funzione
](#config-codesigning-function-console)

## Prerequisiti di configurazione
<a name="config-codesigning-prereqs"></a>

Prima di configurare la firma del codice per una funzione Lambda, utilizzare AWS Signer per effettuare le seguenti operazioni:
+ Creare uno o più [profili di firma](https://docs.aws.amazon.com/signer/latest/developerguide/signing-profiles.html).
+ Utilizzare un profilo di firma per [creare un pacchetto di codice firmato per la funzione](https://docs.aws.amazon.com/signer/latest/developerguide/lambda-workflow.html).

## Creazione delle configurazioni di firma del codice
<a name="config-codesigning-config-console"></a>

Una configurazione di firma del codice definisce un elenco di profili di firma consentiti e la policy di convalida della firma.

**Per creare una configurazione di firma del codice (console)**

1. Aprire la pagina [Configurazioni di firma del codice](https://console.aws.amazon.com/lambda/home#/code-signing-configurations) della console Lambda.

1. Scegli **Crea configurazione**.

1. In **Description (Descrizione)**, immettere un nome descrittivo per la configurazione.

1. In **Signing profiles (Profili di firma)** aggiungere fino a 20 profili di firma alla configurazione.

   1. Per **l'ARN della versione del profilo di firma**, scegliere l'ARN (Amazon Resource Name) di una versione del profilo oppure inserire l'ARN.

   1. Per aggiungere un profilo di firma aggiuntivo, scegliere **Add signing profiles (Aggiungi profili di firma)**.

1. In **Signature validation policy (Policy di convalida della firma)**, scegliere **Warn (Avvisa)** o **Enforce (Applica)**.

1. Scegli **Crea configurazione**.

## Abilitazione della firma del codice per una funzione
<a name="config-codesigning-function-console"></a>

Per abilitare la firma del codice per una funzione, aggiungi una configurazione di firma del codice alla funzione.

**Importante**  
Le configurazioni di firma del codice impediscono solo nuove implementazioni di codice non firmato. Se aggiungi una configurazione di firma del codice a una funzione esistente con codice non firmato, tale codice continua a funzionare finché non distribuisci un nuovo pacchetto di codice.

**Per associare una configurazione di firma del codice a una funzione (console)**

1. Aprire la pagina [Funzioni](https://console.aws.amazon.com/lambda/home#/functions) della console Lambda.

1. Scegliere la funzione per la quale si desidera abilitare la firma del codice.

1. Apri la scheda **Configurazione**.

1. Scorri verso il basso e scegli **Firma del codice**.

1. Scegli **Modifica**.

1. In **Edit code signing (Modifica della firma del codice)**, scegliere una configurazione di firma del codice per questa funzione.

1. Selezionare **Salva**.

# Configurazione delle policy IAM per le configurazioni di firma del codice Lambda
<a name="config-codesigning-policies"></a>

Per concedere l'autorizzazione a un utente di accedere alle operazioni dell'API di firma del codice Lambda, allegare una o più istruzioni delle policy alla policy dell'utente. Per ulteriori informazioni sulle policy utente, consulta [Policy IAM basate sull'identità per Lambda](access-control-identity-based.md).

La seguente istruzione di policy di esempio concede l'autorizzazione per creare, aggiornare e recuperare le configurazioni di firma del codice.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
          "lambda:CreateCodeSigningConfig",
          "lambda:UpdateCodeSigningConfig",
          "lambda:GetCodeSigningConfig"
        ],
      "Resource": "*" 
    }
  ]
}
```

------

Gli amministratori possono utilizzare la chiave di condizione `CodeSigningConfigArn` per specificare le configurazioni di firma del codice che gli sviluppatori devono utilizzare per creare o aggiornare le funzioni.

La seguente istruzione di policy di esempio concede l'autorizzazione per creare una funzione. La dichiarazione di policy include una condizione `lambda:CodeSigningConfigArn` per specificare la configurazione di firma del codice consentita. Lambda blocca le richieste `CreateFunction` API se il [CodeSigningConfigArn](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-CodeSigningConfigArn)parametro manca o non corrisponde al valore nella condizione.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowReferencingCodeSigningConfig",
      "Effect": "Allow",
      "Action": [
        "lambda:CreateFunction"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "lambda:CodeSigningConfigArn": "arn:aws:lambda:us-east-1:111122223333:code-signing-config:csc-0d4518bd353a0a7c6"
        }
      }
    }
  ]
}
```

------

# Utilizzo di tag nelle configurazioni di firma del codice
<a name="tags-csc"></a>

Puoi contrassegnare le configurazioni di firma del codice per organizzare e gestire le risorse. I tag sono coppie chiave-valore a forma libera associate alle risorse supportate su Servizi AWS. Per ulteriori informazioni sui casi d'uso dei tag, consulta [Strategie di tagging comuni nella Guida AWS](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#tag-strategies) *alle risorse di etichettatura e all'editor di tag*. 

 Puoi utilizzare l' AWS Lambda API per visualizzare e aggiornare i tag. Puoi anche visualizzare e aggiornare i tag mentre gestisci una configurazione specifica di firma del codice nella console Lambda.

**Topics**
+ [

## Autorizzazioni necessarie per lavorare con i tag
](#csc-tags-required-permissions)
+ [

## Utilizzo di tag con la console Lambda
](#tags-csc-console)
+ [

## Usare i tag con AWS CLI
](#tags-csc-cli)

## Autorizzazioni necessarie per lavorare con i tag
<a name="csc-tags-required-permissions"></a>

Per consentire a un'identità AWS Identity and Access Management (IAM) (utente, gruppo o ruolo) di leggere o impostare tag su una risorsa, concedile le autorizzazioni corrispondenti:
+ **lambda: ListTags** —Quando una risorsa ha dei tag, concedi questa autorizzazione a chiunque debba richiamarla`ListTags`. Per le funzioni con tag, questa autorizzazione è necessaria anche per `GetFunction`.
+ **lambda: TagResource** —Concedi questa autorizzazione a chiunque abbia bisogno di chiamare `TagResource` o eseguire un tag durante la creazione.

Facoltativamente, valuta la possibilità di concedere anche l'UntagResourceautorizzazione **lambda:** per consentire `UntagResource` le chiamate alla risorsa.

Per ulteriori informazioni, consulta [Policy IAM basate sull'identità per Lambda](access-control-identity-based.md).

## Utilizzo di tag con la console Lambda
<a name="tags-csc-console"></a>

Puoi utilizzare la console Lambda per creare configurazioni di firma del codice che hanno tag, aggiungere tag a configurazioni di firma del codice esistenti e filtrare le configurazioni di firma del codice per tag.

**Per aggiungere un tag durante la creazione di una configurazione di firma del codice**

1. Apri la pagina [Configurazioni di firma del codice](https://console.aws.amazon.com/lambda/home#/code-signing-configurations) della console Lambda.

1. Dall'intestazione del riquadro dei contenuti, scegli **Crea configurazione**.

1. Nella sezione nella parte superiore del riquadro dei contenuti, configura la configurazione di firma del codice. Per ulteriori informazioni sull'impostazione delle configurazione di firma del codice, consulta [Utilizzo della firma del codice per verificare l'integrità del codice con Lambda](configuration-codesigning.md).

1. Nella sezione **Tag**, seleziona **Aggiungi nuovo tag**.

1. Nel campo **Chiave**, inserisci la chiave del tag. Per informazioni sulle restrizioni relative ai tag, consulta [Limiti e requisiti di denominazione dei tag nella Guida alle risorse di etichettatura e](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#id_tags_naming_best_practices) all'editor di *tag AWS *.

1. Scegli **Crea configurazione**.

**Per aggiungere un tag a una configurazione di firma del codice esistente**

1. Apri la pagina [Configurazioni di firma del codice](https://console.aws.amazon.com/lambda/home#/code-signing-configurations) della console Lambda.

1. Scegli il nome della configurazione di firma del codice.

1. Nelle schede sotto il riquadro **Dettagli**, scegli **Tag**.

1. Scegliere **Gestisci tag**.

1. Scegliere **Aggiungi nuovo tag**.

1. Nel campo **Chiave**, inserisci la chiave del tag. Per informazioni sulle restrizioni relative ai tag, consulta [Limiti e requisiti di denominazione dei tag nella Guida alle risorse di etichettatura e](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#id_tags_naming_best_practices) all'editor di *tag AWS *.

1. Scegli **Save** (Salva).

**Per filtrare le configurazioni di firma del codice per tag**

1. Apri la pagina [Configurazioni di firma del codice](https://console.aws.amazon.com/lambda/home#/code-signing-configurations) della console Lambda.

1. Scegli la barra di ricerca.

1. Dall'elenco a discesa, seleziona il tag sotto il sottotitolo **Tag**.

1. Seleziona **Usa: "nome-tag"** per vedere tutte le configurazioni di firma del codice etichettate con questa chiave, oppure scegli un **operatore** per filtrare ulteriormente in base al valore.

1. Seleziona il valore del tag da filtrare in base a una combinazione di chiave e valore del tag.

La barra di ricerca supporta anche la ricerca di chiavi di tag. Immetti il nome di una chiave per trovarla nell'elenco.

## Usare i tag con AWS CLI
<a name="tags-csc-cli"></a>

Puoi aggiungere e rimuovere tag sulle risorse Lambda esistenti, incluse le configurazioni di firma del codice, con l'API Lambda. Puoi aggiungere i tag anche quando crei una configurazione di firma del codice, che ti consente di mantenere etichettata una risorsa per tutto il suo ciclo di vita.

### Aggiornamento dei tag con il tag Lambda APIs
<a name="tags-csc-api-config"></a>

Puoi aggiungere e rimuovere tag per le risorse Lambda supportate tramite le operazioni [TagResource](https://docs.aws.amazon.com/lambda/latest/api/API_TagResource.html)e [UntagResource](https://docs.aws.amazon.com/lambda/latest/api/API_UntagResource.html)API.

Puoi chiamare queste operazioni tramite la AWS CLI. Per aggiungere i tag a una risorsa esistente, utilizza il comando `tag-resource`. Questo esempio aggiunge due tag, uno con la chiave *Department* e uno con la chiave*CostCenter*.

```
aws lambda tag-resource \
--resource arn:aws:lambda:us-east-2:123456789012:resource-type:my-resource \
--tags Department=Marketing,CostCenter=1234ABCD
```

Pr rimuovere i tag, utilizza il comando `untag-resource`. Questo esempio rimuove il tag con la chiave*Department*.

```
aws lambda untag-resource --resource arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier \
--tag-keys Department
```

### Aggiunta di tag durante la creazione di una configurazione di firma del codice
<a name="tags-csc-on-create"></a>

Per creare una nuova configurazione di firma del codice Lambda con tag, usa l'operazione [CreateCodeSigningConfig](https://docs.aws.amazon.com//lambda/latest/api/API_CreateCodeSigningConfig.html)API. Specifica il parametro `Tags`. È possibile richiamare questa operazione con il `create-code-signing-config` AWS CLI comando e l'`--tags`opzione. *Per ulteriori informazioni sul comando CLI, vedere [create-code-signing-config](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-code-signing-config.html)nel Command Reference AWS CLI .*

Prima di utilizzare il parametro `Tags` con `CreateCodeSigningConfig`, assicurati che il tuo ruolo disponga dell'autorizzazione per etichettare le risorse oltre alle normali autorizzazioni necessarie per questa operazione. Per ulteriori informazioni sulle autorizzazioni per il tagging, consulta [Autorizzazioni necessarie per lavorare con i tag](#csc-tags-required-permissions).

### Visualizzazione dei tag con il tag Lambda APIs
<a name="tags-csc-api-view"></a>

Per visualizzare i tag applicati a una risorsa Lambda specifica, utilizza l'operazione API `ListTags`. Per ulteriori informazioni, consulta [ListTags](https://docs.aws.amazon.com/lambda/latest/api/API_ListTags.html).

Puoi richiamare questa operazione con il `list-tags` AWS CLI comando fornendo un ARN (Amazon Resource Name).

```
aws lambda list-tags --resource arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier
```

### Filtro delle risorse per tag
<a name="tags-csc-filtering"></a>

Puoi utilizzare l'operazione AWS Resource Groups Tagging API [GetResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html)API per filtrare le tue risorse in base ai tag. L'operazione `GetResources` riceve fino a 10 filtri, ognuno dei quali contenente una chiave di tag e un massimo di 10 valori di tag. Fornisci `GetResources` con un `ResourceType` per filtrare in base a tipi di risorse specifiche.

È possibile richiamare questa operazione utilizzando il `get-resources` AWS CLI comando. Per esempi di utilizzo di `get-resources`, consulta [get-resources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-resources.html#examples) nella *Riferimento ai comandi CLI di AWS *. 