

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

# Sicurezza in Amazon API Gateway
<a name="security"></a>

La sicurezza del cloud AWS è la massima priorità. In qualità di AWS cliente, puoi beneficiare di un data center e di un'architettura di rete progettati per soddisfare i requisiti delle organizzazioni più sensibili alla sicurezza.

La sicurezza è una responsabilità condivisa tra AWS te e te. Il [modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) descrive questo modello come sicurezza *del* cloud e sicurezza *nel* cloud:
+ **Sicurezza del cloud**: AWS è responsabile della protezione dell'infrastruttura che gestisce AWS i servizi nel AWS cloud. AWS ti fornisce anche servizi che puoi utilizzare in modo sicuro. I revisori esterni testano e verificano regolarmente l'efficacia della nostra sicurezza nell'ambito dei [AWS Programmi di AWS conformità dei Programmi di conformità](https://aws.amazon.com/compliance/programs/) dei di . Per informazioni sui programmi di conformità che si applicano ad Amazon API Gateway, consulta [AWS i servizi nell'ambito del programma di conformità, i AWS servizi nell'ambito del programma](https://aws.amazon.com/compliance/services-in-scope/) .
+ **Sicurezza nel cloud**: la tua responsabilità è determinata dal AWS servizio che utilizzi. L’utente è anche responsabile di altri fattori, tra cui la riservatezza dei dati, i requisiti della propria azienda e le leggi e normative vigenti. 

Questa documentazione aiuta a comprendere come applicare il modello di responsabilità condivisa quando si usa API Gateway. Gli argomenti seguenti illustrano come configurare API Gateway per soddisfare gli obiettivi di sicurezza e conformità. Scopri anche come utilizzare altri AWS servizi che ti aiutano a monitorare e proteggere le tue risorse API Gateway. 

