Protezione dello storage degli oggetti

Questo argomento fornisce informazioni e suggerimenti sulla sicurezza per lo storage degli oggetti.

Il servizio Object Storage è una piattaforma di storage ad alte prestazioni che offre una durabilità dei dati affidabile ed economica. È possibile memorizzare una quantità illimitata di dati non strutturati di qualsiasi tipo di contenuto, inclusi dati analitici e contenuti avanzati, come immagini e video.

Responsabilità di sicurezza

Per utilizzare lo storage degli oggetti in modo sicuro, scopri le tue responsabilità in termini di sicurezza e conformità.

In generale, Oracle fornisce la sicurezza dell'infrastruttura e delle operazioni cloud, come i controlli di accesso degli operatori cloud e l'applicazione di patch di sicurezza dell'infrastruttura. Sei responsabile della configurazione sicura delle tue risorse cloud. La sicurezza nel cloud è una responsabilità condivisa tra te e Oracle.

Oracle è responsabile dei seguenti requisiti di sicurezza:

  • Sicurezza fisica: Oracle è responsabile della protezione dell'infrastruttura globale che esegue tutti i servizi offerti in Oracle Cloud Infrastructure. Questa infrastruttura è costituita da hardware, software, networking e strutture che eseguono i servizi Oracle Cloud Infrastructure.

In questa pagina sono descritte le responsabilità di sicurezza dell'utente, che includono le aree riportate di seguito.

  • Controllo dell'accesso: limitare il più possibile i privilegi. Agli utenti dovrebbe essere concesso solo l'accesso necessario per svolgere il proprio lavoro.
  • Cifratura e riservatezza: utilizzare le chiavi di cifratura e i segreti per proteggere i dati e connettersi a risorse protette. Ruotare questi tasti regolarmente.

Task di sicurezza iniziali

Utilizzare questa lista di controllo per identificare i task eseguiti per proteggere lo storage degli oggetti in una nuova tenancy di Oracle Cloud Infrastructure.

Attività Ulteriori informazioni
Utilizzare i criteri IAM per concedere l'accesso a utenti e risorse Criteri IAM
Cifra le risorse utilizzando una chiave personalizzata Cifratura dati
Accesso di rete sicuro alle risorse Sicurezza della rete
Abilita e configura Cloud Guard (facoltativo) Cloud Guard
Creare una zona di sicurezza (facoltativo) Zone di sicurezza

Task di sicurezza di routine

Dopo aver iniziato a utilizzare lo storage degli oggetti, utilizza questa lista di controllo per identificare i task di sicurezza che ti consigliamo di eseguire regolarmente.

Attività Ulteriori informazioni
Ruota chiavi di cifratura Cifratura dati
Rispondi ai problemi rilevati in Cloud Guard Cloud Guard
Esegui backup regolari Durabilità dei dati
Garantisci l'integrità dei tuoi dati quando vengono spostati o copiati in posizioni diverse Checksum nella sicurezza dei dati
Eseguire un controllo della sicurezza Audit

Criteri IAM

Utilizza i criteri per limitare l'accesso allo storage degli oggetti.

Una policy specifica chi può accedere alle risorse di Oracle Cloud Infrastructure e come. Per ulteriori informazioni, vedere Funzionamento dei criteri.

Assegnare a un gruppo i privilegi minimi necessari per eseguire le proprie responsabilità. Ogni criterio ha un verbo che descrive le azioni che il gruppo può eseguire. Dal minor numero di accessi al massimo, i verbi disponibili sono: inspect, read, use e manage.

Assegnare l'accesso con privilegi minimi ai tipi di risorsa in object-family (bucket e oggetti). Ad esempio, il verbo inspect consente di controllare se esiste un bucket (HeadBucket) ed elencare i bucket in un compartimento (ListBucket). Il verbo manage concede tutte le autorizzazioni per la risorsa.

