Configura impostazioni

In questo argomento viene descritto come configurare la tenancy con le autorizzazioni IAM, i gruppi dinamici, il servizio OCI Object Storage e le istanze VM.

Imposta un bucket oggetto

Il bucket utilizzato per questa soluzione è un bucket oggetto semplice, creato in modalità Standard, in quanto supporta tutti i livelli: Standard, Non frequente e Archivio. Ciò consente agli oggetti di modificare il livello man mano che invecchiano, passando al livello di archivio con il costo più basso da conservare fino a quando non è trascorso il periodo di tempo specificato.

A questo bucket viene aggiunta una regola di conservazione che impedisce in modo efficace la modifica o l'eliminazione degli oggetti una volta creati. La regola non è bloccata finché non viene completato il test.

Inoltre, aggiungiamo le regole del ciclo di vita degli oggetti per modificare automaticamente il livello di storage di ogni oggetto in base ai requisiti. Una volta che l'oggetto è stato spostato al livello di archivio, non sarà più disponibile immediatamente, ma dovrà essere "revocato" prima di potervi accedere. Questa operazione può essere eseguita mediante una funzione OCI, uno script o un processo esterno che deve essere progettato.

Infine, una volta noti l'OCID e il nome del bucket, possiamo impostare autorizzazioni limitate per i gruppi dinamici che accederanno al bucket. Queste istruzioni dei criteri possono trarre vantaggio dai predicati dei criteri avanzati di OCI, ad esempio target.bucket.name.

Impostazione dei gruppi dinamici

È possibile che un gruppo dinamico esista già a livello di compartimento, se la tenancy è stata impostata utilizzando la zona di arrivo CIS. Questa sezione presuppone che non esista alcun gruppo dinamico.

Gruppi dinamici

Si consideri che set diversi di virtual machine OCI installeranno RCLONE o OCIFS e accederanno allo storage degli oggetti. Pertanto, possiamo definire gruppi dinamici in base a OCID di istanza specifici o OCIDS del compartimento, a seconda della posizione in cui vengono create le VM. Per questa soluzione sono stati creati i seguenti 2 gruppi dinamici:

Name: oci-rclone-full-dg

Matching Rule: 

ANY {instance.id = 'ocid1.xxx.yyy.zzz1', instance.id = 'ocid.xxx.yyy.zzzz2' }

or

instance.compartment.id = 'ocid1.compartment.yyy.zzz'
Name: oci-ocifs-readonly-dg

Matching Rule:

ANY {instance.id = 'ocid1.xxx.yyy.zzz3', instance.id = 'ocid.xxx.yyy.zzz4' } 
or
instance.compartment.id = 'ocid1.compartment.yyy.zzz

È possibile utilizzare i segnaposto per un OCID istanza se non è stato creato o se è possibile che venga modificato. La seconda opzione sopra consente di creare un numero illimitato di istanze nel compartimento di riferimento, senza preoccuparsi di aggiornare il gruppo dinamico. Tenere presente che se tutte le istanze utilizzate per la soluzione esistono nello stesso compartimento, è necessario definire i gruppi dinamici utilizzando gli OCID dell'istanza in modo che alle istanze di sola lettura non venga concesso anche l'accesso completo.

Imposta autorizzazioni

Si supponga di non disporre di autorizzazioni di storage degli oggetti specifiche per un compartimento o un bucket. Per iniziare, potremmo creare un criterio specifico o allegare le nostre dichiarazioni a un criterio esistente.

Ad esempio, se si utilizza la zona di destinazione CIS, è possibile che un criterio, ad esempio cislz-appdev-cmp-policy, venga aggiornato per aggiungere istruzioni di gruppo dinamico, come mostrato di seguito. Nel caso in cui si inizi da zero, l'esempio riportato di seguito utilizza un modello di criteri per definire l'accesso allo storage degli oggetti alle autorizzazioni dei gruppi dinamici e dei gruppi di utenti. Le istruzioni dei criteri possono essere aumentate con condizioni, se necessario ora o in seguito.
allow dynamic-group oci-rclone-full-dg to read buckets in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }
allow dynamic-group oci-rclone-full-dg to manage objects in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }
allow dynamic-group oci-ocifs-readonly-dg to read objects in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }

Ulteriori autorizzazioni possono essere aggiunte o rimosse in un secondo momento e nell'ambito dei test. Si consiglia di eseguire il test completo sia di RCLONE che di OCIFS per assicurarsi che le autorizzazioni concesse siano corrette.

Impostare un'istanza VM con RCLONE

La creazione delle virtual machine OCI non è prevista per questa soluzione, ma qualsiasi VM Linux di forma funzionerà. La connettività di base tramite gateway di servizi o NAT è necessaria, così come lo è l'uscita della VCN per la porta 443. Se gli endpoint privati dello storage degli oggetti sono in uso, i gateway e le regole di uscita non sono necessari.

In sostanza, la VM deve essere in grado di accedere allo storage degli oggetti OCI. L'altro importante requisito è che la VM venga creata all'interno del compartimento a cui si fa riferimento nel gruppo dinamico. Come affermato, la definizione del gruppo dinamico può essere modificata in un secondo momento in modo da includere solo l'OCID VM oppure può corrispondere alla definizione basata sul compartimento del gruppo dinamico. Una volta impostata e accessibile la VM, è possibile installare RCLONE. Seguire la documentazione generale di RCLONE, in particolare la sezione OCI Object Storage.

Per utilizzare l'impostazione del gruppo dinamico, il tipo di autenticazione è instance_principal_auth. Attenersi alla procedura descritta nel documento precedente e creare una serie di test. A seconda delle autorizzazioni concesse tramite il gruppo dinamico, è possibile eliminare facilmente un bucket con il comando rclone errato. Come descritto in precedenza, l'autorizzazione che questa soluzione inizia con limita il gruppo dinamico a "leggere i bucket" e "gestire gli oggetti". Non è possibile creare o eliminare un bucket, ma è possibile rimuoverne il contenuto. I documenti RCLONE forniscono alcuni esempi sicuri per i test, come l'elenco dei contenuti, l'inserimento di oggetti e la rimozione di un singolo oggetto.

Impostare un'istanza VM con OCIFS

Analogamente alla sezione precedente, la creazione della virtual machine non è nell'ambito. OCIFS verrà installato in modo simile su un set di VM.

Per ulteriori informazioni sull'uso dei principal delle istanze, che trarranno vantaggio dal gruppo dinamico e dai criteri aggiunti in precedenza, vedere la documentazione della utility OCIIFS.

Nell'ambito del test dei supporti, è possibile eseguire una delle operazioni riportate di seguito.
  • comandi di attivazione diretta ocifs
  • /etc/fstab voci
  • configurazione di automount
Per le attivazioni dei campi di installazione, il formato è il seguente:
archive-bucket /mnt/archive-bucket fuse.ocifs auth=instance_principal 0 0
Per utilizzare automount, lo stile richiesto per ogni voce è il seguente:
archive-bucket -fstype=fuse,allow_other,auth=instance_principal :ocifs\#archive-bucket