Concessione dell'accesso pubblico
A volte i dati sono destinati a essere condivisi. I bucket possono contenere set di dati aperti per ricerche accademiche e private o repository di immagini utilizzati dalle applicazioni web e dalle reti di distribuzione di contenuto. Rendi questi bucket accessibili utilizzando il gruppo Accesso pubblico.
Esistono tre ruoli IAM che possono essere utilizzati per l'accesso pubblico a un bucket: Administrator, ContentReader e ObjectReader. La differenza è che Administrator e ContentReader possono elencare gli oggetti in un bucket, il che è utile per le applicazioni che richiedono facilità di elencazione (ad esempio, un'IU web) oltre agli oggetti di lettura. Per ulteriori informazioni, vedi la documentazione di riferimento IAM.
Se l'isolamento dell'identità esterna (EII) è impostato su Limited, l'accesso pubblico fallisce perché le richieste anonime non hanno un ID account e non possono soddisfare il requisito di corrispondenza delle identità.
Utilizzo della console per impostare l'accesso pubblico
Innanzitutto, assicurati di avere un bucket. In caso negativo, attieniti all'esercitazione introduttiva per acquisire dimestichezza con la console.
Abilita accesso pubblico
Prima di poter abilitare l'accesso pubblico a un bucket, è necessario abilitare il gruppo " Accesso pubblico " a livello di account. Solo il titolare dell'account o un utente con il ruolo di amministratore dei gruppi di accesso IAM può modificare questa impostazione. Per verificarlo o attivarlo, vai su Gestisci > Accesso (IAM) > Impostazioni e verifica che l'opzione " Accesso pubblico " sia impostata su "Abilitato". Se questa impostazione a livello di account è disabilitata, i controlli a livello di bucket descritti di seguito non hanno alcun effetto.
- Dal IBM Cloud dashboard della console, seleziona Archiviazione per visualizzare il tuo elenco risorse.
- Seleziona quindi l'istanza del servizio con il tuo bucket dall'interno del menu Archiviazione. Questa opzione ti porta alla console di Object Storage.
- Scegli il bucket che desideri sia accessibile pubblicamente. Si tenga presente che questa politica rende tutti gli oggetti contenuti in un bucket disponibili per il download da parte di chiunque disponga dell’ URL.
- Seleziona la scheda “Autorizzazioni” tra le schede di navigazione del bucket.
- Scorri fino alla sezione “Accesso pubblico ” e fai clic su “Crea politica di accesso ”.
- Dopo che hai letto l'avvertenza, scegli Abilita.
- Ora tutti gli oggetti in questo bucket sono accessibili pubblicamente.
Disabilita accesso pubblico
- Da qualsiasi punto della IBM Cloudconsole, seleziona il menu Gestisci e Accesso (IAM).
- Seleziona Gruppi di accesso dal menu di navigazione.
- Seleziona Accesso pubblico per visualizzare un elenco di tutte le politiche di accesso pubblico attualmente in uso.
- Trova la politica che corrisponde al bucket che desideri impostare nuovamente su un controllo dell'accesso imposto.
- Dall'elenco di azioni sull'estrema destra della voce di politica, scegli Rimuovi.
- Conferma la finestra di dialogo e la politica viene ora rimossa dal bucket.
Concessione dell'accesso pubblico su singoli oggetti
Per rendere un oggetto pubblicamente accessibile tramite l'API REST, un'intestazione x-amz-acl: public-read può essere inclusa nella richiesta. L'impostazione di questa intestazione tralascia qualsiasi controllo di politica IAM e consente richieste HEAD e GET non autenticate. Per ulteriori informazioni sugli endpoint, vedi Endpoint e ubicazioni di archiviazione.
Inoltre, le credenziali HMAC rendono possibile la concessione dell'accesso pubblico temporaneo che utilizza URL pre-firmati.
Carica un oggetto pubblico
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}" \
-H "x-amz-acl: public-read" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: text/plain; charset=utf-8" \
-d "{object-contents}"
Consenti l'accesso pubblico a un oggetto esistente
L'utilizzo del parametro di query ?acl senza un payload e dell'intestazione x-amz-acl: public-read consente l'accesso pubblico all'oggetto senza che sia necessario sovrascrivere i dati.
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
-H "x-amz-acl: public-read" \
-H "Authorization: Bearer {token}"
Come rendere nuovamente privato un oggetto pubblico
L'utilizzo del parametro di query ?acl senza un payload e di un'intestazione x-amz-acl: vuota revoca l'accesso pubblico all'oggetto senza che sia necessario sovrascrivere i dati.
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
-H "Authorization: Bearer {token}" \
-H "x-amz-acl:"
Siti web statici
Sebbene IBM Cloud Object Storage non supporti l'hosting automatico di siti web statici, è possibile configurare manualmente un server web e utilizzarlo per rendere accessibili al pubblico i contenuti ospitati in un bucket. Per ulteriori informazioni, consultare la panoramica delle opzioni statiche del sito Web.