Almacenamiento de archivos con políticas Lustre

Utilice el servicio Oracle Cloud Infrastructure Identity and Access Management (IAM) para crear políticas para el almacenamiento de archivos con recursos Lustre.

En este tema, se tratan los detalles de las políticas para controlar el acceso a File Storage con el servicio Lustre. Para obtener más información, consulte Visión general de políticas de IAM.

Visión general de la sintaxis de las políticas

La sintaxis general de una sentencia de política es:

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

Por ejemplo, puede especificar:

  • Un grupo o grupo dinámico por nombre u OCID como <subject> . O bien, puede utilizar any-user para abarcar a todos los usuarios del arrendamiento.

  • inspect, read, use y manage como <verb> para otorgar a <subject> acceso a uno o más permisos.

    A medida que vaya de inspect > read > use > manage, el nivel de acceso aumenta y los permisos otorgados se van acumulando. Por ejemplo, use incluye read más la capacidad de actualizar.

  • Una familia de recursos como virtual-network-family para resource-type . O bien, puede especificar un recurso individual en una familia como vcns y subnets.

  • Compartimento por nombre u OCID como <location> . O bien, puede utilizar tenancy para que se abarque todo el arrendamiento.

Para obtener más información sobre la creación de políticas, consulte Introducción a las políticas y Referencia de políticas.

Tipos de recursos

Para proporcionar a los usuarios acceso a File Storage con recursos de Lustre, cree políticas de IAM con File Storage con tipos de recursos de Lustre.

Tipo de recurso de agregado

  • lustre-file-family

Una política que utiliza <verb> lustre-file-family equivale a escribir una directiva con una sentencia <verb> <individual resource-type> independiente para cada uno de los tipos de recursos individuales.

Consulte en las tablas Detalles del verbo + tipo de recurso los detalles de las operaciones del API que cubre cada verbo para cada tipo de recurso individual incluido en lustre-file-family.

Tipos de recursos individuales

Para acceder a File Storage con recursos de Lustre, utilice cada uno de los siguientes tipos de recursos:

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

Consulte Ejemplos de políticas para obtener más información.

Variables soportadas

El servicio File Storage with Lustre soporta todas las variables generales, además de las que se muestran aquí.

Para obtener más información sobre la variables generales soportadas por servicios de OCI, consulte Variables Generales para Todas las Solicitudes.

VariableTipo de variableOrigen
target.lustre-file-system.id Entidad (OCID)Solicitud

Detalles de las combinaciones de verbo + tipo de recurso

Para crear una política se pueden utilizar varios verbos y tipos de recursos de Oracle Cloud Infrastructure.

En las siguientes tablas se muestran los permisos y la operaciones de API que abarca cada verbo para File Storage with Lustre. El nivel de acceso es acumulativo a medida que pasa de inspect a read a use a manage. Un signo más (+) en una celda de tabla indica el acceso incremental comparado con la celda que le precede directamente, mientras que "sin extra" indica no hay acceso incremental.

lustre-file-system
VerbosPermisosAPI totalmente cubiertasAPI parcialmente cubiertas
inspect

LUSTRE_FILE_SYSTEM_INSPECT

ListLustreFileSystems

ninguno

leído

INSPECT +

LUSTRE_FILE_SYSTEM_READ

INSPECT +

GetLustreFileSystem

ninguno

usar

READ +

LUSTRE_FILE_SYSTEM_UPDATE

READ +

UpdateLustreFileSystem

ninguno

gestionar

USE +

LUSTRE_FILE_SYSTEM_CREATE

LUSTRE_FILE_SYSTEM_DELETE

LUSTRE_FILE_SYSTEM_MOVE

USE +

CreateLustreFileSystem

DeleteLustreFileSystem

ChangeLustreFileSystemCompartment

ninguno

lfs-work-request
VerbosPermisosAPI totalmente cubiertasAPI parcialmente cubiertas
inspect

LFS_WORK_REQUEST_INSPECT

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

ninguno

leído

INSPECT +

LFS_WORK_REQUEST_READ

INSPECT +

GetWorkRequest

ninguno

usar

READ +

ninguno

READ +

ninguno

ninguno

gestionar

USE +

LFS_WORK_REQUEST_DELETE

USE +

CancelWorkRequest

ninguno

Permisos necesarios para cada operación de API

en la siguiente tabla se muestran las operaciones de API para OCI Database with PostgreSQL en un orden lógico, agrupadas por tipo de recurso.

Los tipos de recursos son lustre-file-system y lfs-work-request.

Para obtener información sobre los permisos, consulte Permisos.

Permisos necesarios
Operación de APIPermisos necesarios para utilizar la operación
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

Políticas para la sincronización bidireccional entre Object Storage y Lustre

Para que un sistema de archivos Lustre pueda sincronizar datos con Object Storage, debe otorgarle permisos específicos. Para ello, cree políticas de Identity and Access Management (IAM) que permitan que el sistema de archivos Lustre lea y gestione objetos en los cubos de Object Storage.

El usuario que configura la sincronización necesita estos permisos:
  • Ver cubos de Object Storage (para selección)
  • Crear, actualizar y gestionar enlaces de Object Storage
  • Capacidad para iniciar y parar trabajos en el sistema de archivos Lustre.
El sistema de archivos Lustre necesita estos permisos:
  • Leer y gestionar objetos en el cubo de Object Storage especificado (para la sincronización de datos).

El cubo de almacenamiento de objetos no necesita permisos explícitos. En su lugar, puede controlar el acceso al cubo otorgando permiso al recurso Lustre para leer y gestionar objetos.

A continuación, se muestra cómo asignar permisos:
  • Opción 1: asignar permisos mediante un grupo dinámico: cree grupos dinámicos para agrupar recursos, como sistemas de archivos Lustre, y asígneles políticas de forma colectiva. Hemos dado algunos ejemplos.
  • Opción 2: Controlar el acceso a los sistemas de archivos Lustre (sin grupo dinámico): si no desea configurar un grupo dinámico, puede controlar el acceso a los sistemas de archivos Lustre mediante condiciones de tipo de recurso, con o sin etiquetas. Hemos dado algunos ejemplos.

Ejemplos de políticas

Utilice los siguientes ejemplos para crear políticas comunes además de las necesarias para sistemas de archivos y las necesarias si está cifrando sistemas de archivos con su propia clave.

Permitir que un grupo utilice pero no suprima sistemas de archivos

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

Políticas de sincronización bidireccional de Object Storage mediante grupos dinámicos

Para definir un grupo dinámico que incluya todos los sistemas de archivos Lustre, utilice:
resource.type='lustrefilesystem'

Para ampliar la definición del grupo dinámico a solo un compartimento de Lustre específico, utilice:

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

Para otorgar al grupo dinámico acceso a cualquier cubo de Object Storage de un arrendamiento, utilice:

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

Para otorgar acceso de grupo dinámico a un único compartimento de Lustre en un arrendamiento, utilice:

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>

Políticas de sincronización bidireccional de Object Storage sin utilizar grupos dinámicos

Para permitir que cualquier sistema de archivos Lustre de un compartimento lea cubos de Object Storage y gestione su contenido, utilice:
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

No elimine la condición request.principal.type = 'lustrefilesystem'. Restringe el acceso solo a los recursos del sistema de archivos Lustre, no a los usuarios ni a otros servicios.
Para limitar los permisos a solo cubos de Object Storage que tengan una etiqueta específica, combine un tipo de principal con una etiqueta, como esta:
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">}