Per ulteriori informazioni, consulta [Panoramica della sicurezza in Amazon API Gateway](https://d1.awsstatic.com/whitepapers/api-gateway-security.pdf).

**Topics**
+ [Protezione dei dati in Amazon API Gateway](data-protection.md)
+ [Gestione delle identità e degli accessi per Amazon API Gateway](security-iam.md)
+ [Logging e monitoraggio in Amazon API Gateway](security-monitoring.md)
+ [Convalida della conformità per Amazon API Gateway](compliance-validation.md)
+ [Resilienza in Amazon API Gateway](disaster-recovery-resiliency.md)
+ [Sicurezza dell'infrastruttura in Amazon API Gateway](infrastructure-security.md)
+ [Analisi delle vulnerabilità in Amazon API Gateway](vulnerability-analysis.md)
+ [Best practice di sicurezza in Amazon API Gateway](security-best-practices.md)

# Protezione dei dati in Amazon API Gateway
<a name="data-protection"></a>

Il [modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) di AWS si applica alla protezione dei dati in Amazon API Gateway. Come descritto in questo modello, AWS è responsabile della protezione dell'infrastruttura globale che esegue tutto Cloud AWS. L'utente è responsabile del controllo dei contenuti ospitati su questa infrastruttura. L'utente è inoltre responsabile della configurazione della protezione e delle attività di gestione per i Servizi AWS utilizzati. Per ulteriori informazioni sulla privacy dei dati, vedi le [Domande frequenti sulla privacy dei dati](https://aws.amazon.com/compliance/data-privacy-faq/). Per informazioni sulla protezione dei dati in Europa, consulta il post del blog relativo al [Modello di responsabilità condivisa AWSe GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) nel *Blog sulla sicurezza AWS*.

Per garantire la protezione dei dati, ti suggeriamo di proteggere le credenziali Account AWSe di configurare i singoli utenti con AWS IAM Identity Centero AWS Identity and Access Management(IAM). In tal modo, a ogni utente verranno assegnate solo le autorizzazioni necessarie per svolgere i suoi compiti. Ti suggeriamo, inoltre, di proteggere i dati nei seguenti modi:
+ Utilizza l'autenticazione a più fattori (MFA) con ogni account.
+ Utilizza SSL/TLS per comunicare con le risorse AWS. È richiesto TLS 1.2 ed è consigliato TLS 1.3.
+ Configura l'API e la registrazione delle attività degli utenti con AWS CloudTrail. Per informazioni sull'utilizzo dei percorsi CloudTrail per acquisire le attività AWS, consulta [Utilizzo dei percorsi CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) nella *Guida per l'utente di AWS CloudTrail*.
+ Utilizza le soluzioni di crittografia AWS, insieme a tutti i controlli di sicurezza di default all'interno dei Servizi AWS.
+ Utilizza i servizi di sicurezza gestiti avanzati, come Amazon Macie, che aiutano a individuare e proteggere i dati sensibili archiviati in Amazon S3.
+ Se necessiti di moduli crittografici convalidati FIPS 140-3 quando accedi ad AWS attraverso un'interfaccia a riga di comando o un'API, utilizza un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Ti consigliamo di non inserire mai informazioni riservate o sensibili, ad esempio gli indirizzi e-mail dei clienti, nei tag o nei campi di testo in formato libero, ad esempio nel campo **Nome**. Sono inclusi gli scenari che prevedono l'uso di API Gateway o altri Servizi AWS tramite la console, l'API, la AWS CLI o gli SDK AWS. I dati inseriti nei tag o nei campi di testo in formato libero utilizzati per i nomi possono essere utilizzati per i la fatturazione o i log di diagnostica. Quando fornisci un URL a un server esterno, ti suggeriamo vivamente di non includere informazioni sulle credenziali nell'URL per convalidare la tua richiesta al server.

# Crittografia dei dati in Amazon API Gateway
<a name="data-protection-encryption"></a>

Lo scopo della protezione dati è proteggere i dati sia in transito (durante la trasmissione verso e da API Gateway), sia quando sono inattivi (ovvero quando sono archiviati in AWS).

## Crittografia dei dati inattivi in Amazon API Gateway
<a name="data-protection-at-rest"></a>

Se si sceglie di abilitare la memorizzazione nella cache per un'API REST, è possibile abilitare la crittografia della cache. Per ulteriori informazioni, consulta [Impostazioni della cache per REST APIs in API Gateway](api-gateway-caching.md).

Per ulteriori informazioni sulla protezione dei dati, consulta il post del blog [AWS Modello di responsabilità condivisa e GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) su *AWS Security Blog*.

### Crittografia e decrittografia della chiave privata del certificato
<a name="private-key"></a>

Quando si crea un nome di dominio personalizzato per le API private, il certificato ACM e la chiave privata vengono crittografati utilizzando una chiave KMS gestita da AWS con l'alias **aws/acm**. È possibile visualizzare l'ID della chiave con questo alias nella console AWS KMS sotto **Chiavi gestite da AWS**.

Gateway API non accede direttamente alle risorse ACM. Utilizzare AWS TLS Connection Manager per proteggere e accedere alle chiavi private del certificato. Quando si usa il certificato ACM per creare un nome di dominio personalizzato Gateway API per API private, Gateway API associa il certificato ad AWS TLS Connection Manager. Questa operazione viene eseguita creando una concessione in AWS KMS per la chiave gestita da AWS con il prefisso **aws/acm**. La concessione è uno strumento delle policy che permette a TLS Connection Manager di usare le chiavi KMS nelle operazioni di crittografia. La concessione consente al principale assegnatario (TLS Connection Manager) di chiamare le operazioni di concessione specificate nella chiave KMS per decrittografare la chiave privata del certificato. TLS Connection Manager utilizza quindi il certificato e la chiave privata decrittografata (testo normale) per stabilire una connessione sicura (sessione SSL/TLS) con i client dei servizi Gateway API. Quando l'associazione del certificato a un nome di dominio personalizzato Gateway API per API private viene annullata, la concessione viene ritirata.

Per rimuovere l'accesso alla chiave KMS, si consiglia di sostituire o eliminare il certificato dal servizio utilizzando la Console di gestione AWS o il comando `update-service` in AWS CLI.

### Contesto di crittografia per Gateway API
<a name="encryption-context"></a>

Il [contesto di crittografia](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html) è un set opzionale di coppie chiave-valore che contiene informazioni contestuali su come può essere utilizzata la chiave privata. AWS KMS associa il contesto di crittografia ai dati crittografati e lo utilizza come dati autenticati aggiuntivi per supportare la crittografia autenticata.

Quando le chiavi TLS vengono utilizzate con Gateway API e TLS Connection Manager, il nome del servizio Gateway API viene incluso nel contesto di crittografia utilizzato per crittografare la chiave a riposo. È possibile verificare per quale nome di dominio personalizzato Gateway API vengono utilizzati il certificato e la chiave privata esaminando il contesto di crittografia nei log di CloudTrail, come mostrato nella prossima sezione, o consultando la scheda **Risorse associate** nella console ACM.

Per decrittografare i dati, includere nella richiesta lo stesso contesto di crittografia. Gateway API utilizza lo stesso contesto di crittografia in tutte le operazioni di crittografia di AWS KMS, in cui la chiave è `aws:apigateway:arn` e il valore è il nome della risorsa Amazon (ARN) della risorsa `PrivateDomainName` di Gateway API.

L'esempio illustrato di seguito mostra il contesto di crittografia nell'output di un'operazione come `CreateGrant`.

```
"constraints": {
"encryptionContextEquals": {
"aws:acm:arn": "arn:aws:acm:us-west-2:859412291086:certificate/9177097a-f0ae-4be1-93b1-19f911ea4f88",
"aws:apigateway:arn": "arn:aws:apigateway:us-west-2:859412291086:/domainnames/denytest-part1.pdx.sahig.people.aws.dev+cbaeumzjhg"
}
},
"operations": [
"Decrypt"
],
"granteePrincipal": "tlsconnectionmanager.amazonaws.com"
```

## Crittografia dei dati in transito in Amazon API Gateway
<a name="data-protection-in-transit"></a>

Le API create con Amazon API Gateway espongono solo endpoint HTTPS. API Gateway non supporta gli endpoint non crittografati (HTTP).

API Gateway gestisce i certificati per gli endpoint predefiniti `execute-api`. Se si configura un nome di dominio personalizzato, [si specifica il certificato per il nome di dominio](how-to-custom-domains.md#custom-domain-names-certificates). Come best practice, non [bloccare i certificati](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-pinning.html).

Per una maggiore sicurezza, è possibile scegliere una versione del protocollo Transport Layer Security (TLS) minima da applicare per il dominio API Gateway personalizzato. Le API WebSocket e le API HTTP supportano solo TLS 1.2. Per ulteriori informazioni, consulta [Scegli una politica di sicurezza per il tuo dominio personalizzato in API Gateway](apigateway-custom-domain-tls-version.md).

È inoltre possibile impostare una distribuzione Amazon CloudFront con un certificato SSL personalizzato nel proprio account e utilizzarla con API regionali. Puoi quindi configurare la policy di sicurezza per la distribuzione CloudFront con TLS 1.1 o versione successiva in base ai tuoi requisiti di sicurezza e conformità.

Per ulteriori informazioni sulla protezione dei dati, consulta [Proteggi il tuo REST APIs in API Gateway](rest-api-protect.md) e il post del blog relativo al [modello di responsabilità condivisa e GDPR AWS](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) nel *Blog sulla sicurezza AWS*.

# Riservatezza del traffico Internet
<a name="security-traffic-privacy"></a>

Utilizzando Amazon API Gateway, puoi creare API REST private cui è possibile accedere solo da Amazon Virtual Private Cloud (VPC). Il VPC utilizza un [endpoint VPC di interfaccia](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html), che è un'interfaccia di rete endpoint creata nel VPC. Utilizzando le [ policy delle risorse](apigateway-private-api-create.md#apigateway-private-api-set-up-resource-policy), è possibile consentire o negare l'accesso alle tue API da VPC ed endpoint VPC selezionati, inclusi gli account AWS. Ogni endpoint può essere utilizzato per l'accesso a più API private. È inoltre possibile utilizzare Direct Connect per stabilire una connessione da una rete on-premise ad Amazon VPC e accedere all'API privata durante tale connessione. In tutti i casi, il traffico alla tua API privata utilizza connessioni sicure e non lascia la rete Amazon; è isolato dall'Internet pubblico. Per ulteriori informazioni, consulta [REST privato APIs in API Gateway](apigateway-private-apis.md).

# Gestione delle identità e degli accessi per Amazon API Gateway
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) è un programma Servizio AWS che aiuta un amministratore a controllare in modo sicuro l'accesso alle AWS risorse. Gli amministratori IAM controllano chi è *autenticato* (accesso effettuato) e *autorizzato* (dispone di autorizzazioni) a utilizzare le risorse di API Gateway. IAM è un software Servizio AWS che puoi utilizzare senza costi aggiuntivi.

**Topics**
+ [Destinatari](#security_iam_audience)
+ [Autenticazione con identità](#security_iam_authentication)
+ [Gestione dell’accesso tramite policy](#security_iam_access-manage)
+ [Come funziona Amazon API Gateway con IAM](security_iam_service-with-iam.md)
+ [Esempi di policy basate su identità di Amazon API Gateway](security_iam_id-based-policy-examples.md)
+ [Esempi di policy basate su risorse di Amazon API Gateway](security_iam_resource-based-policy-examples.md)
+ [Risoluzione dei problemi di identità e accesso di Amazon API Gateway](security_iam_troubleshoot.md)
+ [Utilizzo dei ruoli collegati ai servizi per API Gateway](using-service-linked-roles.md)

## Destinatari
<a name="security_iam_audience"></a>

Il modo in cui utilizzi AWS Identity and Access Management (IAM) varia in base al tuo ruolo:
+ **Utente del servizio**: richiedi le autorizzazioni all’amministratore se non riesci ad accedere alle funzionalità (consulta [Risoluzione dei problemi di identità e accesso di Amazon API Gateway](security_iam_troubleshoot.md))
+ **Amministratore del servizio**: determina l’accesso degli utenti e invia le richieste di autorizzazione (consulta [Come funziona Amazon API Gateway con IAM](security_iam_service-with-iam.md))
+ **Amministratore IAM**: scrivi policy per gestire l’accesso (consulta [Esempi di policy basate su identità di Amazon API Gateway](security_iam_id-based-policy-examples.md))

## Autenticazione con identità
<a name="security_iam_authentication"></a>

L'autenticazione è il modo in cui accedi AWS utilizzando le tue credenziali di identità. Devi autenticarti come utente IAM o assumendo un ruolo IAM. Utente root dell'account AWS

Puoi accedere come identità federata utilizzando credenziali provenienti da una fonte di identità come AWS IAM Identity Center (IAM Identity Center), autenticazione Single Sign-On o credenziali. Google/Facebook Per ulteriori informazioni sull’accesso, consulta [Come accedere all’ Account AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) nella *Guida per l’utente di Accedi ad AWS *.

Per l'accesso programmatico, AWS fornisce un SDK e una CLI per firmare crittograficamente le richieste. Per ulteriori informazioni, consulta [AWS Signature Version 4 per le richieste API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) nella *Guida per l’utente di IAM*.

### Account AWS utente root
<a name="security_iam_authentication-rootuser"></a>

 Quando si crea un Account AWS, si inizia con un'identità di accesso denominata *utente Account AWS root* che ha accesso completo a tutte Servizi AWS le risorse. Consigliamo vivamente di non utilizzare l’utente root per le attività quotidiane. Per le attività che richiedono le credenziali come utente root, consulta [Attività che richiedono le credenziali dell’utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) nella *Guida per l’utente di IAM*. 

### Utenti e gruppi IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* è una identità che dispone di autorizzazioni specifiche per una singola persona o applicazione. Ti consigliamo di utilizzare credenziali temporanee invece di utenti IAM con credenziali a lungo termine. Per ulteriori informazioni, consulta [Richiedere agli utenti umani di utilizzare la federazione con un provider di identità per accedere AWS utilizzando credenziali temporanee nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) per l'*utente IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) specifica una raccolta di utenti IAM e semplifica la gestione delle autorizzazioni per gestire gruppi di utenti di grandi dimensioni. Per ulteriori informazioni, consulta [Casi d’uso per utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) nella *Guida per l’utente di IAM*.

### Ruoli IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* è un’identità con autorizzazioni specifiche che fornisce credenziali temporanee. Puoi assumere un ruolo [passando da un ruolo utente a un ruolo IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o chiamando un'operazione AWS CLI o AWS API. Per ulteriori informazioni, consulta [Metodi per assumere un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) nella *Guida per l’utente di IAM*.

I ruoli IAM sono utili per l’accesso degli utenti federati, le autorizzazioni utente IAM temporanee, l’accesso multi-account, l’accesso multi-servizio e le applicazioni in esecuzione su Amazon EC2. Per maggiori informazioni, consultare [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente IAM*.

## Gestione dell’accesso tramite policy
<a name="security_iam_access-manage"></a>

Puoi controllare l'accesso AWS creando policy e associandole a AWS identità o risorse. Una policy definisce le autorizzazioni quando è associata a un'identità o a una risorsa. AWS valuta queste politiche quando un preside effettua una richiesta. La maggior parte delle politiche viene archiviata AWS come documenti JSON. Per maggiori informazioni sui documenti delle policy JSON, consulta [Panoramica delle policy JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) nella *Guida per l’utente IAM*.

Utilizzando le policy, gli amministratori specificano chi ha accesso a cosa definendo quale **principale** può eseguire **azioni** su quali **risorse** e in quali **condizioni**.

Per impostazione predefinita, utenti e ruoli non dispongono di autorizzazioni. Un amministratore IAM crea le policy IAM e le aggiunge ai ruoli, che gli utenti possono quindi assumere. Le policy IAM definiscono le autorizzazioni indipendentemente dal metodo utilizzato per eseguirle.

### Policy basate sull’identità
<a name="security_iam_access-manage-id-based-policies"></a>

Le policy basate su identità sono documenti di policy di autorizzazione JSON che è possibile collegare a un’identità (utente, gruppo o ruolo). Tali policy controllano le operazioni autorizzate per l’identità, nonché le risorse e le condizioni in cui possono essere eseguite. Per informazioni su come creare una policy basata su identità, consultare [Definizione di autorizzazioni personalizzate IAM con policy gestite dal cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l’utente IAM*.

Le policy basate su identità possono essere *policy in linea* (con embedding direttamente in una singola identità) o *policy gestite* (policy autonome collegate a più identità). Per informazioni su come scegliere tra una policy gestita o una policy inline, consulta [Scegliere tra policy gestite e policy in linea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) nella *Guida per l’utente di IAM*.

### Policy basate sulle risorse
<a name="security_iam_access-manage-resource-based-policies"></a>

Le policy basate su risorse sono documenti di policy JSON che è possibile collegare a una risorsa. Gli esempi includono le *policy di trust dei ruoli* IAM e le *policy dei bucket* di Amazon S3. Nei servizi che supportano policy basate sulle risorse, gli amministratori dei servizi possono utilizzarli per controllare l’accesso a una risorsa specifica. In una policy basata sulle risorse è obbligatorio [specificare un’entità principale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

Le policy basate sulle risorse sono policy inline che si trovano in tale servizio. Non è possibile utilizzare le policy AWS gestite di IAM in una policy basata sulle risorse.

### Elenchi di controllo degli accessi () ACLs
<a name="security_iam_access-manage-acl"></a>

Le liste di controllo degli accessi (ACLs) controllano quali principali (membri dell'account, utenti o ruoli) dispongono delle autorizzazioni per accedere a una risorsa. ACLs sono simili alle politiche basate sulle risorse, sebbene non utilizzino il formato del documento di policy JSON.

Amazon S3 e Amazon VPC sono esempi di servizi che supportano. AWS WAF ACLs Per ulteriori informazioni ACLs, consulta la [panoramica della lista di controllo degli accessi (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) nella *Amazon Simple Storage Service Developer Guide*.

### Altri tipi di policy
<a name="security_iam_access-manage-other-policies"></a>

AWS supporta tipi di policy aggiuntivi che possono impostare le autorizzazioni massime concesse dai tipi di policy più comuni:
+ **Limiti delle autorizzazioni**: imposta il numero massimo di autorizzazioni che una policy basata su identità ha la possibilità di concedere a un’entità IAM. Per ulteriori informazioni, consulta [Limiti delle autorizzazioni per le entità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) nella *Guida per l’utente di IAM*.
+ **Politiche di controllo del servizio (SCPs)**: specificano le autorizzazioni massime per un'organizzazione o un'unità organizzativa in. AWS Organizations Per ulteriori informazioni, consultare [Policy di controllo dei servizi](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) nella *Guida per l’utente di AWS Organizations *.
+ **Politiche di controllo delle risorse (RCPs)**: imposta le autorizzazioni massime disponibili per le risorse nei tuoi account. Per ulteriori informazioni, consulta [Politiche di controllo delle risorse (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) nella *Guida per l'AWS Organizations utente*.
+ **Policy di sessione**: policy avanzate passate come parametro quando si crea una sessione temporanea per un ruolo o un utente federato. Per maggiori informazioni, consultare [Policy di sessione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) nella *Guida per l’utente IAM*.

### Più tipi di policy
<a name="security_iam_access-manage-multiple-policies"></a>

Quando a una richiesta si applicano più tipi di policy, le autorizzazioni risultanti sono più complicate da comprendere. Per scoprire come si AWS determina se consentire o meno una richiesta quando sono coinvolti più tipi di policy, consulta [Logica di valutazione delle policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) nella *IAM User Guide*.

# Come funziona Amazon API Gateway con IAM
<a name="security_iam_service-with-iam"></a>

Prima di utilizzare IAM per gestire l'accesso ad API Gateway è necessario comprendere quali caratteristiche IAM sono disponibili per l'utilizzo con questo servizio. Per avere una visione di alto livello di come API Gateway e altri AWS servizi funzionano con IAM, consulta [AWS Services That Work with IAM nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *User Guide*.

**Topics**
+ [Policy basate su identità dei API Gateway](#security_iam_service-with-iam-id-based-policies)
+ [Policy basate su risorse di API Gateway](#security_iam_service-with-iam-resource-based-policies)
+ [Autorizzazione basata sui tag di API Gateway](#security_iam_service-with-iam-tags)
+ [Ruoli IAM di API Gateway](#security_iam_service-with-iam-roles)

## Policy basate su identità dei API Gateway
<a name="security_iam_service-with-iam-id-based-policies"></a>

Con le policy basate su identità di IAM, è possibile specificare quali operazioni e risorse sono consentite o rifiutate, nonché le condizioni in base alle quali le operazioni sono consentite o rifiutate. API Gateway supporta specifiche operazioni, risorse e chiavi di condizione. Per ulteriori informazioni sulle operazioni, risorse e chiavi di condizione specifiche per API Gateway, consulta [Operazioni, risorse e chiavi di condizione per Amazon API Gateway Management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagement.html) e [Operazioni, risorse e chiavi di condizione per Amazon API Gateway Management V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagementv2.html). Per informazioni su tutti gli elementi utilizzati in una policy JSON, consulta [Documentazione di riferimento degli elementi delle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella *Guida per l'utente di IAM*.

L'esempio seguente mostra una policy basata sull'identità che consente a un utente di creare o aggiornare solo REST privati. APIs Per ulteriori esempi, consulta [Esempi di policy basate su identità di Amazon API Gateway](security_iam_id-based-policy-examples.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ScopeToPrivateApis",
      "Effect": "Allow",
      "Action": [
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/restapis",
        "arn:aws:apigateway:us-east-1::/restapis/??????????"
      ],
      "Condition": {
        "ForAllValues:StringEqualsIfExists": {
          "apigateway:Request/EndpointType": "PRIVATE",
          "apigateway:Resource/EndpointType": "PRIVATE"
        }
      }
    },
    {
      "Sid": "AllowResourcePolicyUpdates",
      "Effect": "Allow",
      "Action": [
          "apigateway:UpdateRestApiPolicy"
      ],
      "Resource": [
          "arn:aws:apigateway:us-east-1::/restapis/*"
      ]
    }
  ]
}
```

------

### Azioni
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

L' `Action` elemento di una policy JSON descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a un criterio.

Le operazioni delle policy in API Gateway utilizzano il seguente prefisso prima dell'operazione: `apigateway:`. Le istruzioni della policy devono includere un elemento `Action` o `NotAction`. API Gateway definisce un proprio set di operazioni che descrivono le attività che è possibile eseguire con questo servizio.



L'`Action`espressione di gestione dell'API ha il formato`apigateway:action`, dove *action* è una delle seguenti azioni API Gateway: **GET**, **POST**, **PUT**, **DELETE**, **PATCH** (per aggiornare le risorse) o **\$1**, che sono tutte le azioni precedenti.

Alcuni esempi dell'espressione `Action` includono:
+ **apigateway:\$1** per tutte le operazioni API Gateway.
+ **apigateway:GET** solo per l'operazione GET in API Gateway.

Per specificare più azioni in una sola istruzione, separa ciascuna di esse con una virgola come mostrato di seguito:

```
"Action": [
      "apigateway:action1",
      "apigateway:action2"
```

Per informazioni sui verbi HTTP da utilizzare per operazioni specifiche di API Gateway, consulta [Amazon API Gateway Version 1 API Reference](https://docs.aws.amazon.com/apigateway/api-reference/) (REST APIs) e [Amazon API Gateway Version 2 API Reference](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.html) (WebSocket e HTTP APIs).

Per ulteriori informazioni, consulta [Esempi di policy basate su identità di Amazon API Gateway](security_iam_id-based-policy-examples.md).

### Resources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento JSON `Resource` della policy specifica l’oggetto o gli oggetti ai quali si applica l’operazione. Come best practice, specifica una risorsa utilizzando il suo [nome della risorsa Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Per le azioni che non supportano le autorizzazioni a livello di risorsa, si utilizza un carattere jolly (\$1) per indicare che l’istruzione si applica a tutte le risorse.

```
"Resource": "*"
```



Le risorse di API Gateway presentano il seguente formato ARN:

```
arn:aws:apigateway:region::resource-path-specifier
```

Ad esempio, per specificare un'API REST con l'id *`api-id`* e le relative risorse secondarie, ad esempio gli autorizzatori per l'istruzione, utilizzare il seguente ARN:

```
"Resource": "arn:aws:apigateway:us-east-2::/restapis/api-id/*"
```

Per specificare tutte le REST APIs e le risorse secondarie che appartengono a un account specifico, usa il carattere jolly (\$1):

```
"Resource": "arn:aws:apigateway:us-east-2::/restapis/*"
```

Per un elenco dei tipi di risorse API Gateway e relativi ARNs, vedere[Documentazione di riferimento Amazon Resource Name (ARN) API Gateway](arn-format-reference.md). 

### Chiavi di condizione
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Gli amministratori possono utilizzare le policy AWS JSON per specificare chi ha accesso a cosa. In altre parole, quale **entità principale** può eseguire **operazioni** su quali **risorse** e in quali **condizioni**.

L’elemento `Condition` specifica quando le istruzioni vengono eseguite in base a criteri definiti. È possibile compilare espressioni condizionali che utilizzano [operatori di condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta. Per visualizzare tutte le chiavi di condizione AWS globali, consulta le chiavi di [contesto delle condizioni AWS globali nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) per l'*utente IAM*.

API Gateway definisce il proprio set di chiavi di condizione e supporta anche l'uso di alcune chiavi di condizione globali. Per un elenco di chiavi di condizione di API Gateway, consulta [Chiavi di condizione per Amazon API Gateway](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_manageamazonapigateway.html#manageamazonapigateway-policy-keys) nella *Guida per l'utente di IAM*. Per informazioni su operazioni e risorse che è possibile utilizzare con una chiave di condizione, consulta [Operazioni definite da Amazon API Gateway](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_manageamazonapigateway.html#amazonapigateway-actions-as-permissions).

Per informazioni sull'assegnazione di tag, incluso il controllo degli accessi basato sugli attributi, consulta [Tagging delle risorse API Gateway](apigateway-tagging.md).

### Esempi
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Per esempi di policy basate su identità di API Gateway, consulta [Esempi di policy basate su identità di Amazon API Gateway](security_iam_id-based-policy-examples.md).

## Policy basate su risorse di API Gateway
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Le policy basate su risorse sono documenti di policy JSON che specificano le operazioni che possono essere eseguite da un'entità specificata sulla risorsa di API Gateway e nel rispetto di quali condizioni possono operare. API Gateway supporta politiche di autorizzazione basate sulle risorse per REST. APIs È possibile utilizzare le policy delle risorse per controllare chi può richiamare un'API REST. Per ulteriori informazioni, consulta [Controllo degli accessi a una REST API con le policy delle risorse Gateway API](apigateway-resource-policies.md). 

### Esempi
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>

Per visualizzare esempi di policy basate su risorse di API Gateway, consulta [Esempi di policy delle risorse API Gateway](apigateway-resource-policies-examples.md).

## Autorizzazione basata sui tag di API Gateway
<a name="security_iam_service-with-iam-tags"></a>

È possibile collegare dei tag alle risorse di API Gateway o passare dei tag in una richiesta ad API Gateway. Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'[elemento condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) di una policy utilizzando le chiavi di condizione `apigateway:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`. Per ulteriori informazioni sull'assegnazione di tag alle risorse dell'API Gateway, consulta [Utilizzo dei tag per controllare l'accesso alle risorse REST API di Gateway API](apigateway-tagging-iam-policy.md).

Per esempi di policy basate su identità per limitare l'accesso a una risorsa in base ai tag di tale risorsa, consulta [Utilizzo dei tag per controllare l'accesso alle risorse REST API di Gateway API](apigateway-tagging-iam-policy.md).

## Ruoli IAM di API Gateway
<a name="security_iam_service-with-iam-roles"></a>

Un [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) è un'entità all'interno del tuo AWS account che dispone di autorizzazioni specifiche.

### Utilizzo di credenziali temporanee con API Gateway
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

È possibile utilizzare credenziali temporanee per effettuare l'accesso con la federazione, assumere un ruolo IAM o un ruolo multi-account. Ottieni credenziali di sicurezza temporanee chiamando operazioni AWS STS API come [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)o. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 

API Gateway supporta l'utilizzo di credenziali temporanee. 

### Ruoli collegati ai servizi
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[I ruoli collegati ai](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) AWS servizi consentono ai servizi di accedere alle risorse di altri servizi per completare un'azione per conto dell'utente. I ruoli collegati ai servizi sono visualizzati nell'account IAM e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati ai servizi, ma non può modificarle.

API Gateway supporta i ruoli collegati ai servizi. Per informazioni sulla creazione o la gestione di ruoli collegati ai servizi di API Gateway, consulta [Utilizzo dei ruoli collegati ai servizi per API Gateway](using-service-linked-roles.md).

### Ruoli dei servizi
<a name="security_iam_service-with-iam-roles-service"></a>

Un servizio può assumere un [ruolo del servizio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) a tuo nome. Un ruolo del servizio consente al servizio di accedere alle risorse in altri servizi per completare un'operazione per conto dell'utente. I ruoli del servizio vengono visualizzati nell'account IAM e sono di proprietà dell'account. Pertanto, un amministratore può modificare le autorizzazioni per questo ruolo. Tuttavia, il farlo potrebbe pregiudicare la funzionalità del servizio.

API Gateway supporta i ruoli del servizio. 

# Esempi di policy basate su identità di Amazon API Gateway
<a name="security_iam_id-based-policy-examples"></a>

Per impostazione predefinita, gli utenti e i ruoli IAM non dispongono dell'autorizzazione per creare o modificare le risorse di API Gateway. Inoltre, non possono eseguire attività utilizzando Console di gestione AWS AWS CLI, o. AWS SDKs Un amministratore IAM deve creare policy IAM che concedono a utenti e ruoli l'autorizzazione per eseguire operazioni API specifiche sulle risorse specificate di cui hanno bisogno. L'amministratore devi quindi collegare queste policy a utenti o IAM che richiedono tali autorizzazioni.

Per informazioni sulla creazione di policy IAM, consulta [Creazione di policy nella scheda JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) della *Guida per l'utente di IAM*. Per informazioni sulle operazioni, le risorse e le condizioni specifiche di API Gateway, consulta [Operazioni, risorse e chiavi di condizione per Amazon API Gateway Management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagement.html) e [Operazioni, risorse e chiavi di condizione per Amazon API Gateway Management V2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagementv2.html).

**Topics**
+ [Best practice per le policy](#security_iam_service-with-iam-policy-best-practices)
+ [Consentire agli utenti di visualizzare le loro autorizzazioni](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Autorizzazioni di lettura semplici](#api-gateway-policy-example-apigateway-general)
+ [Creare solo autorizzatori REQUEST o JWT](#security_iam_id-based-policy-examples-v2-import)
+ [Richiedere che l'endpoint predefinito `execute-api` sia disabilitato](#security_iam_id-based-policy-examples-v2-endpoint-status)
+ [Consenti agli utenti di creare o aggiornare solo REST privati APIs](#security_iam_id-based-policy-examples-private-api)
+ [Richiedere che i route API abbiano l'autorizzazione](#security_iam_id-based-policy-examples-require-authorization)
+ [Impedisci a un utente di creare o aggiornare un collegamento VPC](#security_iam_id-based-policy-examples-deny-vpc-link)
+ [Policy di esempio per l’utilizzo delle regole di routing](#security_iam_id-based-policy-examples-routing-mode)

## Best practice per le policy
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Le policy basate su identità determinano se qualcuno può creare, accedere o eliminare risorse API Gateway nell'account. Queste operazioni possono comportare costi aggiuntivi per l’ Account AWS. Quando si creano o modificano policy basate sull’identità, seguire queste linee guida e raccomandazioni:
+ **Inizia con le policy AWS gestite e passa alle autorizzazioni con privilegi minimi: per iniziare a concedere autorizzazioni** a utenti e carichi di lavoro, utilizza le *politiche AWS gestite* che concedono le autorizzazioni per molti casi d'uso comuni. Sono disponibili nel tuo. Account AWS Ti consigliamo di ridurre ulteriormente le autorizzazioni definendo politiche gestite dai AWS clienti specifiche per i tuoi casi d'uso. Per maggiori informazioni, consulta [Policy gestite da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o [Policy gestite da AWS per le funzioni dei processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.
+ **Applicazione delle autorizzazioni con privilegio minimo** - Quando si impostano le autorizzazioni con le policy IAM, concedere solo le autorizzazioni richieste per eseguire un’attività. È possibile farlo definendo le azioni che possono essere intraprese su risorse specifiche in condizioni specifiche, note anche come *autorizzazioni con privilegio minimo*. Per maggiori informazioni sull’utilizzo di IAM per applicare le autorizzazioni, consulta [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l’utente di IAM*.
+ **Condizioni d’uso nelle policy IAM per limitare ulteriormente l’accesso** - Per limitare l’accesso ad azioni e risorse è possibile aggiungere una condizione alle policy. Ad esempio, è possibile scrivere una condizione di policy per specificare che tutte le richieste devono essere inviate utilizzando SSL. Puoi anche utilizzare le condizioni per concedere l'accesso alle azioni del servizio se vengono utilizzate tramite uno specifico Servizio AWS, ad esempio CloudFormation. Per maggiori informazioni, consultare la sezione [Elementi delle policy JSON di IAM: condizione](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) nella *Guida per l’utente di IAM*.
+ **Utilizzo dello strumento di analisi degli accessi IAM per convalidare le policy IAM e garantire autorizzazioni sicure e funzionali** - Lo strumento di analisi degli accessi IAM convalida le policy nuove ed esistenti in modo che aderiscano al linguaggio (JSON) della policy IAM e alle best practice di IAM. Lo strumento di analisi degli accessi IAM offre oltre 100 controlli delle policy e consigli utili per creare policy sicure e funzionali. Per maggiori informazioni, consultare [Convalida delle policy per il Sistema di analisi degli accessi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) nella *Guida per l’utente di IAM*.
+ **Richiedi l'autenticazione a più fattori (MFA**): se hai uno scenario che richiede utenti IAM o un utente root nel Account AWS tuo, attiva l'MFA per una maggiore sicurezza. Per richiedere la MFA quando vengono chiamate le operazioni API, aggiungere le condizioni MFA alle policy. Per maggiori informazioni, consultare [Protezione dell’accesso API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) nella *Guida per l’utente di IAM*.

Per maggiori informazioni sulle best practice in IAM, consulta [Best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l’utente di IAM*.

## Consentire agli utenti di visualizzare le loro autorizzazioni
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Questo esempio mostra in che modo è possibile creare una policy che consente agli utenti IAM di visualizzare le policy inline e gestite che sono collegate alla relativa identità utente. Questa policy include le autorizzazioni per completare questa azione sulla console o utilizzando programmaticamente l'API o. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Autorizzazioni di lettura semplici
<a name="api-gateway-policy-example-apigateway-general"></a>

Questa politica di esempio fornisce all'utente il permesso di ottenere informazioni su tutte le risorse di un HTTP o di un' WebSocket API con l'identificatore di `a123456789` nella AWS regione us-east-1. La risorsa `arn:aws:apigateway:us-east-1::/apis/a123456789/*` include tutte le risorse secondarie dell'API, ad esempio autorizzatori e distribuzioni.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "apigateway:GET"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis/a123456789/*"
      ]
    }
  ]
}
```

------

## Creare solo autorizzatori REQUEST o JWT
<a name="security_iam_id-based-policy-examples-v2-import"></a>

[Questa politica di esempio consente a un utente di creare solo `REQUEST` o APIs con `JWT` autorizzatori, anche tramite importazione.](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis.html#ImportApi) Nella sezione `Resource` della policy, `arn:aws:apigateway:us-east-1::/apis/??????????` richiede che le risorse abbiano un massimo di 10 caratteri, che escludono le risorse secondarie di un'API. Questo esempio utilizza `ForAllValues` nella sezione `Condition` perché gli utenti possono creare più autorizzatori contemporaneamente importando un'API.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "OnlyAllowSomeAuthorizerTypes",
      "Effect": "Allow",
      "Action": [
        "apigateway:PUT",
        "apigateway:POST",
        "apigateway:PATCH"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/??????????",
        "arn:aws:apigateway:us-east-1::/apis/*/authorizers",
        "arn:aws:apigateway:us-east-1::/apis/*/authorizers/*"
      ],
      "Condition": {
        "ForAllValues:StringEqualsIfExists": {
          "apigateway:Request/AuthorizerType": [
            "REQUEST",
            "JWT"
          ]
        }
      }
    }
  ]
}
```

------

## Richiedere che l'endpoint predefinito `execute-api` sia disabilitato
<a name="security_iam_id-based-policy-examples-v2-endpoint-status"></a>

 Questa policy di esempio consente agli utenti di creare, aggiornare o importare un'API, con il requisito che `DisableExecuteApiEndpoint` sia `true`. Quando `DisableExecuteApiEndpoint` è `true`, i client non possono utilizzare l'endpoint `execute-api` predefinito per richiamare un'API.

Usiamo la condizione `BoolIfExists` per gestire una chiamata per aggiornare un'API che non ha la chiave di condizione `DisableExecuteApiEndpoint` popolata. Quando un utente tenta di creare o importare un'API, la chiave di condizione `DisableExecuteApiEndpoint` viene sempre popolata.

Poiché la `apis/*` risorsa acquisisce anche risorse secondarie come autorizzatori o metodi, la estendiamo esplicitamente solo con una dichiarazione. APIs `Deny`

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DisableExecuteApiEndpoint",
      "Effect": "Allow",
      "Action": [
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/*"
      ],
      "Condition": {
        "BoolIfExists": {
          "apigateway:Request/DisableExecuteApiEndpoint": true
        }
      }
    },
    {
      "Sid": "ScopeDownToJustApis",
      "Effect": "Deny",
      "Action": [
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis/*/*"
      ]
    }
  ]
}
```

------

## Consenti agli utenti di creare o aggiornare solo REST privati APIs
<a name="security_iam_id-based-policy-examples-private-api"></a>

Questa policy di esempio utilizza le chiavi di condizione per richiedere che un utente crei solo `PRIVATE` APIs e per impedire aggiornamenti che potrebbero modificare un'API da `PRIVATE` un altro tipo, ad esempio`REGIONAL`.

Utilizziamo `ForAllValues` per richiedere che ogni `EndpointType` aggiunto a un'API sia `PRIVATE`. Utilizziamo una chiave di condizione delle risorse per consentire qualsiasi aggiornamento a un'API fino a quando è `PRIVATE`. `ForAllValues` si applica soltanto quando è presente una chiave di condizione.

Utilizziamo il non-greedy matcher (`?`) per abbinarlo esplicitamente all'API per impedire l'utilizzo di risorse non API IDs come gli autorizzatori.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ScopePutToPrivateApis",
            "Effect": "Allow",
            "Action": [
                "apigateway:PUT"
            ],
            "Resource": [
                "arn:aws:apigateway:us-east-1::/restapis",
                "arn:aws:apigateway:us-east-1::/restapis/??????????"
            ],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "apigateway:Resource/EndpointType": "PRIVATE"
                }
            }
        },
        {
            "Sid": "ScopeToPrivateApis",
            "Effect": "Allow",
            "Action": [
                "apigateway:DELETE",
                "apigateway:PATCH",
                "apigateway:POST"
            ],
            "Resource": [
                "arn:aws:apigateway:us-east-1::/restapis",
                "arn:aws:apigateway:us-east-1::/restapis/??????????"
            ],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "apigateway:Request/EndpointType": "PRIVATE",
                    "apigateway:Resource/EndpointType": "PRIVATE"
                }
            }
        },
        {
            "Sid": "AllowResourcePolicyUpdates",
            "Effect": "Allow",
            "Action": [
                "apigateway:UpdateRestApiPolicy"
            ],
            "Resource": [
                "arn:aws:apigateway:us-east-1::/restapis/*"
            ]
        }
    ]
}
```

------

## Richiedere che i route API abbiano l'autorizzazione
<a name="security_iam_id-based-policy-examples-require-authorization"></a>

Questa policy fa sì che i tentativi di creare o aggiornare un route (anche attraverso l'[importazione](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis.html#ImportApi)) non riescono se il route non dispone di autorizzazione. `ForAnyValue` restituisce false se la chiave non è presente, ad esempio quando un route non viene creato o aggiornato. Usiamo `ForAnyValue` perché più route possono essere creati attraverso l'importazione.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowUpdatesOnApisAndRoutes",
      "Effect": "Allow",
      "Action": [
        "apigateway:POST",
        "apigateway:PATCH",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/??????????",
        "arn:aws:apigateway:us-east-1::/apis/*/routes",
        "arn:aws:apigateway:us-east-1::/apis/*/routes/*"
      ]
    },
    {
      "Sid": "DenyUnauthorizedRoutes",
      "Effect": "Deny",
      "Action": [
        "apigateway:POST",
        "apigateway:PATCH",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/apis",
        "arn:aws:apigateway:us-east-1::/apis/*"
      ],
      "Condition": {
        "ForAnyValue:StringEqualsIgnoreCase": {
          "apigateway:Request/RouteAuthorizationType": "NONE"
        }
      }
    }
  ]
}
```

------

## Impedisci a un utente di creare o aggiornare un collegamento VPC
<a name="security_iam_id-based-policy-examples-deny-vpc-link"></a>

Questa policy impedisce a un utente di creare o aggiornare un collegamento VPC. Un collegamento VPC consente di esporre risorse all'interno di Amazon VPC ai client esterni a VPC.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyVPCLink",
      "Effect": "Deny",
      "Action": [
        "apigateway:POST",
        "apigateway:PUT",
        "apigateway:PATCH"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/vpclinks",
        "arn:aws:apigateway:us-east-1::/vpclinks/*"
      ]
    }
  ]
}
```

------

## Policy di esempio per l’utilizzo delle regole di routing
<a name="security_iam_id-based-policy-examples-routing-mode"></a>

I seguenti esempi di policy mostrano come utilizzare le chiavi di RoutingRule condizione per controllare in che modo gli utenti possono indirizzare il traffico dai loro nomi di dominio personalizzati al loro REST. APIs È possibile utilizzare questi esempi per creare policy granulari relative al tipo di regole di routing che gli utenti possono stabilire. Per ulteriori informazioni, consulta [Regole di routing per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs](rest-api-routing-rules.md).

### Impedire a un utente di modificare il modo in cui un nome di dominio personalizzato instrada una richiesta
<a name="security_iam_id-based-policy-examples-routing-mode-1"></a>

Questa policy impedisce a un utente di creare o aggiornare `BasePathMapping`, `ApiMapping` o `RoutingRule`. Tutte queste risorse potrebbero modificare il modo in cui un nome di dominio personalizzato indirizza le richieste APIs.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessBasePathMappingsApiMappingsRoutingRules",
      "Effect": "Deny",
      "Action": "apigateway:*",
      "Resource": [
        "arn:aws:apigateway:us-east-1::/domainnames/example.com/basepathmappings/*",
        "arn:aws:apigateway:us-east-1::/domainnames/example.com/apimappings/*",
        "arn:aws:apigateway:us-east-1:111122223333:/domainnames/example.com/routingrules/*"
      ]
    }
  ]
}
```

------

### Consentire a un utente di aggiornare una regola di routing per determinate priorità
<a name="security_iam_id-based-policy-examples-routing-mode-2"></a>

Questa policy consente all’utente di aggiornare una regola di routing solo con un valore di priorità compreso tra 1001 e 2000. È possibile utilizzare questa regola per separare le regole di produzione dalle regole con priorità inferiore e quindi consentire agli utenti di modificare le regole con priorità inferiore senza influire sulle regole di produzione.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "UpdatingRoutingRulePriorityBetween1001And2000",
      "Effect": "Allow",
      "Action": "apigateway:UpdateRoutingRule",
      "Resource": "arn:aws:apigateway:us-east-1:111122223333:/domainnames/example.com/routingrules/*",
      "Condition": {
        "NumericGreaterThanEquals": {
          "apigateway:Resource/Priority": 1001,
          "apigateway:Request/Priority": 1001
        },
       "NumericLessThanEquals": {
          "apigateway:Resource/Priority": 2000,
          "apigateway:Request/Priority": 2000
        } 
      }
    }
  ]
}
```

------

### Consentire a un utente di aggiornare una regola di routing o la mappatura percorso di base per un determinato valore del percorso di base
<a name="security_iam_id-based-policy-examples-routing-mode-3"></a>

Questa policy consente all’utente di aggiornare solo una mappatura percorso di base per qualsiasi percorso di base che inizia con `orders` o di aggiornare una regola di routing corrispondente a un percorso di base che inizia con `orders`. In questa policy, un utente può aggiornare una mappatura percorso di base o una regola di routing per `orders/create` o `orders123`, ma non per `payment/orders`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
        "Sid": "AllowUpdateRoutingRuleUnderPathOrders",
        "Effect": "Allow",
        "Action": "apigateway:UpdateRoutingRule",
        "Resource": "arn:aws:apigateway:us-east-1:111122223333:/domainnames/example.com/routingrules/*",
        "Condition": {
            "ForAllValues:StringLike": {
                "apigateway:Request/ConditionBasePaths": ["orders*"],
                "apigateway:Resource/ConditionBasePaths": ["orders*"]
            },
            "Null":{
                 "apigateway:Request/ConditionBasePaths":"false",
                 "apigateway:Resource/ConditionBasePaths":"false"             
          }
        }
      }
  ]
}
```

------

### Consentire a un utente di aggiornare la modalità di routing su valori specifici
<a name="security_iam_id-based-policy-examples-routing-mode-4"></a>

Questa policy consente all’utente di aggiornare la modalità di routing solo su `API_MAPPING_ONLY` e `ROUTING_RULE_THEN_API_MAPPING`. Per ulteriori informazioni sulla modalità di routing, consultare [Impostazione della modalità di routing per il nome di dominio personalizzato](set-routing-mode.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
        {
           "Sid": "AllowUpdateRoutingModeToAnythingWithApiMapping",
           "Effect": "Allow",
           "Action": ["apigateway:PATCH"],
           "Resource": "arn:aws:apigateway:us-east-1::/domainnames/example.com",
              "Condition": {
               "StringLike": {
                   "apigateway:Request/RoutingMode":"*API_MAPPING*"
               }
           }
       }
    ]
}
```

