vCloud Director Object Storage Extension fornisce un set di API compatibili con S3 per le operazioni di bucket e oggetti.
L'API di vCloud Director Object Storage Extension supporta AWS Signature v4, il token di autorizzazione di vCloud Director e i metodi di autenticazione JSON Web Token (JWT).
L'API di vCloud Director Object Storage Extension supporta i formati JSON e XML.
Per impostazione predefinita, le API S3 di vCloud Director Object Storage Extension sono disponibili in https://object-storage-extension-host-address/api/v1/s3. In base alla configurazione della rete del provider di servizi, l'indirizzo di vCloud Director Object Storage Extension e il percorso root per l'API S3 potrebbero essere diversi dalla configurazione predefinita.
La documentazione dell'API S3 di vCloud Director Object Storage Extension è disponibile con il prodotto all'indirizzo https://object-storage-extension-host-address/docs e in VMware API Explorer all'indirizzo https://code.vmware.com/apis nella categoria di prodotti vCloud Director Object Storage Extension.
Utilizzo delle credenziali di sicurezza e dell'API di vCloud Director Object Storage Extension
- Creare credenziali utente mediante Object Storage Tenant Portal. Per impostazione predefinita, le credenziali utente appena create vengono attivate durante la creazione.
- Copiare la chiave di accesso e la chiave segreta.
- Prendere nota del nome di un bucket che viene visualizzato in Object Storage Tenant Portal.
- Nel client API, utilizzare il metodo di autenticazione AWS Signature per eseguire l'autenticazione della richiesta dell'API immettendo l'endpoint dell'API e le chiavi di accesso e sicurezza.
Ad esempio, immettere le seguenti informazioni sulla connessione:
- Endpoint API: https://vCloud-Director-Object-Storage-Extension-IP-addres:443/api/v1/s3
- Chiave di accesso: 5a5af54cf34a172a511f
- Chiave segreta: omSG+UXSoyD1fbdFt0iia3I8I+f0QLSiIn5wpq1L
- Emettere una richiesta GET dell'API S3 per elencare tutti i bucket di proprietà del proprietario delle credenziali utente.
Di seguito è disponibile un esempio di richiesta dell'API:
GET /api/v1/s3/ HTTP/1.1 Host: vCloud-Director-Object-Storage-Extension-IP-addres:443 Accept: application/xml X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: 20190717T014259Z Authorization: AWS4-HMAC-SHA256 Credential=5a5af54cf34a172a511f/20190717/us-east-1/s3/aws4_request, SignedHeaders=accept;host;x-amz-content-sha256;x-amz-date, Signature=a1a0cfdc34fd4275f567ef673f14d8ff963242d29c13515506a3a913e7f38415 cache-control: no-cache
<listBucketResult> <Name>bucket-name</Name> <KeyCount>1</KeyCount> <MaxKeys>1000</MaxKeys> <Contents> <Key>object-name</Key> <Owner> <ID>system-id-of-the-user</> <DisplayName>display-name-of-the-user</DisplayName> </Owner> <StorageClass>Storage-Class</StorageClass> <Size>object-size-in-KB</Size> <LastModified>last-modified-date</LastModified> </Contents> <IsTruncated>true-or-false</IsTruncated> <ContinuationToken>1-or-0</ContinuationToken> </listBucketResult>
Per ottenere le credenziale di un utente o di un'applicazione, vedere Utilizzo delle credenziali di sicurezza.