Storage di file con criteri Lustre

Utilizza il servizio Oracle Cloud Infrastructure Identity and Access Management (IAM) per creare criteri per lo storage di file con le risorse Lustre.

In questo argomento vengono descritti i dettagli per la scrittura di criteri per controllare l'accesso allo storage di file con il servizio Lustre. Per ulteriori informazioni, vedere Panoramica dei criteri IAM.

Panoramica della sintassi dei criteri

La sintassi generale di un'istruzione criterio è la seguente:

allow <subject> to <verb>
                    <resource-type> in <location> where <condition>
                

Ad esempio, è possibile specificare quanto riportato di seguito.

  • Gruppo o gruppo dinamico per nome o OCID come <subject> . In alternativa, è possibile utilizzare any-user per coprire tutti gli utenti nella tenancy.

  • inspect, read, use e manage come <verb> per concedere a <subject> l'accesso a una o più autorizzazioni.

    Come si passa da inspect > read > use > manage, il livello di accesso in genere aumenta e le autorizzazioni concesse sono cumulative. Ad esempio, use include read più la possibilità di eseguire l'aggiornamento.

  • Una famiglia di risorse come virtual-network-family per resource-type . In alternativa, è possibile specificare una singola risorsa in una famiglia come vcns e subnets.

  • Compartimento in base al nome o all'OCID come <location> . In alternativa, è possibile utilizzare tenancy per coprire l'intera tenancy.

Per ulteriori informazioni sulla creazione dei criteri, vedere Guida introduttiva ai criteri e Informazioni di riferimento sui criteri.

Tipi di risorsa

Per fornire agli utenti l'accesso allo storage di file con le risorse Lustre, creare criteri IAM con lo storage di file con i tipi di risorse Lustre.

Tipo di risorsa aggregato

  • lustre-file-family

Un criterio che utilizza <verb> lustre-file-family equivale a scriverne uno con un'istruzione <verb> <individual resource-type> separata per ciascuno dei singoli tipi di risorsa.

Per i dettagli delle operazioni API coperte da ciascun verbo, vedere le tabelle in Dettagli per verbi + combinazioni di tipi di risorsa per ogni singolo tipo di risorsa incluso in lustre-file-family.

Risorse singole - Tipi

Per accedere allo storage di file con risorse Lustre, utilizzare ciascuno dei seguenti tipi di risorse:

  • lustre-file-system
  • lfs-work-request

Per ulteriori informazioni, vedere Esempi di criteri.

Variabili supportate

Il servizio Storage di file con Lustre supporta tutte le variabili generali, oltre a quelle elencate qui.

Per ulteriori informazioni sulle variabili generali supportate dai servizi OCI, vedere Variabili generali per tutte le richieste.

VariabileTipo di variabileOrigine
target.lustre-file-system.id Entità (OCID)Richiedi

Dettagli per combinazioni di verbi + tipo di risorsa

Per creare un criterio è possibile utilizzare vari verbi e tipi di risorse di Oracle Cloud Infrastructure.

Le tabelle seguenti mostrano le operazioni autorizzazioni e API coperte da ciascun verbo per lo storage di file con Lustre. Il livello di accesso è cumulativo quando si passa da inspect a read a use a manage. Un segno più (+) in una cella di tabella indica l'accesso incrementale rispetto alla cella che la precede direttamente, mentre "no extra" indica l'assenza di accesso incrementale.

sistema-file-lustre
VerbsAutorizzazioniAPI completamente coperteAPI parzialmente coperte
ispezionare

LUSTRE_FILE_SYSTEM_INSPECT

ListLustreFileSystems

nessuno

leggi

ISPEZIONA +

LUSTRE_FILE_SYSTEM_READ

ISPEZIONA +

GetLustreFileSystem

nessuno

usa

LEGGI +

LUSTRE_FILE_SYSTEM_UPDATE

LEGGI +

