

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

# Effettuare richieste API
<a name="making-api-requests"></a>

Le richieste di query per Amazon Verified Permissions sono richieste HTTP o HTTPS che utilizzano questo `POST` metodo.

## Endpoint con autorizzazioni verificate
<a name="avp-endpoints"></a>

Un *endpoint* è un URL che funge da punto di ingresso per un servizio Web. È possibile selezionare un Regione AWS endpoint appropriato quando si effettuano richieste per ridurre la latenza. Per informazioni sugli endpoint utilizzati da Verified Permissions, consulta [Amazon Verified Permissions](https://docs.aws.amazon.com/general/latest/gr/verified-permissions.html) nel. *Riferimenti generali di Amazon Web Services*

## Parametri della richiesta
<a name="request-parameters"></a>

Amazon Verified Permissions utilizza un JSON-based protocollo. I parametri della richiesta vengono passati in formato JSON nel corpo della richiesta HTTP. Gli elenchi sono rappresentati come array JSON. Per ulteriori informazioni, consulta [Parametri comuni](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/CommonParameters.html) nel *riferimento all'API Amazon Verified Permissions*.

## Identificatori della richiesta
<a name="request-identifiers"></a>

In ogni risposta, AWS restituisce un ID di richiesta tramite l'intestazione di risposta `x-amzn-RequestId` HTTP. Questa stringa è un identificatore univoco che viene AWS assegnato per fornire informazioni di tracciamento. Sebbene l'ID della richiesta sia incluso in ogni risposta, non è elencato nelle singole pagine della documentazione dell'API per migliorare la leggibilità e ridurre la ridondanza.

## Autenticazione tramite API Query
<a name="query-authentication"></a>

Le richieste di interrogazione vengono inviate tramite HTTPS. È necessario includere una firma in ogni richiesta di interrogazione. Per ulteriori informazioni sulla creazione e l'inclusione di una firma, consulta [Signing AWS API Requests](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) in *Riferimenti generali di Amazon Web Services*.

## Librerie disponibili
<a name="using-libraries"></a>

AWS fornisce librerie, codice di esempio, tutorial e altre risorse per gli sviluppatori di software che preferiscono creare applicazioni utilizzando API specifiche del linguaggio anziché gli strumenti da riga di comando e l'API Query. Queste librerie forniscono funzioni di base (non incluse nelle API), come l'autenticazione delle richieste, i nuovi tentativi di richiesta e la gestione degli errori, in modo che sia più facile iniziare. Le librerie e le risorse di Verified Permissions sono disponibili per le seguenti lingue e piattaforme:
+  [AWS SDK per Go](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/verifiedpermissions) 
+  [AWS SDK per Java 2.x](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK per Java 1.x](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/verifiedpermissions/package-summary.html) 
+  [AWS SDK per JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/VerifiedPermissions.html) 
+  [AWS SDK per .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/VerifiedPermissions/NVerifiedPermissions.html) 
+  [AWS SDK per PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-verifiedpermissions-2022-07-28.html) 
+  [AWS SDK per Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/verifiedpermissions.html) 
+  [AWS SDK per Ruby](https://github.com/aws/aws-sdk-ruby/tree/version-3/apis/verifiedpermissions/2021-12-01) 

Per ulteriori informazioni sulle librerie e sul codice di esempio in tutte le lingue, vedi [Codice di esempio e librerie](https://docs.aws.amazon.com/code-library).

## Effettuazione di richieste API utilizzando il metodo `POST`
<a name="avp-API-requests-using-post-method"></a>

Se non utilizzi uno degli AWS SDK, puoi effettuare richieste di autorizzazioni verificate tramite HTTPS utilizzando il metodo di `POST` richiesta. Il `POST` metodo richiede di specificare l'operazione nell'intestazione della richiesta e di fornire i dati per l'operazione in formato JSON nel corpo della richiesta.


| Nome intestazione | Valore intestazione | 
| --- | --- | 
| Host | L'endpoint Amazon Verified Permissions. Ad esempio: `verifiedpermissions.us-east-1.amazonaws.com`  | 
| X-Amz-Date | *Devi fornire il timestamp nell'intestazione HTTP Date o nell'intestazione x-amz-date. AWS * Alcune librerie client HTTP non consentono di impostare l'intestazione Date. Quando è presente un'intestazione *x-amz-date*, il sistema ignora qualsiasi intestazione Date durante l'autenticazione della richiesta.<br />L'intestazione *x-amz-date* deve essere specificata nel formato base ISO 8601. Ad esempio: `20130315T092054Z`  | 
| Authorization | L'insieme di parametri di autorizzazione AWS utilizzato per garantire la validità e l'autenticità della richiesta. Per ulteriori informazioni sulla creazione di questa intestazione, vedere [Processo di firma della versione 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) di Signature in. *Riferimenti generali di Amazon Web Services* | 
| X-Amz-Target | Specifica l'operazione di autorizzazione verificata che si desidera eseguire. <br />`VerifiedPermissions.{{API_Name}}`<br />Ad esempio, per chiamare l'`CreatePolicy`operazione, utilizzate il seguente valore di destinazione.<br />`VerifiedPermissions.CreatePolicy` | 
| Content-Type | Specificate il formato di input. Utilizzate il seguente valore.<br />`application/x-amz-json-1.0` | 
| Accept | Specificate il formato della risposta. Utilizzate il seguente valore.<br />`application/x-amz-json-1.0` | 
| Content-Length | Dimensione del payload in byte. | 
| Content-Encoding | Speciifica il formato di codifica dell'input e dell'output. Utilizzate il seguente valore.<br />`amz-1.0` | 

Di seguito è riportato un esempio di intestazione per una richiesta HTTP che restituisce un elenco di tutte le politiche nell'archivio delle politiche specificato, nel punto in Account AWS cui i `Principal` riferimenti sono `User` `alice` denominati. In questo esempio, la `Authorization` riga è racchiusa in parole per facilitarne la lettura. Non inserirla in una parola nella richiesta effettiva.

```
POST / HTTP/1.1
Host: verifiedpermissions.us-east-1.amazonaws.com
X-Amz-Date: 20230101T200059Z
Accept-Encoding: identity
Content-Type: application/x-amz-json-1.0
X-Amz-Target: VerifiedPermissions.ListPolicies
User-Agent: <UserAgentString>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>

{
    "PolicyStoreId": "PSExAmPLE222222222",
    "Filter": {
        "Principal": {
            "Id": {
                "EntityType": "User",
                "EntityId": "alice"
            }
        }
    }
}
```