File Storage com Políticas Lustre

Use o serviço Oracle Cloud Infrastructure Identity and Access Management (IAM) para criar políticas para o serviço File Storage com recursos Lustre.

Este tópico aborda detalhes de gravação de políticas para controlar o acesso ao File Storage com serviço Lustre. Para obter mais informações, consulte Visão Geral de Políticas do Serviço IAM.

Visão Geral da Sintaxe de Política

A sintaxe geral de uma instrução de política é:

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

Por exemplo, você pode especificar:

  • Um grupo comum ou dinâmico por nome ou OCID como <subject> . Ou você pode usar any-user para abranger todos os usuários da tenancy.

  • inspect, read, use e manage como <verb> para conceder a um <subject> acesso a uma ou mais permissões.

    Conforme você percorre inspect > read > use > manage, o nível de acesso geralmente aumenta e as permissões concedidas são cumulativas. Por exemplo, use inclui read mais a capacidade de atualizar.

  • Uma família de recursos como virtual-network-family para o resource-type . Ou você pode especificar um recurso individual em uma família, como vcns e subnets.

  • Um compartimento por nome ou OCID como <location> . Ou você pode usar tenancy para abranger toda a tenancy.

Para obter mais informações sobre a criação de políticas, consulte Conceitos Básicos de Políticas e Referência de Políticas.

Tipos de Recursos

Para conceder aos usuários acesso ao File Storage com recursos do Lustre, crie políticas do IAM com tipos de recursos do File Storage com o Lustre.

Tipo de Recurso Agregado

  • lustre-file-family

Uma política que usa <verb> lustre-file-family é igual a gravar uma instrução <verb> <individual resource-type> separada para cada tipo de recurso individual.

Consulte as tabelas em Detalhes para Combinações de Verbos + Tipo de Recurso para obter detalhes das operações da API cobertas por cada verbo, para cada tipo de recurso individual incluído em lustre-file-family.

Tipos de Recursos Individuais

Para acessar o File Storage com recursos do Lustre, use cada um dos seguintes tipos de recursos:

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

Consulte Exemplos de Política para obter mais informações.

Variáveis Suportadas

O serviço File Storage com Lustre suporta todas as variáveis gerais, além das listadas aqui.

Para obter mais informações sobre variáveis gerais suportadas pelos serviços do OCI, consulte Variáveis Gerais para Todas as Solicitações.

VariávelTipo de variávelOrigem
target.lustre-file-system.id Entidade (OCID)Solicitação

Detalhes das Combinações de Verbos e Tipo de Recurso

Vários verbos e tipos de recursos do Oracle Cloud Infrastructure podem ser usados para criar uma política.

As tabelas seguintes mostram as permissões e operações da API cobertas por cada verbo do File Storage com Lustre. O nível de acesso é cumulativo conforme você vai de inspect a read a use a manage. Um sinal de mais (+) em uma célula de tabela indica acesso incremental em comparação com a célula que o precede diretamente, enquanto "sem extra" indica nenhum acesso incremental.

lustre-file-system
VerbosPermissõesAPIs Totalmente CobertasAPIs Parcialmente Cobertas
inspecionar

LUSTRE_FILE_SYSTEM_INSPECT

ListLustreFileSystems

nenhum

leitura

INSPECT +

LUSTRE_FILE_SYSTEM_READ

INSPECT +

GetLustreFileSystem

nenhum

usar

READ +

LUSTRE_FILE_SYSTEM_UPDATE

READ +

UpdateLustreFileSystem

nenhum

gerenciar

USE +

LUSTRE_FILE_SYSTEM_CREATE

LUSTRE_FILE_SYSTEM_DELETE

LUSTRE_FILE_SYSTEM_MOVE

USE +

CreateLustreFileSystem

DeleteLustreFileSystem

ChangeLustreFileSystemCompartment

nenhum