UpdateLustreFileSystem

nessuno

gestisci

USE +

LUSTRE_FILE_SYSTEM_CREATE

LUSTRE_FILE_SYSTEM_DELETE

LUSTRE_FILE_SYSTEM_MOVE

USE +

CreateLustreFileSystem

DeleteLustreFileSystem

ChangeLustreFileSystemCompartment

nessuno

richiesta di lavoro lfs
VerbsAutorizzazioniAPI completamente coperteAPI parzialmente coperte
ispezionare

LFS_WORK_REQUEST_INSPECT

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

nessuno

leggi

ISPEZIONA +

LFS_WORK_REQUEST_READ

ISPEZIONA +

GetWorkRequest

nessuno

usa

LEGGI +

nessuno

LEGGI +

nessuno

nessuno

gestisci

USE +

LFS_WORK_REQUEST_DELETE

USE +

CancelWorkRequest

nessuno

Autorizzazioni necessarie per ogni operazione API

Nella tabella seguente sono elencate le operazioni API per il database OCI con PostgreSQL in un ordine logico, raggruppate per tipo di risorsa.

I tipi di risorsa sono lustre-file-system e lfs-work-request.

Per informazioni sulle autorizzazioni, vedere Autorizzazioni.

Autorizzazioni richieste
Operazione APIAutorizzazioni necessarie per utilizzare l'operazione
ListLustreFileSystems LUSTRE_FILE_SYSTEM_INSPECT
GetLustreFileSystem LUSTRE_FILE_SYSTEM_READ
CreateLustreFileSystem LUSTRE_FILE_SYSTEM_CREATE
UpdateLustreFileSystem LUSTRE_FILE_SYSTEM_UPDATE
DeleteLustreFileSystem LUSTRE_FILE_SYSTEM_DELETE
ChangeLustreFileSystemCompartment LUSTRE_FILE_SYSTEM_MOVE
ListObjectStorageLinks LFS_OBJECT_STORAGE_LINK_INSPECT
GetObjectStorageLink LFS_OBJECT_STORAGE_LINK_READ
CreateObjectStorageLink LFS_OBJECT_STORAGE_LINK_CREATE
DeleteObjectStorageLink LFS_OBJECT_STORAGE_LINK_DELETE
ChangeObjectStorageLinkCompartment LFS_OBJECT_STORAGE_LINK_MOVE
ListSyncJobs LFS_OBJECT_STORAGE_LINK_INSPECT
GetSyncJob LFS_OBJECT_STORAGE_LINK_READ
StartExportToObject LFS_EXPORT_TO_OBJECT
StartImportFromObject LFS_IMPORT_FROM_OBJECT
StopExportToObject LFS_EXPORT_TO_OBJECT
StopImportFromObject LFS_IMPORT_FROM_OBJECT
ListWorkRequests LFS_WORK_REQUEST_INSPECT
GetWorkRequest LFS_WORK_REQUEST_READ
CancelWorkRequest LFS_WORK_REQUEST_DELETE
ListWorkRequestErrors LFS_WORK_REQUEST_INSPECT
ListWorkRequestLogs LFS_WORK_REQUEST_INSPECT

Criteri per la sincronizzazione bidirezionale tra lo storage degli oggetti e Lustre

Prima che un file system Lustre possa sincronizzare i dati con lo storage degli oggetti, è necessario concedere autorizzazioni specifiche. A tale scopo, creare criteri IAM (Identity and Access Management) che consentano al file system Lustre di leggere e gestire gli oggetti all'interno dei bucket di storage degli oggetti.

Nota

Dopo aver creato o aggiornato i criteri IAM, attendere 10 minuti prima di avviare un job di sincronizzazione per assicurarsi che le modifiche dei criteri siano state propagate completamente in Oracle Cloud Infrastructure.
L'utente che configura la sincronizzazione necessita delle seguenti autorizzazioni:
  • Visualizzare i bucket di storage degli oggetti (per la selezione).
  • Crea, aggiorna e gestisce i collegamenti allo storage degli oggetti.
  • Possibilità di avviare e arrestare i processi nel file system Lustre.
