File Storage with Lustre-Policys
Mit dem Oracle Cloud Infrastructure Identity and Access Management-(IAM-)Service erstellen Sie Policys für File Storage with Lustre-Ressourcen.
In diesem Thema werden Details zum Schreiben von Policys beschrieben, die den Zugriff auf den File Storage with Lustre-Service kontrollieren. Weitere Informationen finden Sie unter Überblick über IAM-Policys.
Überblick über die Policy-Syntax
Die allgemeine Syntax einer Policy-Anweisung lautet:
allow <subject> to <verb>
<resource-type> in <location> where <condition>
Beispiel: Sie können Folgendes angeben:
Eine Gruppe oder dynamische Gruppe nach Name oder OCID als
<subject>. Sie können auchany-userverwenden, um alle Benutzer im Mandanten abzudecken.inspect,read,useundmanageals<verb>, um<subject>Zugriff auf Berechtigungen zu erteilen.Die Zugriffsebene erhöht sich im Allgemeinen in der Reihenfolge der Verben
inspect>read>use>manage, und die erteilten Berechtigungen sind kumulativ. Beispiel:useumfasstreadsowie die Möglichkeit zum Aktualisieren.Eine Ressourcenfamilie wie
virtual-network-familyalsresource-type. Sie können auch eine einzelne Ressource in einer Familie angeben, wievcnsundsubnets.Ein Compartment nach Name oder OCID als
<location>. Sie können auchtenancyverwenden, um den gesamten Mandanten abzudecken.
Weitere Informationen zum Erstellen von Policys finden Sie unter Erste Schritte mit Policys und in der Policy-Referenz.
Ressourcentypen
Um Benutzern Zugriff auf File Storage with Lustre-Ressourcen zu gewähren, erstellen Sie IAM-Policys mit File Storage with Lustre-Ressourcentypen.
Aggregierter Ressourcentyp
-
lustre-file-family
Eine Policy, die <verb> lustre-file-family verwendet, entspricht dem Schreiben einer solchen Policy mit einer separaten <verb> <individual resource-type>-Anweisung für die einzelnen individuellen Ressourcentypen.
Details zu den von jedem Verb abgedeckten API-Vorgängen für jeden Ressourcentyp in lustre-file-family finden sie in den Tabellen unter Details für Kombinationen von Verben + Ressourcentyp.
Individuelle Ressourcentypen
Für den Zugriff auf File Storage with Lustre-Ressourcen verwenden Sie die folgenden Ressourcentypen:
-
lustre-file-system -
lfs-work-request
Weitere Informationen finden Sie unter Policy-Beispiele.
Unterstützte Variablen
Der File Storage with Lustre-Service unterstützt alle allgemeinen Variablen sowie die hier aufgeführten Variablen.
Weitere Informationen zu allgemeinen Variablen, die von OCI-Services unterstützt werden, finden Sie unter Allgemeine Variablen für alle Anforderungen.
| Variable | Variablentyp | Quelle |
|---|---|---|
target.lustre-file-system.id | Entity (OCID) | Anforderung |
Details zu Kombinationen aus Verben und Ressourcentypen
Zum Erstellen einer Policy können verschiedene Oracle Cloud Infrastructure-Verben und -Ressourcentypen verwendet werden.
Die folgenden Tabellen zeigen die Berechtigungen und API-Vorgänge, die von jedem Verb für File Storage with Lustre abgedeckt werden. Die Zugriffsebene ist kumulativ von inspect zu read zu use zu manage. Ein Pluszeichen (+) in einer Tabellenzelle gibt einen inkrementellen Zugriff im Vergleich zur Zelle direkt davor an, während "Keine zusätzlichen" keinen inkrementellen Zugriff angibt.
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
|---|---|---|---|
| inspect | LUSTRE_FILE_SYSTEM_INSPECT | | none |
| read | INSPECT + LUSTRE_FILE_SYSTEM_READ | INSPECT +
| none |
| use | READ + LUSTRE_FILE_SYSTEM_UPDATE | READ +
| none |
| manage | USE + LUSTRE_FILE_SYSTEM_CREATE LUSTRE_FILE_SYSTEM_DELETE LUSTRE_FILE_SYSTEM_MOVE | USE + | none |
| Verbs | Permissions | APIs Fully Covered | APIs Partially Covered |
|---|---|---|---|
| inspect | LFS_WORK_REQUEST_INSPECT | ListWorkRequestLogs | none |
| read | INSPECT + LFS_WORK_REQUEST_READ | INSPECT + | none |
| use | READ + none | READ + none | none |
| manage | USE + LFS_WORK_REQUEST_DELETE | USE + | none |
Für jeden API-Vorgang erforderliche Berechtigungen
In dieser Tabelle werden die API-Vorgänge für OCI Database with PostgreSQL in einer logischen Reihenfolge nach Ressourcentyp gruppiert aufgeführt.
Die Ressourcentypen sind lustre-file-system und lfs-work-request.
Informationen zu Berechtigungen finden Sie unter Berechtigungen.
| API-Vorgang | Für den Vorgang erforderliche Berechtigungen |
|---|---|
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 |
ListAvailableMaintenanceScheduleStartTimes | LUSTRE_FILE_SYSTEM_READ |
ListAvailableOverrideMaintenanceStartTimes | LUSTRE_FILE_SYSTEM_READ |
OverrideMaintenance | LUSTRE_FILE_SYSTEM_UPDATE |
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 |
Policys für die bidirektionale Synchronisierung zwischen Object Storage und Lustre
Bevor ein Lustre-Dateisystem Daten mit Object Storage synchronisieren kann, müssen Sie ihm bestimmte Berechtigungen erteilen. Erstellen Sie dazu Identity and Access Management-(IAM-)Policys, mit denen das Lustre-Dateisystem Objekte in Object Storage-Buckets lesen und verwalten kann.
Warten Sie nach dem Erstellen oder Aktualisieren von IAM-Policys 10 Minuten, bevor Sie einen Synchronisierungsjob starten, um sicherzustellen, dass Policy-Änderungen in Oracle Cloud Infrastructure vollständig propagiert wurden.
- Objektspeicher-Buckets anzeigen (zur Auswahl).
- Object Storage-Links erstellen, aktualisieren und verwalten
- Fähigkeit, Jobs im Lustre-Dateisystem zu starten und zu stoppen.
- Objekte im angegebenen Objektspeicher-Bucket lesen und verwalten (für Datensynchronisierung).
Für den Objektspeicher-Bucket sind keine expliziten Berechtigungen erforderlich. Stattdessen kontrollieren Sie den Zugriff auf den Bucket, indem Sie der Lustre-Ressource die Berechtigung zum Lesen und Verwalten von Objekten erteilen.
- Option 1: Berechtigungen mit einer dynamischen Gruppe zuweisen: Erstellen Sie Dynamische Gruppen, um Ressourcen wie Lustre-Dateisysteme zu gruppieren, und weisen Sie ihnen gemeinsam Richtlinien zu. Wir haben einige Beispiele gegeben.
- Option 2: Zugriff auf Lustre-Dateisysteme kontrollieren (keine dynamische Gruppe): Wenn Sie keine dynamische Gruppe einrichten möchten, können Sie den Zugriff auf Lustre-Dateisysteme weiterhin mit Ressourcentypbedingungen mit oder ohne Tags steuern. Wir haben einige Beispiele gegeben.
Wenn sich der Object Storage-Bucket in einem verschachtelten Compartment befindet, geben Sie in der Policy den vollständigen Compartment-Pfad (z.B.
my-tenancy.subcompartmentA.subcompartmentB) an, oder verwenden Sie die Compartment-OCID.Policy-Beispiele
In den folgenden Beispielen können Sie neben den erforderlichen Policys für Dateisysteme und den erforderlichen Policys für die Verschlüsselung von Dateisystemen mit Ihrem eigenen Schlüssel allgemeine Policys erstellen.
Zulassen, dass eine Gruppe Dateisysteme verwendet, aber nicht löscht
allow group lfsadminusers to use lustre-file-family in compartment <file_system_compartment>
Bidirektionale Synchronisierungs-Policys für Object Storage mit dynamischen Gruppen
resource.type='lustrefilesystem'Um die Definition der dynamischen Gruppe nur auf ein bestimmtes Lustre-Compartment zu erweitern, verwenden Sie:
All {resource.type = 'lustrefilesystem', resource.compartment.id = '<comp_ocid>'}Um der dynamischen Gruppe Zugriff auf jeden Objektspeicher-Bucket in einem Mandanten zu erteilen, verwenden Sie:
allow dynamic-group lustre-fs-group to read buckets in tenancy
allow dynamic-group lustre-fs-group to manage objects in tenancy
Um der dynamischen Gruppe Zugriff auf ein einzelnes Lustre-Compartment in einem Mandanten zu erteilen, verwenden Sie:
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>
Bidirektionale Synchronisierungs-Policys für Object Storage ohne dynamische Gruppen
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'}Entfernen Sie die Bedingung
request.principal.type = 'lustrefilesystem' nicht. Es beschränkt nur den Zugriff auf Lustre-Dateisystemressourcen - nicht auf Benutzer oder andere Dienste.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">}