lfs-obra-solicitação
VerbosPermissõesAPIs Totalmente CobertasAPIs Parcialmente Cobertas
inspecionar

LFS_WORK_REQUEST_INSPECT

ListWorkRequests

ListWorkRequestErrors

ListWorkRequestLogs

nenhum

leitura

INSPECT +

LFS_WORK_REQUEST_READ

INSPECT +

GetWorkRequest

nenhum

usar

READ +

nenhum

READ +

nenhum

nenhum

gerenciar

USE +

LFS_WORK_REQUEST_DELETE

USE +

CancelWorkRequest

nenhum

Permissões Exigidas para cada Operação de API

A tabela abaixo lista a operação de API do OCI Database with PostgreSQL em uma ordem lógica, agrupada por resource-type.

Os resource-types são lustre-file-system e lfs-work-request.

Para obter informações sobre permissões, consulte Permissões.

Permissões Obrigatórias
Operação de APIPermissões Obrigatórias para Usar a Operação
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 de Sincronização Bidirecional entre o Object Storage e o Lustre

Para que um sistema de arquivos Lustre possa sincronizar dados com o Object Storage, você precisa conceder a ele permissões específicas. Para fazer isso, crie políticas de IAM (Identity and Access Management) que permitam que o sistema de arquivos Lustre leia e gerencie objetos nos buckets do Object Storage.

O usuário que configura a sincronização precisa destas permissões:
  • Exibir buckets do Object Storage (para seleção)
  • Criar, atualizar e gerenciar Links do Serviço Object Storage
  • Capacidade de iniciar e interromper trabalhos no sistema de arquivos Lustre.
O sistema de arquivos Lustre precisa destas permissões:
  • Ler e gerenciar objetos no bucket do Object Storage especificado (para sincronização de dados).

O Bucket do Object Storage não precisa de permissões explícitas. Em vez disso, você controla o acesso ao bucket concedendo ao recurso Lustre permissão para ler e gerenciar objetos.

Veja como atribuir permissões:
  • Opção 1: Atribuir permissões usando um grupo dinâmico: Crie Grupos dinâmicos para agrupar recursos, como sistemas de arquivos Lustre, e atribua políticas a eles coletivamente. Fornecemos alguns exemplos.
  • Opção 2: Controlar o acesso aos sistemas de arquivos Lustre (sem grupo dinâmico): Se você não quiser configurar um grupo dinâmico, ainda poderá controlar o acesso aos sistemas de arquivos Lustre usando condições de tipo de recurso, com ou sem tags. Fornecemos alguns exemplos.

Exemplos de Política

Use os exemplos a seguir para criar políticas comuns além das necessárias para sistemas de arquivos e das necessárias se você estiver criptografando sistemas de arquivos com sua própria chave.

Permitir que um grupo use, mas não exclua sistemas de arquivos

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

Políticas de Sincronização Bidirecional do Serviço Object Storage Usando Grupos Dinâmicos

Para definir um grupo dinâmico que inclua todos os sistemas de arquivos Lustre, utilize:
resource.type='lustrefilesystem'

Para estender a definição do grupo dinâmico para apenas um compartimento Lustre específico, use:

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

Para conceder ao grupo dinâmico acesso a qualquer bucket do serviço Object Storage em uma tenancy, use:

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

Para conceder ao grupo dinâmico acesso a um único compartimento Lustre em uma tenancy, use:

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 Sincronização Bidirecional do Serviço Object Storage Sem Usar Grupos Dinâmicos

Para permitir que qualquer sistema de arquivos Lustre em um compartimento leia buckets do Object Storage e gerencie seu conteúdo, use:
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'}
Observação

Não remova a condição request.principal.type = 'lustrefilesystem'. Restringe o acesso apenas aos recursos do sistema de arquivos Lustre - não aos usuários ou a outros serviços.
Para limitar permissões somente a buckets do Object Storage que tenham uma tag específica, combine um tipo principal com uma tag, 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">}