Si consiglia di concedere le autorizzazioni DELETE a un set minimo di utenti e gruppi IAM. Questa pratica riduce al minimo la perdita di dati da eliminazioni involontarie da parte di utenti autorizzati o da attori malintenzionati. Assegnare solo le autorizzazioni DELETE agli amministratori della tenancy e del compartimento.

Negli esempi riportati di seguito, i criteri vengono applicati a una tenancy. Tuttavia, la specifica del nome di un compartimento riduce l'ambito a un compartimento specifico in una tenancy.

Consenti accesso utente a una cartella specifica

È possibile consentire l'accesso a qualsiasi utente a una cartella specifica in un bucket utilizzando una combinazione di nome bucket specifico (target.bucket.name) e pattern di oggetti specifico (target.object.name). È possibile utilizzare un asterisco ("*") come carattere jolly per trovare una corrispondenza con qualsiasi sequenza di caratteri stringa (/*name/, /name*/,/*name*/). La limitazione dell'accesso a una cartella in base al pattern di oggetti non impedisce di elencare tutti gli oggetti nel bucket contenente.

ALLOW any-user TO manage objects IN TENANCY where all {target.bucket.name = 'test-bucket', target.object.name = 'prod/*', request.user.id='ocid1.user.oc1..exampleuniqueID'}
Limita accesso gruppo a bucket specifici

È possibile limitare l'accesso di un gruppo a un bucket specifico utilizzando il nome del bucket specifico (target.bucket.name), le tag definite (target.tag.definition.name) oppure è possibile utilizzare l'asterisco come carattere jolly per trovare una corrispondenza con qualsiasi sequenza di caratteri stringa (/*name/, /name*/, /*name*/).

Il seguente esempio di limitazione dell'accesso agli utenti nel gruppo BucketUsers a un bucket specifico.

Allow group BucketUsers to use buckets in tenancy
 where target.bucket.name='BucketFoo'

È possibile modificare questo criterio per limitare l'accesso agli utenti del gruppo BucketUsers a tutti i bucket i cui nomi hanno il prefisso ProjectA_.

Allow group BucketUsers to use buckets in tenancy
 where target.bucket.name=/ProjectA_*/

È inoltre possibile trovare una corrispondenza per post-correzione (/*_ProjectA/) o sottostringa (/*ProjectA*/).

Limita accesso gruppo a lettura o scrittura su oggetti in un bucket specifico

L'esempio riportato di seguito consente di elencare e leggere gli oggetti in base al gruppo BucketUsers da un bucket specifico denominato BucketFoo.