Il file system Lustre richiede le seguenti autorizzazioni:
  • Leggere e gestire gli oggetti nel bucket di storage degli oggetti specificato (per la sincronizzazione dei dati).

Il bucket di storage degli oggetti non richiede autorizzazioni esplicite. Invece, puoi controllare l'accesso al bucket concedendo alla risorsa Lustre l'autorizzazione a leggere e gestire gli oggetti.

Di seguito viene descritto come assegnare le autorizzazioni.
  • Opzione 1: assegnare le autorizzazioni utilizzando un gruppo dinamico: creare gruppi dinamici per raggruppare le risorse, ad esempio i file system Lustre, e assegnare loro collettivamente criteri. Abbiamo fornito alcuni esempi.
  • Opzione 2: Controllare l'accesso ai file system Lustre (nessun gruppo dinamico): se non si desidera impostare un gruppo dinamico, è comunque possibile controllare l'accesso ai file system Lustre utilizzando le condizioni del tipo di risorsa, con o senza tag. Abbiamo fornito alcuni esempi.
Suggerimento

Se il bucket di storage degli oggetti si trova in un compartimento nidificato, nel criterio specificare il percorso completo del compartimento (ad esempio, my-tenancy.subcompartmentA.subcompartmentB) o utilizzare l'OCID del compartimento.

Esempi di criteri

Utilizzare gli esempi seguenti per creare criteri comuni in aggiunta a quelli obbligatori per i file system e quelli obbligatori se si utilizza la chiave per la cifratura dei file system.

Consenti a un gruppo di utilizzare ma non eliminare i file system

allow group lfsadminusers to use lustre-file-family in compartment <file_system_compartment>
                        

Criteri di sincronizzazione bidirezionale dello storage degli oggetti mediante gruppi dinamici

Per definire un gruppo dinamico che includa tutti i file system Lustre, utilizzare:
resource.type='lustrefilesystem'

Per estendere la definizione del gruppo dinamico a solo un compartimento Lustre specifico, utilizzare:

All {resource.type = 'lustrefilesystem', resource.compartment.id = '<comp_ocid>'}

Per concedere al gruppo dinamico l'accesso a qualsiasi bucket di storage degli oggetti in una tenancy, utilizzare:

allow dynamic-group lustre-fs-group to read buckets in tenancy
allow dynamic-group lustre-fs-group to manage objects in tenancy

Per concedere al gruppo dinamico l'accesso a un singolo compartimento Lustre in una tenancy, utilizzare quanto riportato di seguito.

allow dynamic-group lustre-fs-group to read buckets in compartment <comp id or name e.g. cell:compute-data>
allow dynamic-group lustre-fs-group to manage objects in compartment <comp id or name e.g. cell:compute-data>

Criteri di sincronizzazione bidirezionale dello storage degli oggetti senza utilizzare i gruppi dinamici

Per consentire a qualsiasi file system Lustre in un compartimento di leggere i bucket di storage degli oggetti e gestirne il contenuto, utilizzare:
allow any-user to read buckets in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem'}
allow any-user to manage objects in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem'}
Nota

Non rimuovere la condizione request.principal.type = 'lustrefilesystem'. Limita l'accesso solo alle risorse del file system Lustre, non agli utenti o ad altri servizi.
Per limitare le autorizzazioni solo i bucket dello storage degli oggetti che dispongono di un tag specifico, combinare un tipo di principal con una tag, ad esempio:
allow any-user to read buckets in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem' , target.bucket.tag.<tag-namespace>.<tag-key> = <"tag-value">}
allow any-user to manage objects in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem' , target.bucket.tag.<tag-namespace>.<tag-key> = <"tag-value">}