------

# Esempi di policy basate su risorse di Amazon API Gateway
<a name="security_iam_resource-based-policy-examples"></a>

Per esempi di policy basate su risorse, consult [Esempi di policy delle risorse API Gateway](apigateway-resource-policies-examples.md).

# Risoluzione dei problemi di identità e accesso di Amazon API Gateway
<a name="security_iam_troubleshoot"></a>

Utilizzare le informazioni seguenti per diagnosticare e risolvere i problemi comuni che possono verificarsi durante l'utilizzo di API Gateway e IAM.

**Topics**
+ [Non sono autorizzato a eseguire un'operazione in API Gateway](#security_iam_troubleshoot-no-permissions)
+ [Non sono autorizzato a eseguire iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Voglio consentire a persone esterne al mio AWS account di accedere alle mie risorse API Gateway](#security_iam_troubleshoot-cross-account-access)

## Non sono autorizzato a eseguire un'operazione in API Gateway
<a name="security_iam_troubleshoot-no-permissions"></a>

Se ricevi un errore che indica che non sei autorizzato a eseguire un’operazione, le tue policy devono essere aggiornate per poter eseguire l’operazione.

L’errore di esempio seguente si verifica quando l’utente IAM `mateojackson` prova a utilizzare la console per visualizzare i dettagli relativi a una risorsa `my-example-widget` fittizia ma non dispone di autorizzazioni `apigateway:GetWidget` fittizie.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: apigateway:GetWidget on resource: my-example-widget because no identity-based policy allows the GetWidget action 
```

In questo caso, la policy per l’utente `mateojackson` deve essere aggiornata per consentire l’accesso alla risorsa `my-example-widget` utilizzando l’azione `apigateway:GetWidget`.

Se hai bisogno di aiuto, contatta il tuo AWS amministratore. L’amministratore è la persona che ti ha fornito le credenziali di accesso.

## Non sono autorizzato a eseguire iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se si riceve un errore che indica che non si è autorizzati a eseguire l'operazione `iam:PassRole`, è necessario aggiornare le policy per poter passare un ruolo ad API Gateway.

Alcuni Servizi AWS consentono di passare un ruolo esistente a quel servizio invece di creare un nuovo ruolo di servizio o un ruolo collegato al servizio. Per eseguire questa operazione, è necessario disporre delle autorizzazioni per trasmettere il ruolo al servizio.

L'errore di esempio seguente si verifica quando un utente IAM denominato `marymajor` cerca di utilizzare la console per eseguire un'operazione in API Gateway. Tuttavia, l’azione richiede che il servizio disponga delle autorizzazioni concesse da un ruolo di servizio. Mary non dispone delle autorizzazioni per trasmettere il ruolo al servizio.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

In questo caso, le policy di Mary devono essere aggiornate per poter eseguire l’operazione `iam:PassRole`.

Se hai bisogno di aiuto, contatta il tuo AWS amministratore. L’amministratore è la persona che ti ha fornito le credenziali di accesso.

## Voglio consentire a persone esterne al mio AWS account di accedere alle mie risorse API Gateway
<a name="security_iam_troubleshoot-cross-account-access"></a>

È possibile creare un ruolo con il quale utenti in altri account o persone esterne all’organizzazione possono accedere alle tue risorse. È possibile specificare chi è attendibile per l’assunzione del ruolo. Per i servizi che supportano politiche basate sulle risorse o liste di controllo degli accessi (ACLs), puoi utilizzare tali politiche per concedere alle persone l'accesso alle tue risorse.

Per maggiori informazioni, consulta gli argomenti seguenti:
+ Per sapere se API Gateway supporta queste caratteristiche, consultare [Come funziona Amazon API Gateway con IAM](security_iam_service-with-iam.md).
+ Per scoprire come fornire l'accesso alle tue risorse attraverso Account AWS le risorse di tua proprietà, consulta [Fornire l'accesso a un utente IAM in un altro Account AWS di tua proprietà](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) nella *IAM* User Guide.
+ Per scoprire come fornire l'accesso alle tue risorse a terze parti Account AWS, consulta [Fornire l'accesso a soggetti Account AWS di proprietà di terze parti](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) nella *Guida per l'utente IAM*.
+ Per informazioni su come fornire l'accesso tramite la federazione delle identità, consulta [Fornire l'accesso a utenti autenticati esternamente (federazione delle identità)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) nella *Guida per l'utente IAM*.
+ Per informazioni sulle differenze di utilizzo tra ruoli e policy basate su risorse per l’accesso multi-account, consulta [Accesso a risorse multi-account in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) nella *Guida per l’utente IAM*.

# Utilizzo dei ruoli collegati ai servizi per API Gateway
<a name="using-service-linked-roles"></a>

Amazon API Gateway utilizza AWS Identity and Access Management ruoli [collegati ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) (IAM). Un ruolo collegato ai servizi è un tipo di ruolo specifico di IAM collegato direttamente ad API Gateway. I ruoli collegati ai servizi sono predefiniti da API Gateway e includono tutte le autorizzazioni richieste dal servizio per chiamare altri AWS servizi per tuo conto. 

Un ruolo collegato ai servizi semplifica la configurazione di API Gateway perché permette di evitare l'aggiunta manuale delle autorizzazioni necessarie. API Gateway definisce le autorizzazioni dei relativi ruoli associati ai servizi e, salvo diversamente definito, solo API Gateway potrà assumere i propri ruoli. Le autorizzazioni definite includono la policy di attendibilità e la policy delle autorizzazioni che non può essere collegata a nessun'altra entità IAM.

È possibile eliminare un ruolo collegato ai servizi solo dopo aver eliminato le risorse correlate. Questa procedura protegge le risorse di API Gateway perché impedisce la rimozione involontaria delle autorizzazioni di accesso alle risorse.

Per informazioni su altri servizi che supportano i ruoli collegati ai servizi, consulta [AWS Services That Work with IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) e cerca i servizi che riportano **Yes **(Sì) nella colonna **Service-Linked Role** (Ruolo associato ai servizi). Scegli un link **Yes** (Sì) per visualizzare la documentazione relativa al ruolo collegato ai servizi per tale servizio.

## Autorizzazioni del ruolo collegato ai servizi per API Gateway
<a name="slr-permissions"></a>

API Gateway utilizza il ruolo collegato al servizio denominato **AWSServiceRoleForAPIGateway**— Consente ad API Gateway di accedere a Elastic Load Balancing, Amazon Data Firehose e altre risorse di servizio per tuo conto.

Il ruolo AWSService RoleFor APIGateway collegato al servizio prevede che i seguenti servizi assumano il ruolo:
+ `ops.apigateway.amazonaws.com`

La policy delle autorizzazioni del ruolo consente ad API Gateway di eseguire le seguenti operazioni sulle risorse specificate:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:AddListenerCertificates",
                "elasticloadbalancing:RemoveListenerCertificates",
                "elasticloadbalancing:ModifyListener",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:DescribeLoadBalancers",
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords",
                "xray:GetSamplingTargets",
                "xray:GetSamplingRules",
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "servicediscovery:DiscoverInstances"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:PutRecord",
                "firehose:PutRecordBatch"
            ],
            "Resource": "arn:aws:firehose:*:*:deliverystream/amazon-apigateway-*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "acm:DescribeCertificate",
                "acm:GetCertificate"
            ],
            "Resource": "arn:aws:acm:*:*:certificate/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateNetworkInterfacePermission",
            "Resource": "arn:aws:ec2:*:*:network-interface/*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:network-interface/*",
            "Condition": {
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "Owner",
                        "VpcLinkId"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:DeleteNetworkInterface",
                "ec2:AssignPrivateIpAddresses",
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeNetworkInterfaceAttribute",
                "ec2:DescribeVpcs",
                "ec2:DescribeNetworkInterfacePermissions",
                "ec2:UnassignPrivateIpAddresses",
                "ec2:DescribeSubnets",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "servicediscovery:GetNamespace",
            "Resource": "arn:aws:servicediscovery:*:*:namespace/*"
        },
        {
            "Effect": "Allow",
            "Action": "servicediscovery:GetService",
            "Resource": "arn:aws:servicediscovery:*:*:service/*"
        }
    ]
}
```

------

Per consentire a un'entità IAM (come un utente, un gruppo o un ruolo) di creare, modificare o eliminare un ruolo collegato ai servizi devi configurare le relative autorizzazioni. Per ulteriori informazioni, consulta [Autorizzazioni del ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) nella *Guida per l'utente di IAM*.

## Creazione di un ruolo collegato ai servizi per API Gateway
<a name="create-slr"></a>

Non hai bisogno di creare manualmente un ruolo collegato ai servizi. Quando crei un'API, un nome di dominio personalizzato o un link VPC nell' AWS API Console di gestione AWS, API Gateway crea automaticamente il ruolo collegato al servizio. AWS CLI

Se elimini questo ruolo collegato al servizio, è possibile ricrearlo seguendo lo stesso processo utilizzato per ricreare il ruolo nell’account. Quando si crea un'API, un nome di dominio personalizzato o un collegamento VPC, API Gateway crea nuovamente il ruolo collegato ai servizi per l'utente. 

## Modifica di un ruolo collegato ai servizi per API Gateway
<a name="edit-slr"></a>

API Gateway non consente di modificare il ruolo AWSService RoleFor APIGateway collegato al servizio. Dopo aver creato un ruolo collegato al servizio, non è possibile modificarne il nome, perché potrebbero farvi riferimento diverse entità. È possibile tuttavia modificarne la descrizione utilizzando IAM. Per ulteriori informazioni, consulta la sezione [Modifica di un ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) nella *Guida per l'utente di IAM*.

## Eliminazione di un ruolo collegato ai servizi per API Gateway
<a name="delete-slr"></a>

Se non è più necessario utilizzare una caratteristica o un servizio che richiede un ruolo collegato ai servizi, ti consigliamo di eliminare quel ruolo. In questo modo non sarà più presente un'entità non utilizzata che non viene monitorata e gestita attivamente. Tuttavia, è necessario effettuare la pulizia delle risorse associate al ruolo collegato ai servizi prima di poterlo eliminare manualmente.

**Nota**  
Se il servizio API Gateway utilizza tale ruolo quando tenti di eliminare le risorse, è possibile che l'eliminazione non abbia esito positivo. In questo caso, attendi alcuni minuti e quindi ripeti l’operazione.

**Per eliminare le risorse API Gateway utilizzate da AWSService RoleFor APIGateway**

1. Apri la console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

1. Passare all'API, al nome di dominio personalizzato o al collegamento VPC che utilizza il ruolo collegato al servizio.

1. Utilizza la console per eliminare una risorsa.

1. Ripeti la procedura per eliminare tutti APIs i nomi di dominio personalizzati o i link VPC che utilizzano il ruolo collegato al servizio.

**Per eliminare manualmente il ruolo collegato ai servizi mediante IAM**

Utilizza la console IAM AWS CLI, l'o l' AWS API per eliminare il ruolo collegato al AWSService RoleFor APIGateway servizio. Per ulteriori informazioni, consulta [Eliminazione del ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) nella *Guida per l'utente di IAM*.

## Regioni supportate per i ruoli collegati ai servizi di API Gateway
<a name="slr-regions"></a>

API Gateway supporta l'utilizzo di ruoli collegati ai servizi in tutte le regioni in cui il servizio è disponibile. Per ulteriori informazioni, consulta [AWS Endpoint del servizio](https://docs.aws.amazon.com/general/latest/gr/rande.html).

## Aggiornamenti API Gateway alle policy AWS gestite
<a name="security-iam-awsmanpol-updates"></a>



Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite per API Gateway da quando questo servizio ha iniziato a tenere traccia di queste modifiche. Per gli avvisi automatici sulle modifiche apportate a questa pagina, sottoscrivere il feed RSS nella pagina della [cronologia dei documenti](history.md) di API Gateway.


| Modifica | Descrizione | Data | 
| --- | --- | --- | 
|  Aggiunto supporto `acm:GetCertificate` per la policy `AWSServiceRoleForAPIGateway`.  |  La policy `AWSServiceRoleForAPIGateway` ora include l'autorizzazione per chiamare l'operazione API `GetCertificate` ACM.  | 12 luglio 2021 | 
|  API Gateway ha iniziato a monitorare le modifiche  |  API Gateway ha iniziato a tracciare le modifiche per le sue politiche AWS gestite.  | 12 luglio 2021 | 

# Logging e monitoraggio in Amazon API Gateway
<a name="security-monitoring"></a>

Il monitoraggio è una parte importante per mantenere l'affidabilità, la disponibilità e le prestazioni di API Gateway e delle soluzioni AWS. È consigliabile raccogliere dati di monitoraggio da tutte le parti della soluzione AWS per eseguire più facilmente il debug dei fallimenti in più punti nel caso si verifichino. AWS fornisce diversi strumenti per il monitoraggio delle risorse API Gateway e di altre risorse, nonché la risposta a potenziali incidenti.

**Amazon CloudWatch Logs**  
Per eseguire il debug di problemi correlati all'esecuzione di richieste o all'accesso client all'API, puoi abilitare CloudWatch Logs per tenere traccia delle chiamate API. Per ulteriori informazioni, consulta [Configurare la CloudWatch registrazione per REST APIs in API Gateway](set-up-logging.md).

**Allarmi di Amazon CloudWatch**  
Utilizzando gli allarmi di CloudWatch, è possibile osservare un singolo parametro per il periodo di tempo specificato. Se il parametro supera una determinata soglia, viene inviata una notifica a un argomento Amazon Simple Notification Service o alla policy AWS Auto Scaling. Gli allarmi CloudWatch non richiamano azioni quando una metrica si trova in uno stato particolare. È necessario invece cambiare lo stato e mantenerlo per un numero di periodi specificato. Per ulteriori informazioni, consulta [Monitora l'esecuzione delle API REST con i CloudWatch parametri di Amazon](monitoring-cloudwatch.md).

**Registrazione dei log degli accessi a Firehose**  
Per eseguire il debug dei problemi correlati all'accesso dei client all'API, è possibile abilitare la registrazione dei log delle chiamate API in Firehose. Per ulteriori informazioni, consulta [Registrazione dei log delle chiamate REST API su Amazon Data Firehose in Gateway API](apigateway-logging-to-kinesis.md).

**AWS CloudTrail**  
CloudTrail fornisce un record delle operazioni eseguite da un utente, un ruolo o un servizio AWS in API Gateway. Le informazioni raccolte da CloudTrail consentono di determinare la richiesta effettuata ad API Gateway, l'indirizzo IP da cui è partita la richiesta, l'autore della richiesta, il momento in cui è stata eseguita e altri dettagli. Per ulteriori informazioni, consulta [Registrazione delle chiamate API di Amazon API Gateway utilizzando AWS CloudTrail](cloudtrail.md). 

**AWS X-Ray**  
X-Ray è un servizio AWS che raccoglie i dati sulle richieste che l'applicazione serve e li utilizza per creare una mappa del servizio da utilizzare per identificare i problemi con l'applicazione e le opportunità di ottimizzazione. Per ulteriori informazioni, consulta [Configurazione AWS X-Ray con API Gateway REST APIs](apigateway-enabling-xray.md). 

**AWS Config**  
AWS Config fornisce una panoramica dettagliata della configurazione delle risorse AWS nel tuo account. Puoi vedere in che modo le risorse sono correlate, ottenere una cronologia delle modifiche alla configurazione ed esaminare come cambiano le relazioni e le configurazioni nel tempo. Puoi utilizzare AWS Config per definire regole che valutano le configurazioni delle risorse per la conformità dei dati. Le regole AWS Config rappresentano le impostazioni di configurazione ideali per le risorse API Gateway. Se una risorsa viola una regola e viene contrassegnata come non conforme, AWS Config può avvisare l'utente utilizzando un argomento Amazon Simple Notification Service (Amazon SNS). Per informazioni dettagliate, consulta [Monitoraggio della configurazione dell'API API Gateway con AWS Config](apigateway-config.md). 

# Registrazione delle chiamate API di Amazon API Gateway utilizzando AWS CloudTrail
<a name="cloudtrail"></a>

Amazon API Gateway è integrato con [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html), un servizio che fornisce un registro delle azioni intraprese da un utente, ruolo o un Servizio AWS. CloudTrail acquisisce tutte le chiamate API REST per il servizio API Gateway come eventi. Le chiamate acquisite includono chiamate dalla console API Gateway e chiamate di codice al servizio API Gateway APIs. Utilizzando le informazioni raccolte da CloudTrail, è possibile determinare la richiesta effettuata a API Gateway, l'indirizzo IP da cui è stata effettuata la richiesta, quando è stata effettuata e dettagli aggiuntivi.

**Nota**  
[TestInvokeAuthorizer](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-authorizer.html)e non [TestInvokeMethod](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html)hanno effettuato l'accesso. CloudTrail

Ogni evento o voce di log contiene informazioni sull’utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:
+ Se la richiesta è stata effettuata con le credenziali utente root o utente.
+ Se la richiesta è stata effettuata per conto di un utente del Centro identità IAM.
+ Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.
+ Se la richiesta è stata effettuata da un altro Servizio AWS.

CloudTrail è attivo nel tuo account Account AWS quando crei l'account e hai automaticamente accesso alla **cronologia degli CloudTrail eventi**. La **cronologia CloudTrail degli eventi** fornisce un record visualizzabile, ricercabile, scaricabile e immutabile degli ultimi 90 giorni di eventi di gestione registrati in un. Regione AWS*Per ulteriori informazioni, consulta [Lavorare con la cronologia degli CloudTrail eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) nella Guida per l'utente.AWS CloudTrail * Non sono CloudTrail previsti costi per la visualizzazione della **cronologia degli eventi**.

Per una registrazione continua degli eventi degli Account AWS ultimi 90 giorni, crea un trail o un data store di eventi [CloudTrailLake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html).

**CloudTrail sentieri**  
Un *trail* consente di CloudTrail inviare file di log a un bucket Amazon S3. Tutti i percorsi creati utilizzando il Console di gestione AWS sono multiregionali. È possibile creare un trail per una singola Regione o per più Regioni tramite AWS CLI. La creazione di un percorso multiregionale è consigliata in quanto consente di registrare l'intera attività del proprio Regioni AWS account. Se si crea un trail per una singola Regione, è possibile visualizzare solo gli eventi registrati nella Regione AWS del trail. Per ulteriori informazioni sui trail, consulta [Creating a trail for your Account AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) e [Creating a trail for an organization](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html) nella *Guida per l'utente di AWS CloudTrail *.  
Puoi inviare gratuitamente una copia dei tuoi eventi di gestione in corso al tuo bucket Amazon S3 CloudTrail creando un percorso, tuttavia ci sono costi di storage di Amazon S3. [Per ulteriori informazioni sui CloudTrail prezzi, consulta la pagina Prezzi.AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/) Per informazioni sui prezzi di Amazon S3, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

**CloudTrail Archivi di dati sugli eventi di Lake**  
*CloudTrail Lake* ti consente di eseguire query basate su SQL sui tuoi eventi. CloudTrail [Lake converte gli eventi esistenti in formato JSON basato su righe in formato Apache ORC.](https://orc.apache.org/) ORC è un formato di archiviazione a colonne ottimizzato per il recupero rapido dei dati. Gli eventi vengono aggregati in *archivi di dati degli eventi*, che sono raccolte di eventi immutabili basate sui criteri selezionati applicando i [selettori di eventi avanzati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors). I selettori applicati a un archivio di dati degli eventi controllano quali eventi persistono e sono disponibili per l'esecuzione della query. *Per ulteriori informazioni su CloudTrail Lake, consulta [Working with AWS CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) nella Guida per l'utente.AWS CloudTrail *  
CloudTrail Gli archivi e le richieste di dati sugli eventi di Lake comportano dei costi. Quando crei un datastore di eventi, scegli l'[opzione di prezzo](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option) da utilizzare per tale datastore. L'opzione di prezzo determina il costo per l'importazione e l'archiviazione degli eventi, nonché il periodo di conservazione predefinito e quello massimo per il datastore di eventi. [Per ulteriori informazioni sui CloudTrail prezzi, consulta Prezzi.AWS CloudTrail](https://aws.amazon.com/cloudtrail/pricing/)

## Eventi di gestione dell'API Gateway in CloudTrail
<a name="cloudtrail-management-events"></a>

[Gli eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) di gestione forniscono informazioni sulle operazioni di gestione eseguite sulle risorse di Account AWS. Queste operazioni sono definite anche operazioni del piano di controllo (control-plane). Per impostazione predefinita, CloudTrail registra gli eventi di gestione.

Amazon API Gateway registra tutte le azioni di API Gateway come eventi di gestione, ad eccezione di [TestInvokeAuthorizer](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-authorizer.html)e [TestInvokeMethod](https://docs.aws.amazon.com/cli/latest/reference/apigateway/test-invoke-method.html). Per un elenco delle azioni di Amazon API Gateway a cui API Gateway effettua il log CloudTrail, consulta l'[Amazon API Gateway API Reference](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html).

## Esempio di evento di Gateway API
<a name="cloudtrail-event-examples"></a>

Un evento rappresenta una singola richiesta proveniente da qualsiasi fonte e include informazioni sull'operazione API richiesta, la data e l'ora dell'operazione, i parametri della richiesta e così via. CloudTrail i file di registro non sono una traccia stack ordinata delle chiamate API pubbliche, quindi gli eventi non vengono visualizzati in un ordine specifico.

L'esempio seguente mostra un CloudTrail evento che dimostra l'`GetResource`azione API Gateway:

```
{
    Records: [
        {
            eventVersion: "1.03",
            userIdentity: {
                type: "Root",
                principalId: "AKIAI44QH8DHBEXAMPLE",
                arn: "arn:aws:iam::123456789012:root",
                accountId: "123456789012",
                accessKeyId: "AKIAIOSFODNN7EXAMPLE",
                sessionContext: {
                    attributes: {
                        mfaAuthenticated: "false",
                        creationDate: "2015-06-16T23:37:58Z"
                    }
                }
            },
            eventTime: "2015-06-17T00:47:28Z",
            eventSource: "apigateway.amazonaws.com",
            eventName: "GetResource",
            awsRegion: "us-east-1",
            sourceIPAddress: "203.0.113.11",
            userAgent: "example-user-agent-string",
            requestParameters: {
                restApiId: "3rbEXAMPLE",
                resourceId: "5tfEXAMPLE",
                template: false
            },
            responseElements: null,
            requestID: "6d9c4bfc-148a-11e5-81b6-7577cEXAMPLE",
            eventID: "4d293154-a15b-4c33-9e0a-ff5eeEXAMPLE",
            readOnly: true,
            eventType: "AwsApiCall",
            recipientAccountId: "123456789012"
        },
        ... additional entries ...
    ]
}
```

Per informazioni sul contenuto dei CloudTrail record, consulta il [contenuto dei CloudTrail record](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html) nella *Guida per l'AWS CloudTrail utente*.

# Monitoraggio della configurazione dell'API API Gateway con AWS Config
<a name="apigateway-config"></a>

Puoi usare [AWS Config](https://aws.amazon.com/config/) per registrare le modifiche di configurazione apportate alle risorse API Gateway API e inviare notifiche in base alle modifiche alle risorse. Conservare la cronologia delle modifiche eseguite sulla configurazione delle risorse di API Gateway è utile per la risoluzione dei problemi operativi, la revisione e i casi d'uso relativi alla conformità.

AWS Config può tenere traccia delle modifiche a:
+ **Configurazione delle fasi API**, ad esempio:
  + Impostazioni del cluster di cache
  + Impostazioni di throttling
  + Impostazioni dei log degli accessi
  + Set di distribuzione attivo nella fase
+ **Configurazione dell'API**, ad esempio:
  + Configurazione dell'endpoint
  + Versione
  + protocol
  + tags

Inoltre, la Regole di AWS Config funzionalità consente di definire regole di configurazione e rilevare, tracciare e avvisare automaticamente le violazioni di tali regole. Tracciando le modifiche a queste proprietà di configurazione delle risorse, puoi anche creare AWS Config regole che generano modifiche per le tue risorse API Gateway e testare le configurazioni delle risorse rispetto alle best practice.

Puoi abilitarlo AWS Config nel tuo account utilizzando la console o il AWS Config . AWS CLI Seleziona i tipi di risorsa per cui vuoi monitorare le modifiche. Se in precedenza hai configurato AWS Config per registrare tutti i tipi di risorse, queste risorse API Gateway verranno registrate automaticamente nel tuo account. Il supporto per Amazon API Gateway in AWS Config è disponibile in tutte le regioni AWS pubbliche e AWS GovCloud (US). Per l'elenco completo delle Regioni supportate, consulta [Endpoint e quote Amazon API Gateway](https://docs.aws.amazon.com/general/latest/gr/apigateway.html) nei riferimenti generali Riferimenti generali di AWS.

**Topics**
+ [Tipi di risorse supportati](#apigateway-config-resources-rules)
+ [Configurazione AWS Config](#apigateway-config-setup)
+ [Configurazione AWS Config per registrare le risorse API Gateway](#apigateway-config-configuring)
+ [Visualizzazione dei dettagli di configurazione dell'API Gateway nella AWS Config console](#apigateway-config-console)
+ [Valutazione delle risorse API Gateway mediante regole AWS Config](#apigateway-config-rules)

## Tipi di risorse supportati
<a name="apigateway-config-resources-rules"></a>

I seguenti tipi di risorse API Gateway sono integrati AWS Config e documentati in [AWS Config Supported Resource Types and AWS Resource Relationships](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html):
+ `AWS::ApiGatewayV2::Api`(WebSocket e API HTTP)
+ `AWS::ApiGateway::RestApi` (API REST)
+ `AWS::ApiGatewayV2::Stage`(WebSocket e fase HTTP API)
+ `AWS::ApiGateway::Stage` (fase API REST)

Per ulteriori informazioni in merito AWS Config, consulta la [Guida per AWS Config gli sviluppatori](https://docs.aws.amazon.com/config/latest/developerguide/). Per informazioni sui prezzi, consulta la [pagina di informazioni sui prezzi di AWS Config](https://aws.amazon.com/config/pricing/).

**Importante**  
Se modifichi una delle proprietà dell'API seguenti dopo avere distribuito l'API, *devi* [ridistribuire](how-to-deploy-api.md) l'API per propagare le modifiche. Altrimenti, vedrete le modifiche agli attributi nella AWS Config console, ma le impostazioni delle proprietà precedenti rimarranno valide; il comportamento di runtime dell'API rimarrà invariato.  
**`AWS::ApiGateway::RestApi`** – `binaryMediaTypes`, `minimumCompressionSize`, `apiKeySource`
**`AWS::ApiGatewayV2::Api`** – `apiKeySelectionExpression`

## Configurazione AWS Config
<a name="apigateway-config-setup"></a>

Per la configurazione iniziale AWS Config, consulta i seguenti argomenti nella [Guida per gli AWS Config sviluppatori](https://docs.aws.amazon.com/config/latest/developerguide/).
+ [Configurazione AWS Config con la console](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html)
+ [Configurazione AWS Config con AWS CLI](https://docs.aws.amazon.com/config/latest/developerguide/gs-cli.html)

## Configurazione AWS Config per registrare le risorse API Gateway
<a name="apigateway-config-configuring"></a>

Per impostazione predefinita, AWS Config registra le modifiche alla configurazione per tutti i tipi di risorse regionali supportate che rileva nella regione in cui è in esecuzione l'ambiente. È possibile personalizzare AWS Config in modo da registrare le modifiche solo per tipi di risorse specifici o le modifiche alle risorse globali.

Per maggiori informazioni sulle risorse regionali e globali e su come personalizzare la AWS Config configurazione, vedi [Selezione dei AWS Config record di risorse](https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).

## Visualizzazione dei dettagli di configurazione dell'API Gateway nella AWS Config console
<a name="apigateway-config-console"></a>

Puoi utilizzare la AWS Config console per cercare le risorse di API Gateway e ottenere dettagli attuali e storici sulle relative configurazioni. La procedura seguente descrive come trovare informazioni su un'API di API Gateway.

**Per trovare una risorsa API Gateway nella AWS console di configurazione**

1. Aprire la [console AWS Config](https://console.aws.amazon.com/config).

1. Scegliere **Resources (Risorse)**.

1. Nella pagina **Resource inventory (Inventario risorse)**, scegliere **Resources (Risorse)**.

1. Apri il menu **Tipo di risorsa**, scorri fino a APIGateway o APIGateway V2, quindi scegli uno o più tipi di risorse API Gateway.

1. Scegliere **Look up (Cerca)**.

1. Scegli un ID di risorsa nell'elenco di risorse AWS Config visualizzato. AWS Config visualizza i dettagli di configurazione e altre informazioni sulla risorsa selezionata.

1. Per visualizzare i dettagli completi della configurazione registrata, scegliere **View Details (Visualizza dettagli)**.

Per ulteriori informazioni su come trovare una risorsa e visualizzare le informazioni in questa pagina, consulta [Visualizzazione AWS delle configurazioni e della cronologia delle risorse](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource.html) nella Guida per gli AWS Config sviluppatori.

## Valutazione delle risorse API Gateway mediante regole AWS Config
<a name="apigateway-config-rules"></a>

Puoi creare AWS Config regole che rappresentano le impostazioni di configurazione ideali per le tue risorse API Gateway. È possibile utilizzare [regole AWS Config gestite](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) predefinite o definire regole personalizzate. AWS Config monitora continuamente le modifiche alla configurazione delle risorse per determinare se tali modifiche violano alcune delle condizioni delle regole. La AWS Config console mostra lo stato di conformità delle regole e delle risorse.

Se una risorsa viola una regola e viene contrassegnata come non conforme, può AWS Config avvisarti utilizzando un argomento della Amazon [Simple Notification Service Developer Guide (Amazon](https://docs.aws.amazon.com/sns/latest/dg/) SNS). Per utilizzare i dati a livello di programmazione in questi avvisi AWS Config , usa una coda Amazon Simple Queue Service (Amazon SQS) come l'endpoint di notifica per l'argomento Amazon SNS.

Per ulteriori informazioni sulla configurazione e l'uso di regole, consulta [Valutazione delle risorse con le regole](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) nella [Guida per gli sviluppatori di AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/). 

# Convalida della conformità per Amazon API Gateway
<a name="compliance-validation"></a>

Per sapere se un Servizio AWS programma rientra nell'ambito di specifici programmi di conformità, consulta Servizi AWS la sezione [Scope by Compliance Program Servizi AWS](https://aws.amazon.com/compliance/services-in-scope/) e scegli il programma di conformità che ti interessa. Per informazioni generali, consulta Programmi di [AWS conformità Programmi](https://aws.amazon.com/compliance/programs/) di di .

È possibile scaricare report di audit di terze parti utilizzando AWS Artifact. Per ulteriori informazioni, consulta [Scaricamento dei report in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

La vostra responsabilità di conformità durante l'utilizzo Servizi AWS è determinata dalla sensibilità dei dati, dagli obiettivi di conformità dell'azienda e dalle leggi e dai regolamenti applicabili. Per ulteriori informazioni sulla responsabilità di conformità durante l'utilizzo Servizi AWS, consulta [AWS la documentazione sulla sicurezza](https://docs.aws.amazon.com/security/).

# Resilienza in Amazon API Gateway
<a name="disaster-recovery-resiliency"></a>

L'infrastruttura globale di AWS è basata su Regioni e zone di disponibilità AWS. Le Regioni AWS Le Regioni forniscono più zone di disponibilità fisicamente separate e isolate che sono connesse tramite reti altamente ridondanti, a bassa latenza e velocità di trasmissione effettiva elevata. Con le zone di disponibilità, puoi progettare e gestire applicazioni e database che eseguono automaticamente il failover tra zone di disponibilità senza interruzioni. Le zone di disponibilità sono più disponibili, tolleranti ai guasti e scalabili rispetto alle infrastrutture a data center singolo o multiplo tradizionali. 

In qualità di servizio regionale completamente gestito, Gateway API opera in più zone di disponibilità in ciascuna Regione, utilizzando la ridondanza delle zone di disponibilità per ridurre al minimo gli errori dell'infrastruttura come categoria di rischio di disponibilità. Gateway API è progettato per il ripristino automatico in caso di errore di una zona di disponibilità. 

Per ulteriori informazioni sulle Regioni AWS e sulle zone di disponibilità, consulta [Infrastruttura globale di AWS](https://aws.amazon.com/about-aws/global-infrastructure/).

Per evitare che le API vengano sopraffatte da troppe richieste, API Gateway limita le richieste alle API. Nello specifico, API Gateway imposta un limite per il numero di richieste durante il funzionamento a regime e per i picchi di invio di richieste per tutte le API dell'account. È possibile configurare la limitazione personalizzata per le API. Per ulteriori informazioni, consulta [Limita le richieste al tuo REST APIs per una migliore velocità di trasmissione in API Gateway](api-gateway-request-throttling.md).

È possibile utilizzare i controlli dell'integrità di Route 53 per controllare il failover DNS da un'API di API Gateway in una regione primaria a un'API di Gateway API in un'area secondaria. Per un esempio, consulta [Configurazione dei controlli dell'integrità personalizzati per failover DNS per un'API di Gateway API](dns-failover.md).

# Sicurezza dell'infrastruttura in Amazon API Gateway
<a name="infrastructure-security"></a>

In quanto servizio gestito, Amazon API Gateway è protetto dalla sicurezza di rete AWS globale. Per informazioni sui servizi AWS di sicurezza e su come AWS protegge l'infrastruttura, consulta [AWS Cloud Security](https://aws.amazon.com/security/). Per progettare il tuo AWS ambiente utilizzando le migliori pratiche per la sicurezza dell'infrastruttura, vedi [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected* Framework.

Utilizzi chiamate API AWS pubblicate per accedere ad API Gateway attraverso la rete. I client devono supportare quanto segue:
+ Transport Layer Security (TLS). È richiesto TLS 1.2 ed è consigliato TLS 1.3.
+ Suite di cifratura con Perfect Forward Secrecy (PFS), ad esempio Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). La maggior parte dei sistemi moderni, come Java 7 e versioni successive, supporta tali modalità.

Puoi richiamare queste operazioni API da qualsiasi posizione di rete, ma API Gateway non supporta le policy di accesso basate sulle risorse che possono includere limitazioni sull'indirizzo IP di origine. Puoi anche utilizzare policy basate sulle risorse per controllare l'accesso da endpoint Amazon Virtual Private Cloud (Amazon VPC) specifici o specifici. VPCs In effetti, questo isola l'accesso alla rete a una determinata risorsa API Gateway solo dal VPC specifico all'interno AWS della rete.

# Analisi delle vulnerabilità in Amazon API Gateway
<a name="vulnerability-analysis"></a>

Configurazione e controllo IT sono una responsabilità condivisa tra AWSe te, il nostro cliente. Per ulteriori informazioni, consulta il [modello di responsabilità condivisa di AWS](https://aws.amazon.com/compliance/shared-responsibility-model/).

# Best practice di sicurezza in Amazon API Gateway
<a name="security-best-practices"></a>

API Gateway fornisce una serie di caratteristiche di sicurezza che occorre valutare durante lo sviluppo e l'implementazione delle policy di sicurezza. Le seguenti best practice sono linee guida generali e non rappresentano una soluzione di sicurezza completa. Poiché queste best practice potrebbero non essere appropriate o sufficienti per l'ambiente, gestiscile come considerazioni utili anziché prescrizioni.

**Implementazione dell'accesso con privilegi minimi**  
Utilizza le policy IAM per implementare l'accesso con privilegi minimi per creare, leggere, aggiornare o eliminare API Gateway. APIs Per ulteriori informazioni, consulta [Gestione delle identità e degli accessi per Amazon API Gateway](security-iam.md). API Gateway offre diverse opzioni per controllare l'accesso a APIs ciò che create. Per ulteriori informazioni, consulta [Controlla e gestisci l'accesso a REST APIs in API Gateway](apigateway-control-access-to-api.md), [Controlla e gestisci l'accesso WebSocket APIs a API Gateway](apigateway-websocket-api-control-access.md) e [Controlla l'accesso a HTTP APIs con gli autorizzatori JWT in API Gateway](http-api-jwt-authorizer.md).

**Implementare la registrazione**  
Usa CloudWatch Logs o Amazon Data Firehose per registrare le richieste sul tuo. APIs Per ulteriori informazioni, consulta [Monitoraggio delle REST API in Gateway API](rest-api-monitor.md), [Configurazione della registrazione per API WebSocket APIs Gateway](websocket-api-logging.md) e [Configurare la registrazione per HTTP APIs in API Gateway](http-api-logging.md).

**Implementa gli CloudWatch allarmi Amazon**  
Utilizzando gli CloudWatch allarmi, controlli una singola metrica per un periodo di tempo specificato. Se la metrica supera una determinata soglia, viene inviata una notifica a un argomento o AWS Auto Scaling una politica di Amazon Simple Notification Service. CloudWatch gli allarmi non richiamano azioni quando una metrica si trova in uno stato particolare. È necessario invece cambiare lo stato e mantenerlo per un numero di periodi specificato. Per ulteriori informazioni, consulta [Monitora l'esecuzione delle API REST con i CloudWatch parametri di Amazon](monitoring-cloudwatch.md).

**Abilita AWS CloudTrail**  
CloudTrail fornisce un registro delle azioni intraprese da un utente, un ruolo o un AWS servizio in API Gateway. Utilizzando le informazioni raccolte da CloudTrail, è possibile determinare la richiesta effettuata a API Gateway, l'indirizzo IP da cui è stata effettuata la richiesta, chi ha effettuato la richiesta, quando è stata effettuata e dettagli aggiuntivi. Per ulteriori informazioni, consulta [Registrazione delle chiamate API di Amazon API Gateway utilizzando AWS CloudTrail](cloudtrail.md). 

**Abilita AWS Config**  
AWS Config fornisce una visualizzazione dettagliata della configurazione delle AWS risorse del tuo account. Puoi vedere in che modo le risorse sono correlate, ottenere una cronologia delle modifiche alla configurazione ed esaminare come cambiano le relazioni e le configurazioni nel tempo. È possibile utilizzare AWS Config per definire regole che valutano le configurazioni delle risorse per la conformità dei dati. AWS Config le regole rappresentano le impostazioni di configurazione ideali per le risorse API Gateway. Se una risorsa viola una regola e viene contrassegnata come non conforme, può AWS Config avvisarti utilizzando un argomento di Amazon Simple Notification Service (Amazon SNS). Per informazioni dettagliate, vedi [Monitoraggio della configurazione dell'API API Gateway con AWS Config](apigateway-config.md). 

**Usa AWS Security Hub CSPM**  
Monitora l'utilizzo di API Gateway riguardo alle best practice di sicurezza utilizzando [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html). Security Hub CSPM utilizza i *controlli di sicurezza* per valutare le configurazioni delle risorse e *gli standard di sicurezza* per aiutarti a rispettare vari framework di conformità. Per ulteriori informazioni sull'utilizzo di Security Hub CSPM per valutare le risorse di API Gateway, consulta i [controlli di Amazon API Gateway](https://docs.aws.amazon.com/securityhub/latest/userguide/apigateway-controls.html) nella Guida per l'*AWS Security Hub utente*.