# Progettazione della sicurezza delle API

Nell'ambito del processo di progettazione dell'API, è necessario specificare quali consumer possono accedere alla tua API (autenticazione) e cosa sono autorizzati a fare (autorizzazione).

Si potrebbe voler semplicemente definire una sicurezza comune per l'intera API, oppure scegliere un criterio più granulare con una sicurezza specifica per una risorsa critica.

È inoltre possibile specificare che determinate operazioni sono liberamente accessibili senza autenticazione.

I contratti API possono gestire tutti questi casi con i principali tipi di sicurezza:

* Autenticazione di base
* Autenticazione Bearer
* Autenticazione digest
* OAuth 1.0
* OAuth 2.0
* OpenID Connect
* Personalizzato / Chiave API
* Pass-through

L'autenticazione cookie non è supportata.

## Creazione di uno schema di sicurezza

Crea uno schema di sicurezza da utilizzare a livello globale nella tua versione dell'API o in singoli elementi.

1. Vai alla pagina delle informazioni generali della tua API.
2. Scorrere verso il basso fino alla sezione Schemi di sicurezza e fare clic su Aggiungi per creare un nuovo schema.
3. Immettere un Nome e selezionare un Tipo nell'elenco a discesa.
4. Facoltativo: Immettere una Descrizione.
5. Immettere altri parametri specifici per il tipo selezionato.

   ![Esempio di definizione dello schema di sicurezza.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/shows_OAuth2_security_scheme.png)

Il tuo schema di sicurezza è stato creato, ora puoi utilizzarlo nelle impostazioni globali della tua API o in risorse e operazioni specifiche.

## Definizione della sicurezza delle tue API

Definisci gli schemi di sicurezza per la tua API, le risorse e le operazioni.

1. Vai alla pagina delle informazioni generali della tua API.
2. Nella sezione Sicurezza globale, aggiungi i tuoi schemi di sicurezza e seleziona quelli che desideri applicare a livello globale alla tua versione dell'API.

   ![In questo esempio, l'API Petstore è protetta da petstore_auth con lo scope write:pets.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/designer_security.png)
3. Seleziona una risorsa e scegli gli schemi di sicurezza che desideri applicare a tutte le operazioni della risorsa.

   In alternativa, è possibile selezionare un'operazione per definirne la sicurezza specifica. ![In questo esempio, il metodo Find Pets by tags è protetto tramite petstore_auth.](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/designer_security_2.png)