Esecuzione di richieste - Amazon Simple Storage Service

Esecuzione di richieste

Amazon S3 è un servizio REST. È possibile inviare le richieste ad Amazon S3 utilizzando le librerie wrapper dell'API REST o dell'SDK AWS (consulta Codice di esempio e librerie) che eseguono il wrapping dell'API REST di Amazon S3 sottostante, semplificando le attività di programmazione.

Ogni interazione con Amazon S3 è autenticata o anonima. L'autenticazione è un processo teso a verificare l'identità del richiedente che cerca di accedere a un prodotto Amazon Web Services (AWS). Le richieste autenticate devono includere un valore di firma che autentichi il mittente della richiesta. Il valore di firma è, in parte, generato dalle chiavi di accesso AWS del richiedente (ID chiave di accesso e chiave di accesso segreta). Per ulteriori informazioni su come ottenere le chiavi di accesso, consulta la sezione Come ottenere le credenziali di sicurezza in Riferimenti generali AWS.

Se si utilizza l'SDK AWS, le librerie calcolano la firma dalla chiave fornita. Tuttavia, se vengono effettuate chiamate API REST direttamente dall'applicazione in uso, è necessario scrivere il codice per calcolare la firma e aggiungerlo alla richiesta.

Le chiavi di accesso

Le sezioni seguenti esaminano i tipi di chiavi di accesso che è possibile utilizzare per effettuare richieste autenticate.

Chiavi di accesso di Account AWS

Le chiavi di accesso a un account consentono l'accesso completo alle risorse AWS di proprietà dell'account. Di seguito vengono illustrati alcuni esempi di chiavi di accesso:

  • ID chiave di accesso (una stringa alfanumerica di 20 caratteri). Ad esempio: AKIAIOSFODNN7EXAMPLE

  • Secret Access Key (una stringa di 40 caratteri). Ad esempio: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

L'ID chiave di accesso identifica in maniera univoca un Account AWS. È possibile utilizzare queste chiavi di accesso per inviare le richieste autenticate a Amazon S3.

Chiavi di accesso utente IAM

È possibile creare un Account AWS aziendale; tuttavia, ci potrebbero essere alcuni dipendenti che hanno necessità di accedere alle risorse AWS dell'organizzazione. La condivisione delle chiavi di accesso Account AWS riduce la sicurezza mentre la creazione di singoli Account AWS per ogni dipendente potrebbe essere poco pratica. Inoltre, non è facile condividere risorse quali i bucket e gli oggetti in quanto sono di proprietà di diversi account. Per condividere le risorse, è necessario assegnare le autorizzazioni, il che comporta un lavoro aggiuntivo.

In questi scenari, è possibile utilizzare AWS Identity and Access Management (IAM) per creare utenti all'interno dell'Account AWS che dispongano di chiavi di accesso proprie e collegare le policy utente IAM assegnando loro le opportune autorizzazioni di accesso alle risorse. Per gestire meglio tali utenti, IAM consente la creazione di gruppi di utenti e l'assegnazione di autorizzazioni a livello di gruppo valide per tutti gli utenti presenti in quel gruppo.

Questi sono denominati utenti IAM, creati e gestiti all'interno di AWS. L'account padre verifica la capacità di un utente di accedere ad AWS. Qualsiasi risorsa creata da un utente IAM ricade sotto il controllo dell' Account AWS padre e viene pagata da quest'ultimo. Questi utenti IAM possono inviare richieste autenticate a Amazon S3 utilizzando le loro credenziali di sicurezza. Per ulteriori informazioni su creazione e gestione degli utenti all'interno dell'Account AWS, visita la pagina dei dettagli del prodotto AWS Identity and Access Management.

Credenziali di sicurezza temporanee

Oltre a creare utenti IAM che dispongono di chiavi di accesso proprie, IAM consente anche di assegnare credenziali di sicurezza temporanee (chiavi di accesso temporanee e un token di sicurezza) a qualsiasi utente IAM, per consentire l'accesso ai servizi e alle risorse AWS. È inoltre possibile gestire gli utenti nel sistema in uso al di fuori di AWS. Tali risorse sono denominate utenti federati. Inoltre, gli utenti possono essere applicazioni create per accedere alle risorse AWS.

IAM fornisce l'API AWS Security Token Service per la richiesta di credenziali di sicurezza temporanee. Per richiedere le credenziali, è possibile utilizzare l'API STS AWS oppure l'SDK AWS. L'API restituisce le credenziali di sicurezza (ID chiave di accesso e Secret Access Key) e un token di sicurezza. Queste credenziali sono valide solo per la durata specificata al momento della richiesta. L'ID chiave di accesso e la chiave segreta si utilizzano nello stesso modo in cui vengono impiegati quando si inviano le richieste usando l'Account AWS o le chiavi di accesso dell'utente IAM. Inoltre, è necessario includere il token in ogni richiesta inviata a Amazon S3.

Un utente IAM può richiedere queste credenziali di sicurezza temporanee per uso personale oppure per passarle agli utenti federati o alle applicazioni. Quando si effettua la richiesta di credenziali di sicurezza per gli utenti federati, è necessario fornire un nome utente e una policy IAM che definisce le autorizzazioni che si vuole associare a tali credenziali di sicurezza. L'utente federato non può avere un numero di autorizzazioni superiore a quello di cui dispone l'utente IAM padre che ha richiesto le credenziali di sicurezza.

È possibile utilizzare queste credenziali di sicurezza temporanee quando si effettuano richieste ad Amazon S3. Le librerie API calcolano il valore di firma necessario utilizzando tali credenziali per autenticare la richiesta dell'utente. In caso di invio di richieste tramite l'utilizzo di credenziali scadute, Amazon S3 rifiuta la richiesta.

Per informazioni sulla firma delle richieste mediante l'utilizzo di credenziali di sicurezza temporanee nelle richieste API REST, consulta Firma e autenticazione delle richieste REST. Per informazioni sull'invio di richieste utilizzando gli SDK AWS, consulta Esecuzione di richieste tramite gli SDK AWS.

Per ulteriori informazioni sul supporto IAM per le credenziali di sicurezza temporanee, consulta la sezione relativa alle credenziali di sicurezza temporanee nella Guida per l'utente di IAM.

Per maggiore sicurezza, è possibile richiedere l'autenticazione a più fattori (MFA) quando si effettua l'accesso alle risorse Amazon S3 configurando una policy del bucket. Per informazioni, consulta Aggiunta di una policy di bucket per la richiesta dell'autenticazione MFA. Una volta richiesta l'MFA per accedere alle risorse Amazon S3, il solo modo per accedervi è fornendo le credenziali temporanee che vengono create con una chiave MFA. Per ulteriori informazioni, consulta la pagina dei dettagli Autenticazione a più fattori (MFA) di AWS e Configurazione dell'accesso alle API protetto da MFA nella Guida per l'utente di IAM.

Endpoint della richiesta

Le richieste REST vengono inviate all'endpoint predefinito del servizio. Per un elenco dei servizi AWS e dei corrispondenti endpoint, consulta la sezione Regioni ed endpoint in Riferimenti generali AWS.