File Storage avec des stratégies Lustre
Utilisez le service Oracle Cloud Infrastructure Identity and Access Management (IAM) afin de créer des stratégies pour File Storage avec des ressources Lustre.
Cette rubrique traite de la rédaction de stratégies visant à contrôler l'accès au service File Storage with Lustre. Pour plus d'informations, reportez-vous à Présentation des stratégies IAM.
Présentation de la syntaxe de stratégie
La syntaxe générale d'une instruction de stratégie est la suivante :
allow <subject> to <verb>
<resource-type> in <location> where <condition>
Voici des exemples de ce que vous pouvez indiquer :
Un groupe ou un groupe dynamique par son nom ou son OCID en tant que
<subject>. Vous pouvez également utiliserany-userpour couvrir tous les utilisateurs dans la location.inspect,read,useetmanageen tant que<verb>pour accorder à<subject>des droits d'accès.Lorsque vous passez de
inspectàread, puis àuse, puis àmanage, le niveau d'accès augmente généralement et les droits d'accès octroyés sont cumulés. Par exemple,useinclutreadet autorise en plus la mise à jour.Une famille de ressources telle que
virtual-network-familypourresource-type. Vous pouvez également indiquer une ressource individuelle d'une famille telle quevcnsousubnets.Un compartiment par son nom ou son OCID en tant que
<location>. Vous pouvez également utilisertenancypour couvrir l'intégralité de la location.
Pour plus d'informations sur la création de stratégies, reportez-vous à Introduction aux stratégies et à Référence de stratégie.
Types de ressource
Pour permettre aux utilisateurs d'accéder à File Storage avec des ressources Lustre, créez des stratégies IAM avec File Storage avec des types de ressource Lustre.
Type agrégé de ressource
-
lustre-file-family
Une stratégie qui utilise <verb> lustre-file-family équivaut à écrire une règle avec une instruction <verb> <individual resource-type> distincte pour chaque type individuel de ressource.
Reportez-vous aux tableaux dans Détails des combinaisons de verbes et de type de ressource afin d'obtenir des détails sur le type individuel de ressource inclus dans lustre-file-family pour chaque opération d'API couverte par chaque verbe.
Types individuels de ressource
Pour accéder à File Storage avec des ressources Lustre, utilisez chacun des types de ressource suivants :
-
lustre-file-system -
lfs-work-request
Pour plus d'informations, reportez-vous à Exemples de stratégie.
Variables prises en charge
Le service File Storage with Lustre prend en charge toutes les variables générales, ainsi que celles répertoriées ici.
Pour plus d'informations sur les variables générales prises en charge par Les services OCI, reportez-vous à Variables générales pour toutes les demandes.
| Variable | Type de variable | Source |
|---|---|---|
target.lustre-file-system.id | Entité (OCID) | Demande |
Détails des combinaisons de verbe et de type de ressource
Vous pouvez utiliser différents verbes et types de ressource Oracle Cloud Infrastructure pour créer une stratégie.
Les tableaux suivants indiquent les droits d'accès et les opérations d'API couverts par chaque verbe pour File Storage with Lustre. Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect, read, use, manage. La présence d'un signe plus (+) dans une cellule de tableau indique l'accès incrémentiel par rapport à la cellule qui la précède directement, tandis que la référence "aucun autre élément supplémentaire" indique l'absence d'accès incrémentiel.
| Verbes | Droits d'accès | API entièrement couvertes | API partiellement couvertes |
|---|---|---|---|
| inspect | LUSTRE_FILE_SYSTEM_INSPECT | | aucun |
| lire | INSPECT + LUSTRE_FILE_SYSTEM_READ | INSPECT + | aucun |
| utiliser | READ + LUSTRE_FILE_SYSTEM_UPDATE | READ + | aucun |
| manage | USE + LUSTRE_FILE_SYSTEM_CREATE LUSTRE_FILE_SYSTEM_DELETE LUSTRE_FILE_SYSTEM_MOVE | USE + | aucun |
| Verbes | Droits d'accès | API entièrement couvertes | API partiellement couvertes |
|---|---|---|---|
| inspect | LFS_WORK_REQUEST_INSPECT | ListWorkRequestLogs | aucun |
| lire | INSPECT + LFS_WORK_REQUEST_READ | INSPECT + | aucun |
| utiliser | READ + aucun | READ + aucun | aucun |
| manage | USE + LFS_WORK_REQUEST_DELETE | USE + | aucun |
Droits d'accès requis pour chaque opération d'API
Le tableau suivant répertorie les opérations d'API pour OCI Database with PostgreSQL dans un ordre logique, regroupées par type de ressource.
Les types de ressource sont lustre-file-system et lfs-work-request.
Pour plus d'informations sur les droits d'accès, reportez-vous à Droits d'accès.
| Opération d'API | Droits d'accès requis pour utiliser l'opération |
|---|---|
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 |
Stratégies de synchronisation bidirectionnelle entre Object Storage et Lustre
Pour qu'un système de fichiers Lustre puisse synchroniser des données avec Object Storage, vous devez lui accorder des droits d'accès spécifiques. Pour ce faire, créez des stratégies Identity and Access Management (IAM) qui permettent au système de fichiers Lustre de lire et de gérer les objets dans les buckets Object Storage.
Une fois que vous avez créé ou mis à jour des stratégies IAM, attendez 10 minutes avant de démarrer un travail de synchronisation pour vous assurer que les modifications de stratégie ont été entièrement propagées dans Oracle Cloud Infrastructure.
- Affichez les buckets Object Storage (pour la sélection).
- Créer, mettre à jour et gérer des liens Object Storage.
- Possibilité de démarrer et d'arrêter des travaux sur le système de fichiers Lustre.
- Lire et gérer les objets dans le bucket Object Storage indiqué (pour la synchronisation des données).
Le bucket Object Storage ne nécessite pas de droits d'accès explicites. Au lieu de cela, vous contrôlez l'accès au bucket en accordant à la ressource Lustre l'autorisation de lire et de gérer les objets.
- Option 1 : affectation d'autorisations à l'aide d'un groupe dynamique : créez des groupes dynamiques pour regrouper des ressources, telles que des systèmes de fichiers Lustre, et affectez-leur des stratégies collectivement. Nous avons fourni quelques exemples.
- Option 2 : contrôle de l'accès aux systèmes de fichiers Lustre (pas de groupe dynamique) : si vous ne voulez pas configurer de groupe dynamique, vous pouvez toujours contrôler l'accès aux systèmes de fichiers Lustre à l'aide de conditions de type de ressource, avec ou sans balises. Nous avons fourni quelques exemples.
Si le bucket Object Storage se trouve dans un compartiment imbriqué, dans la stratégie, indiquez le chemin complet du compartiment (par exemple,
my-tenancy.subcompartmentA.subcompartmentB) ou utilisez l'OCID de compartiment.Exemples de stratégie
Utilisez les exemples suivants pour créer des stratégies communes en plus de celles requises pour les systèmes de fichiers et de celles requises si vous chiffrez des systèmes de fichiers avec votre propre clé.
Autoriser un groupe à utiliser mais pas à supprimer des systèmes de fichiers
allow group lfsadminusers to use lustre-file-family in compartment <file_system_compartment>
Stratégies de synchronisation bidirectionnelle Object Storage à l'aide de groupes dynamiques
resource.type='lustrefilesystem'Pour étendre la définition du groupe dynamique à uniquement un compartiment Lustre spécifique, utilisez la commande suivante :
All {resource.type = 'lustrefilesystem', resource.compartment.id = '<comp_ocid>'}Pour accorder au groupe dynamique l'accès à n'importe quel bucket Object Storage dans une location, utilisez la commande suivante :
allow dynamic-group lustre-fs-group to read buckets in tenancy
allow dynamic-group lustre-fs-group to manage objects in tenancy
Pour accorder au groupe dynamique l'accès à un seul compartiment Lustre dans une location, utilisez :
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>
Stratégies de synchronisation bidirectionnelle Object Storage sans utilisation de groupes dynamiques
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'}N'enlevez pas la condition
request.principal.type = 'lustrefilesystem'. Il limite l'accès aux ressources du système de fichiers Lustre uniquement, et non aux utilisateurs ou aux autres services.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">}