Allow group BucketUsers to read buckets in tenancy
Allow group BucketUsers to manage objects in tenancy
 where all {target.bucket.name='BucketFoo', 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_READ'}}

Il criterio riportato di seguito modifica il criterio precedente per consentire l'elencazione e la scrittura di oggetti in BucketFoo.

Allow group BucketUsers to read buckets in tenancy 
Allow group BucketUsers to manage objects in tenancy
 where all {target.bucket.name='BucketFoo', 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_CREATE'}}

È possibile limitare questo criterio all'accesso in lettura o scrittura a un set di bucket utilizzando espressioni o tag regolari anziché un bucket specifico.

Limita accesso gruppo a lettura o scrittura su oggetti in base a tag bucket

L'esempio riportato di seguito consente di elencare e leggere gli oggetti in base al gruppo BucketUsers da tutti i bucket con il tag definito "MyTagNamespace.TagKey = MyTagValue".

Allow group BucketUsers to read buckets in tenancy
Allow group BucketUsers to manage objects in tenancy
 where all {target.bucket.tag.MyTagNamespace.TagKey='MyTagValue', 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_READ'}}

Il criterio seguente modifica il criterio precedente per consentire l'elencazione e la scrittura di oggetti in tutti i bucket in cui la tag definita nel bucket corrisponde alla tag definita nel gruppo a cui appartiene l'utente.

Allow group BucketUsers to read buckets in tenancy 
Allow group BucketUsers to manage objects in tenancy
 where all {request.principal.group.tag.MyTagNamespace.TagKey=target.bucket.tag.MyTagNamespace.TagKey, 
            any {request.permission='OBJECT_INSPECT', 
                 request.permission='OBJECT_CREATE'}}
Limita accesso risorsa a un utente specifico

Puoi limitare l'accesso alle risorse di storage degli oggetti a un utente specifico aggiungendo una condizione al criterio che specifica l'OCID dell'utente in una variabile.

Il criterio riportato di seguito limita l'accesso alle risorse nel compartimento ObjectStorage all'OCID utente specificato:

Allow any-user to read object-family in compartment ObjectStorage where request.user.id ='ocid1.user.oc1..<user_OCID>'
Limita accesso a richieste originate da un indirizzo IP consentito

È possibile limitare l'accesso solo alle richieste che provengono da un indirizzo IP consentito. In primo luogo, creare un'origine di rete per specificare gli indirizzi IP consentiti, quindi aggiungere una condizione al criterio per limitare l'accesso agli indirizzi IP nell'origine di rete.

Il criterio riportato di seguito limita l'accesso solo agli indirizzi IP di un'origine di rete corpnet che definisce gli indirizzi IP consentiti:

Allow group CorporateUsers to manage object-family in tenancy where request.networkSource.name='corpnet'

Per informazioni sulla creazione di origini di rete e sull'utilizzo di tali origini in un criterio, vedere Gestione delle origini di rete.

Impedisci eliminazione di bucket o oggetti

Nell'esempio riportato di seguito, il gruppo BucketUsers può eseguire tutte le azioni su bucket e oggetti ad eccezione dell'eliminazione.

Allow group BucketUsers to manage objects in tenancy
 where request.permission!='OBJECT_DELETE' 
Allow group BucketUsers to manage buckets in tenancy
 where request.permission!='BUCKET_DELETE'

L'esempio seguente limita ulteriormente l'eliminazione degli oggetti dal bucket specifico (BucketFoo).

Allow group BucketUsers to manage objects in tenancy
  where any {target.bucket.name!='BucketFoo', 
             all {target.bucket.name='BucketFoo',
                  request.permission!='OBJECT_DELETE'}}
Abilita conformità WORM per oggetti

Utilizza le regole di conservazione per ottenere la conformità WORM. Le regole di conservazione vengono configurate a livello di bucket e vengono applicate a tutti i singoli oggetti nel bucket. Non è possibile aggiornare, sovrascrivere o eliminare oggetti o metadati degli oggetti finché la regola di conservazione non viene eliminata (regola indefinita) o per la durata specificata (regole con limite di tempo).

I criteri riportati di seguito consentono a BucketUsers di gestire i bucket e gli oggetti nella tenancy e consentono a BucketUsers di creare, gestire ed eliminare le regole di conservazione. Questi criteri consentono inoltre a BucketUsers di bloccare le regole di ritentazione per un periodo di tempo specificato.

Allow group BucketUsers to manage buckets in tenancy
Allow group BucketUsers to manage objects in tenancy

I criteri più restrittivi riportati di seguito consentono a BucketUsers di eseguire tutte le azioni su bucket e oggetti, ad eccezione del blocco delle regole di conservazione.

Allow group BucketUsers to manage buckets in tenancy
 where request.permission!='RETENTION_RULE_LOCK'
Allow group BucketUsers to manage objects in tenancy
Impedisci configurazione bucket pubblici

Le autorizzazioni BUCKET_CREATE e BUCKET_UDPATE sono necessarie per creare bucket o rendere pubblici i bucket privati esistenti. La rimozione di queste autorizzazioni impedisce agli utenti di creare bucket o rendere pubblici i bucket esistenti.

Allow group BucketUsers to manage buckets in tenancy
 where any {request.permission='BUCKET_INSPECT', 
            request.permission='BUCKET_READ', 
            request.permission='PAR_MANAGE'}

Per ulteriori informazioni sui criteri di storage degli oggetti e per visualizzare altri esempi, consulta la sezione relativa ai dettagli di storage degli oggetti, storage di archivio e trasferimento dati.

Controllo dell'accesso

Oltre a creare criteri IAM, blocca l'accesso allo storage degli oggetti utilizzando funzioni quali le richieste preautenticate.

Bucket pubblici

Un bucket pubblico consente letture non autenticate e anonime a tutti gli oggetti nel bucket. Valutare attentamente lo use case previsto per i bucket pubblici prima di abilitare i bucket pubblici.

Si consiglia di utilizzare le richieste preautenticate per concedere l'accesso al bucket o agli oggetti agli utenti senza le credenziali IAM. Per impostazione predefinita, i bucket vengono creati senza accesso pubblico (il tipo di accesso è impostato su NoPublicAccess).

È possibile rendere pubblici i bucket esistenti aggiornando il tipo di accesso al bucket in ObjectRead o ObjectReadWithoutList. Per ridurre al minimo la possibilità che i bucket esistenti vengano resi pubblici inavvertitamente o in modo dannoso, limitare l'autorizzazione BUCKET_UPDATE a un set minimo di gruppi IAM.

Il comando CLI seguente restituisce il file public-access-type assegnato a un bucket.

oci os bucket get -ns <your_namespace> --bucket-name <bucket_name> | grep "public-access-type"

Se l'attributo public-access-type ha il valore NoPublicAccess, il bucket è privato. Qualsiasi altro valore, ad esempio ObjectRead, indica un bucket pubblico.

Richieste preautenticate

Per gli utenti senza credenziali IAM, si consiglia di utilizzare le richieste preautenticate (PAR, Pre-authenticated Request) per concedere l'accesso limitato nel tempo a oggetti o bucket.

In una richiesta preautenticata, un utente IAM che dispone dei privilegi appropriati per accedere agli oggetti può creare URL speciali che concedono l'accesso limitato nel tempo a questi oggetti. Per ulteriori informazioni, vedere Utilizzo delle richieste preautenticate.

Il creatore di una richiesta preautenticata deve disporre dell'autorizzazione PAR_MANAGE e delle autorizzazioni IAM appropriate per il tipo di accesso che si sta concedendo. È possibile creare una richiesta preautenticata che concede l'accesso in lettura, scrittura o lettura/scrittura a uno dei seguenti elementi:

  • Tutti gli oggetti nel bucket.
  • Oggetto specifico nel bucket.
  • Tutti gli oggetti nel bucket con un prefisso specificato.

Per le richieste che si applicano a più oggetti, è inoltre possibile decidere se consentire agli utenti di elencare tali oggetti.

Gli accessi alle richieste preautenticate a un bucket vengono collegati ai log di audit. Gli accessi di richiesta preautenticati a un oggetto vengono registrati nei log del servizio.

Importante

L'URL univoco fornito dal sistema quando si crea una richiesta preautenticata è l'unico modo in cui un utente può accedere alla destinazione della richiesta. Copiare l'URL nello storage permanente. L'URL viene visualizzato solo al momento della creazione, non viene memorizzato nello storage degli oggetti e non può essere recuperato in un secondo momento.

Il comando CLI riportato di seguito restituisce una lista di richieste PAR oggetto in un bucket.

oci os preauth-request list -ns <your_namespace> -bn <bucket_name>
                    

Cloud Guard

Abilita Cloud Guard e usalo per rilevare e rispondere ai problemi di sicurezza nello storage degli oggetti.

Quando rileva un problema, Cloud Guard suggerisce azioni correttive. Inoltre, puoi configurare Cloud Guard in modo che esegua automaticamente determinate azioni. Cloud Guard include le regole del rilevatore riportate di seguito per lo storage degli oggetti.

  • Il bucket è pubblico
  • Il bucket di storage degli oggetti è cifrato con una chiave gestita da Oracle
  • Chiavi cliente IAM create

Per una lista di tutte le regole del rilevatore disponibili in Cloud Guard, vedere Riferimento ricetta rilevatore.

Se non lo hai già fatto, abilita Cloud Guard e configuralo per monitorare i compartimenti che contengono le tue risorse. Puoi configurare le destinazioni Cloud Guard per esaminare l'intera tenancy (compartimento radice e tutti i compartimenti secondari) o per controllare solo compartimenti specifici. Vedere Introduzione a Cloud Guard.

Dopo aver abilitato Cloud Guard, puoi visualizzare e risolvere i problemi di sicurezza rilevati. Vedere Elaborazione dei problemi segnalati.

Zone di sicurezza

L'utilizzo di Security Zones garantisce che le risorse nello storage degli oggetti siano conformi alle best practice di sicurezza.

Una zona di sicurezza è associata a uno o più compartimenti e a una ricetta della zona di sicurezza. Quando crei e aggiorni le risorse nel compartimento di una zona di sicurezza, Oracle Cloud Infrastructure convalida queste operazioni rispetto alla lista dei criteri della zona di sicurezza nella ricetta. Se un criterio nella ricetta viene violato, l'operazione viene negata. I criteri della zona di sicurezza riportati di seguito sono disponibili per le risorse nello storage degli oggetti.

  • deny public_buckets
  • deny buckets_without_vault_key

Per una lista di tutti i criteri delle zone di sicurezza, vedere Criteri delle zone di sicurezza.

Per spostare le risorse esistenti in un compartimento che si trova in una zona di sicurezza, le risorse devono essere conformi a tutti i criteri della zona di sicurezza nella ricetta della zona. Allo stesso modo, le risorse in una zona di sicurezza non possono essere spostate in un compartimento esterno alla zona di sicurezza perché potrebbero essere meno sicure. Vedere Gestione delle zone di sicurezza.

Cifratura dati

Crea e ruota le chiavi di cifratura nel servizio Vault per proteggere le risorse nello storage degli oggetti.

Tutti i dati nello storage degli oggetti vengono cifrati al momento dell'archiviazione mediante AES-256. La cifratura è attiva per impostazione predefinita e non può essere disattivata. Ogni oggetto viene cifrato con la relativa chiave di cifratura e le chiavi di cifratura degli oggetti vengono cifrate con una chiave di cifratura master.

Un vault è un'entità logica che memorizza le chiavi di cifratura utilizzate per proteggere i dati. A seconda della modalità di protezione, le chiavi vengono memorizzate sul server o su moduli di sicurezza hardware (HSM) ad alta disponibilità e durata. I nostri HSM soddisfano la certificazione di sicurezza FIPS (Federal Information Processing Standards) 140-2 Security Level 3. Vedere Gestione dei vault e Gestione delle chiavi.

Sebbene le chiavi di cifratura predefinite possano essere generate automaticamente quando si creano determinate risorse di Oracle Cloud Infrastructure, si consiglia di creare e gestire le proprie chiavi di cifratura personalizzate nel servizio Vault.

Per assegnare una chiave di cifratura personalizzata a un nuovo bucket o a un bucket esistente, vedere:

A ogni chiave di cifratura master viene assegnata automaticamente una versione della chiave. Quando si ruota una chiave, il servizio Vault genera una nuova versione della chiave. La rotazione periodica delle chiavi limita la quantità di dati cifrati o firmati da una versione della chiave. Se una chiave è sempre inclusa, la rotazione delle chiavi riduce il rischio per i tuoi dati. Vedere Gestione delle chiavi.

Si consiglia di utilizzare i criteri IAM per limitare in modo rigoroso la creazione, la rotazione e l'eliminazione delle chiavi di cifratura. Vedere Dettagli per il servizio Vault.

Puoi anche utilizzare la cifratura lato client per cifrare gli oggetti con le relative chiavi di cifratura prima di memorizzarli nei bucket di storage degli oggetti. Un'opzione disponibile per i clienti è quella di utilizzare l'API di compatibilità Amazon S3, insieme al supporto di crittografia degli oggetti lato client disponibile nell'SDK AWS per Java. Per ulteriori informazioni su questo SDK, vedere API di compatibilità Amazon S3.

Durabilità dei dati

Esegui backup periodici dei tuoi dati nello storage degli oggetti.

Ridurre al minimo la perdita di dati a causa di eliminazioni involontarie da parte di un utente autorizzato o eliminazioni dannose. Consigliamo quanto segue:
  • Utilizzare il controllo delle versioni dell'oggetto per creare automaticamente una versione dell'oggetto a ogni caricamento di un nuovo oggetto, a ogni sovrascrittura o eliminazione di un oggetto.
  • Assegnare le autorizzazioni BUCKET_DELETE e OBJECT_DELETE a un set minimo di utenti e gruppi IAM. Concedere le autorizzazioni di eliminazione solo agli amministratori della tenancy e del compartimento.

La conformità WORM (Write Once, Read Many) richiede che gli oggetti non possano essere eliminati o modificati. Utilizza le regole di conservazione per ottenere la conformità WORM. Le regole di conservazione vengono configurate a livello di bucket e vengono applicate a tutti i singoli oggetti nel bucket. Non è possibile aggiornare, sovrascrivere o eliminare oggetti o metadati degli oggetti finché la regola di conservazione non viene eliminata (regola indefinita) o per la durata specificata (regole con limite di tempo).

Per una valutazione indipendente della capacità della funzione delle regole di conservazione dello storage degli oggetti di soddisfare i requisiti normativi per la gestione e la conservazione dei record, consulta la valutazione di conformità SEC 17a-4(f), FINRA 4511(c), CFTC 1.31(c)-(d) e MiFID II di Cohasset Associate.

Checksum nella sicurezza dei dati

Per verificare l'integrità dei dati degli oggetti, viene fornito un checksum MD5 per tutti gli oggetti caricati nello storage degli oggetti. Inoltre, puoi applicare uno dei checksum facoltativi riportati di seguito agli oggetti caricati nello storage degli oggetti.

  • SHA256

  • SHA384

  • CRC32C

Utilizzo del checksum MD5

Si consiglia di verificare che il checksum MD5 non in linea di un oggetto corrisponda al valore di checksum restituito dalla console o dall'API dopo il caricamento. Oracle Cloud Infrastructure fornisce il valore di checksum dell'oggetto nella codifica base64. Per nascondere il valore di checksum con codifica base64 in esadecimale, utilizzare il comando seguente:

python -c 'print "BASE64-ENCODED-MD5-VALUE".decode("base64").encode("hex")'

Linux fornisce una utility della riga di comando md5sum per calcolare il valore di checksum MD5 di un oggetto in formato esadecimale.

Utilizzo del checksum MD5 con caricamenti multiparte

Lo storage degli oggetti supporta carichi multiparte per caricamenti più efficienti e resilienti, in particolare per oggetti di grandi dimensioni. In un caricamento multiparte, un oggetto di grandi dimensioni viene suddiviso in parti più piccole specificando una dimensione parte in MiB. Ogni parte viene caricata separatamente. Lo storage degli oggetti combina quindi tutte le parti per creare l'oggetto originale. Se una qualsiasi delle parti non viene caricata, è necessario ripetere il caricamento solo di tali parti e non dell'intero oggetto.

In un caricamento multiparte, i valori di checksum MD5 vengono calcolati per ogni parte e un checksum MD5 viene calcolato su tutti i singoli valori di checksum per ottenere il valore di output MD5. Per verificare il valore MD5 restituito per un caricamento multiparte, seguire lo stesso processo per il calcolo del checksum MD5 non in linea. Uno script di esempio per il calcolo non in linea di un valore di checksum MD5 per un caricamento multiparte nello storage degli oggetti è disponibile qui: https://gist.github.com/itemir/f5bc9fded6483cd79c89ebf4ca1cfd30.

Utilizzo del checksum SHA256 o SHA384

Alcuni settori hanno requisiti normativi per utilizzare un metodo di checksum che è considerato più forte di MD5. Tali requisiti spesso richiedono esplicitamente SHA256 o SHA384. È possibile selezionare l'algoritmo richiesto dal relativo regime di conformità. Tenere presente che la presenza di MD5 non è considerata non sicura o non conforme. L'aggiunta di un altro metodo di checksum fornisce un ulteriore controllo di integrità. Si prevede che l'aggiunta di uno dei tipi di checksum SHA contribuirà a soddisfare questi requisiti.

Di seguito sono riportati alcuni esempi di utilizzo dei checksum SHA256 o SHA384.
~ echo "Test" | openssl dgst -sha256 -binary | base64
ydBMlWX8ZlyAaB+x2CmTgCaHH2bhT1AeCFMd9mk4p4k=
~ echo "Test" | openssl dgst -sha384 -binary | base64
B6T9J1V45Pkr3wb9V8ioT3u/WNk2zCkY4lAKZ3wYXfDUe2ImwIpVK8O42uUOANY2

Utilizzo del checksum CRC32C

Potresti voler confrontare il checksum calcolato su un sistema di storage locale con quelli calcolati dallo storage degli oggetti. Questo è difficile da fare con i caricamenti multiparte, perché il checksum calcolato dipende dalla dimensione esatta di ogni parte, che potrebbe essere diversa da sistemi diversi (o con impostazioni di caricamento diverse).

Il tipo di checksum CRC32C è progettato per restituire lo stesso checksum per lo stesso oggetto indipendentemente dalla modalità di caricamento. Ciò consente ai clienti di confrontare il checksum CRC32C calcolato dallo storage degli oggetti con il checksum CRC32C calcolato dallo storage locale o da altri cloud, indipendentemente dalle impostazioni di caricamento multiparte.

Utilizzo di tipi di checksum aggiuntivi

È possibile utilizzare un solo tipo di checksum aggiuntivo per ogni oggetto caricato. I checksum MD5 vengono sempre calcolati su ogni oggetto. Quando si utilizza un tipo di checksum aggiuntivo, il completamento dei comandi GET e PUT potrebbe richiedere una latenza leggermente più lunga rispetto a un GET o PUT sullo stesso oggetto senza il tipo di checksum aggiuntivo.

Sicurezza della rete

Proteggi l'accesso di rete alle tue risorse nello storage degli oggetti.

I dati in transito tra i client dei clienti (ad esempio, SDK e CLI) e gli endpoint pubblici dello storage degli oggetti vengono cifrati con TLS 1.2 per impostazione predefinita. Il peering pubblico FastConnect consente l'accesso on premise allo storage degli oggetti tramite una rete privata anziché la rete Internet pubblica. Vedere Accesso alla rete in locale.

Audit

Individua i log di accesso e altri dati di sicurezza per lo storage degli oggetti.

Il servizio di audit registra automaticamente tutte le chiamate API alle risorse Oracle Cloud Infrastructure. È possibile raggiungere gli obiettivi di sicurezza e conformità utilizzando il servizio di audit per monitorare tutte le attività utente all'interno della tenancy. Poiché tutte le chiamate alla console, all'SDK e alla riga di comando (CLI) passano attraverso le nostre API, viene inclusa tutta l'attività da tali origini. I record di audit sono disponibili tramite un'interfaccia API di query autenticata e filtrabile oppure possono essere recuperati come file in batch dallo storage degli oggetti. I contenuti del log di audit includono l'attività che si è verificata, l'utente che l'ha avviata, la data e l'ora della richiesta, nonché l'IP di origine, l'user agent e le intestazioni HTTP della richiesta. Vedere Visualizzazione degli eventi del log di audit.

Esempio di log di controllo
{
  "datetime": 1642104527377,
  "logContent": {
    "data": {
      "additionalDetails": {
        "namespace": "mytenancy"
      },
      "availabilityDomain": "PHX-AD-1",
      "compartmentId": "ocid1.compartment.oc1..<unique_id>",
      "compartmentName": "mycompartment",
      "definedTags": null,
      "eventGroupingId": "<unique_id>",
      "eventName": "ListBuckets",
      "freeformTags": null,
      "identity": {
        "authType": null,
        "callerId": null,
        "callerName": null,
        "consoleSessionId": null,
        "credentials": "<key>",
        "ipAddress": "<ip_address>",
        "principalId": "<user_id>",
        "principalName": "<user_name>",
        "tenantId": "ocid1.tenancy.oc1..<unique_id>",
        "userAgent": "Oracle-JavaSDK/1.37.1 (Linux/4.14.35-2047.509.2.2.el7uek.x86_64; Java/1.8.0_301; Java HotSpot(TM) 64-Bit Server VM GraalVM EE 20.3.3/25.301-b09-jvmci-20.3-b18)"
      },
      "message": "List of buckets retrieved.",
      "request": {
        "action": "GET",
        "headers": {
          "Accept": [
            "application/json"
          ],
          "Connection": [
            "keep-alive"
          ],
          "User-Agent": [
            "Oracle-JavaSDK/1.37.1 (Linux/4.14.35-2047.509.2.2.el7uek.x86_64; Java/1.8.0_301; Java HotSpot(TM) 64-Bit Server VM GraalVM EE 20.3.3/25.301-b09-jvmci-20.3-b18)"
          ],
          "authorization": [
            "Signature headers=\"date (request-target) host\",keyId=\"<key>"
          ],
          "date": [
            "Thu, 13 Jan 2022 20:08:47 GMT"
          ],
          "opc-client-info": [
            "Oracle-JavaSDK/1.37.1"
          ],
          "opc-request-id": [
            "<unique_id>"
          ]
        },
        "id": "<unique_id>",
        "parameters": {
          "compartmentId": [
            "ocid1.compartment.oc1..<unique_id>"
          ],
          "fields": [
            "tags"
          ],
          "limit": [
            "1000"
          ],
          "param0": [
            "mytenancy"
          ]
        },
        "path": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags"
      },
      "resourceId": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags",
      "response": {
        "headers": {
          "Content-Length": [
            "2"
          ],
          "Content-Type": [
            "application/json"
          ],
          "access-control-allow-credentials": [
            "true"
          ],
          "access-control-allow-methods": [
            "POST,PUT,GET,HEAD,DELETE,OPTIONS"
          ],
          "access-control-allow-origin": [
            "*"
          ],
          "access-control-expose-headers": [
            "access-control-allow-credentials,access-control-allow-methods,access-control-allow-origin,content-length,content-type,date,opc-client-info,opc-request-id,x-api-id"
          ],
          "date": [
            "Thu, 13 Jan 2022 20:08:47 GMT"
          ],
          "opc-request-id": [
            "<unique_id>"
          ],
          "x-api-id": [
            "native"
          ]
        },
        "message": null,
        "payload": {
          "id": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags",
          "resourceName": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags"
        },
        "responseTime": "2022-01-13T20:08:47.377Z",
        "status": "200"
      },
      "stateChange": null
    },
    "dataschema": "2.0",
    "id": "<unique_id>",
    "oracle": {
      "compartmentid": "ocid1.compartment.oc1..<unique_id>",
      "ingestedtime": "2022-01-13T20:08:49.384Z",
      "loggroupid": "_Audit",
      "tenantid": "ocid1.tenancy.oc1..<unique_id>"
    },
    "source": "/n/mytenancy/b?compartmentId=ocid1.compartment.oc1..<unique_id>&limit=1000&fields=tags",
    "specversion": "1.0",
    "time": "2022-01-13T20:08:47.377Z",
    "type": "com.oraclecloud.objectstorage.listbuckets"
  }
}

Se Cloud Guard è stato abilitato nella tenancy, viene segnalato qualsiasi attività utente che costituisce un potenziale problema di sicurezza. Quando rileva un problema, Cloud Guard suggerisce azioni correttive. Inoltre, puoi configurare Cloud Guard in modo che esegua automaticamente determinate azioni. Vedere la Guida introduttiva a Cloud Guard e l'elaborazione dei problemi segnalati.