Serviço Object Storage Object Lifecycle Management

Saiba como usar o Object Lifecycle Management para gerenciar automaticamente o arquivamento e a exclusão de objetos.

Ao usar o Gerenciamento de Ciclo de Vida de Objetos para gerenciar dados dos serviços Object Storage e Archive Storage, você pode reduzir os custos de armazenamento e o tempo que você gasta manualmente gerenciando dados.

O Gerenciamento do Ciclo de Vida de Objetos funciona executando uma ação automatizada com base nas regras definidas por você. Essas regras instruem o serviço Object Storage a excluir uploads multiparte não confirmados, mover objetos para outra camada de armazenamento e excluir recursos suportados em seu nome dentro de um determinado bucket. As regras de ciclo de vida de um bucket são conhecidas coletivamente como uma política de ciclo de vida de objeto. Os recursos suportados pelo Gerenciamento de Ciclo de Vida de Objetos incluem objetos, versões de objetos e uploads multiparte não confirmados ou com falha.

Por exemplo, você pode definir regras que executam automaticamente as seguintes ações:

  • Mover objetos da camada Padrão com uma extensão .doc para a camada Acesso Não Frequente ou Arquivo Compactado 60 dias após a criação ou a última atualização.

  • Mover objetos da camada Padrão para a camada Arquivo Compactado 30 dias após a criação ou a última atualização e, em seguida, excluir automaticamente esses objetos arquivados após 180 dias.

  • Mover objetos da Camada Padrão para a camada Infrequent Access 90 dias após a criação ou a última atualização.

  • Excluir as versões de objetos anteriores 120 dias após a versão do objeto passar da versão mais recente para uma versão anterior.

  • Excluir uploads multiparte não confirmados ou com falha após 5 dias.

  • Excluir todos os objetos e versões de objetos em um bucket, preparando para a exclusão do bucket.

Cada bucket dos serviços Object Storage ou Archive Storage pode ter uma única política de ciclo de vida que consiste em até 1.000 regras. As regras relacionadas a objetos podem ter condições de prefixo e correspondência de padrões de nome de objeto. As regras de upload múltiplo não confirmado não suportam condições de prefixo e correspondência de padrões.

Você pode criar, editar, excluir, ativar e desativar regras individuais na Console conforme necessário. Para atualizar uma política de ciclo de vida usando a CLI ou API, substitua uma política existente por uma nova. Certifique-se de que a nova política seja inclusiva de todas as regras de política que você deseja aplicar ao bucket.

Você pode executar as seguintes tarefas de política de ciclo de vida do objeto:

Políticas Obrigatórias do Serviço IAM

Importante

Você só poderá usar o Gerenciamento de Ciclo de Vida de Objetos após autorizar o serviço Object Storage a arquivar e excluir objetos em seu nome. Consulte Permissões do Serviço para obter mais informações.

Se você for iniciante em políticas, consulte Conceitos Básicos de Políticas e Políticas Comuns.

Permissões do Usuário

Para usar o Oracle Cloud Infrastructure, você deve receber de um administrador o acesso de segurança em uma política . Esse acesso é necessário, quer você esteja usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você receber uma mensagem de que não tem permissão ou que não está autorizado, verifique com o administrador qual tipo de acesso você tem e em qual compartimento vai trabalhar.

Para administradores:

  • A política Permitir que os administradores do serviço Object Storage gerenciem buckets e objetos permite que o grupo especificado realize todas a operações com buckets e objetos, incluindo a adição e o gerenciamento de políticas de ciclo de vida.
  • Se você criar políticas mais restritivas que concedam permissões individuais:
    • A permissão OBJECT_VERSION_DELETE é necessária para excluir versões de objeto anteriores em seu nome usando políticas de ciclo de vida.
    • A permissão OBJECT_UPDATE_TIER é necessária para alterar a camada de armazenamento de um objeto.

Consulte Detalhes para os Serviços Object Storage, Archive Storage e Data Transfer para obter mais informações sobre permissões do usuário do serviço Object Storage.

Permissões do Serviço

Para executar políticas de ciclo de vida de objetos, você deve autorizar o serviço a arquivar e excluir objetos em seu nome. Para fazer isso, crie a seguinte política no compartimento raiz de sua tenancy:

Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name>

Como o Object Storage é um serviço regional, você deve autorizar o serviço Object Storage em cada região que usar políticas de ciclo de vida. O serviço Object Storage garante que seus dados não sejam lidos em nenhuma região não autorizada.

Se você não tiver permissões para gravar políticas para o compartimento raiz de sua tenancy, entre em contato com o administrador do Oracle Cloud Infrastructure. Para determinar o valor do identificador de uma região do serviço Oracle Cloud Infrastructure, consulte Regiões e Domínios de Disponibilidade.

Em vez de usar o verbo de política manage, você pode conceder permissões individuais ao serviço. Por exemplo:

Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name> where any {request.permission='BUCKET_INSPECT', request.permission='BUCKET_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_UPDATE_TIER', request.permission='OBJECT_DELETE', request.permission='OBJECT_VERSION_DELETE'}

Opções

Ao criar regras de política de ciclo de vida de objetos, você tem as seguintes opções:

  • Quando uma regra de ciclo de vida é criada, o sistema gera um nome padrão para essa regra, por exemplo, o lifecycle-rule-20190321-1559. Este nome de regra identifica o ano, mês, dia e hora atuais em que a regra foi criada. Você pode usar esse nome gerado pelo sistema para a nova regra ou especificar outro nome para ela.

  • Você pode criar regras de ciclo de vida que façam o seguinte:

    • Movam ou excluam todos os objetos do bucket.

    • Movam ou excluam objetos no bucket que correspondem aos filtros de nome de objeto especificados. Você pode selecionar objetos usando os prefixos de nome de objeto e a correspondência de padrões. Consulte Usando Filtros de Nome de Objeto para obter detalhes.

    • Excluam uploads multiparte não confirmados ou com falha. Para obter mais informações, consulte Uploads Multiparte do Serviço Object Storage.

    Se o controle de versão do objeto estiver ativado ou suspenso em um bucket, você também poderá criar regras de ciclo de vida que façam o seguinte:
    • Movam ou excluam as versões anteriores de todos os objetos no bucket.

    • Movam ou excluam as versões anteriores de objetos no bucket que correspondem aos filtros de nome especificados. Você pode selecionar objetos usando os prefixos de nome de objeto e a correspondência de padrões. Consulte Usando Filtros de Nome de Objeto para obter detalhes.

    Consulte Controle de Versão do Serviço Object Storage para obter mais informações.
  • Determinar o número de dias até que a ação especificada seja executada.

  • Decidir se uma nova regra será ativada ou desativada durante a criação.

Usando Filtros de Nome de Objeto

Use filtros de nome de objeto para especificar um subconjunto de objetos, versões de objeto ou versões de objeto anteriores às quais uma regra de ciclo de vida se aplica. Crie uma regra de filtro de nome de objeto separada para cada destino de regra (objetos, versões de objeto ou versões de objeto anteriores).

Importante

Não especifique filtros de nome de objeto se quiser que uma regra seja aplicada ao destino de todos os objetos, todas as versões de objetos ou todas as versões de objetos anteriores.

Há suporte para dois tipos de filtros de nome de objeto:

  • Correspondência de prefixo é uma correspondência exata dos caracteres mais à esquerda de um nome de objeto. A correspondência de prefixo não aceita caracteres curinga. Embora existam buckets e objetos do serviço Object Storage em uma estrutura simples, os prefixos permitem simular uma estrutura de diretório quando usados com uma barra (/). Consulte Nomeação de Objetos com Prefixos e Hierarquias para obter detalhes.

  • A correspondência de padrões corresponde ao nome do objeto inteiro, mas aceita o uso de caracteres curinga e outras construções de correspondência de padrões, conforme necessário, para corresponder a zero ou mais caracteres no nome do objeto.

Observação

Os filtros de nome de objeto operam no nome completo do objeto. Os prefixos (exibidos como pastas virtuais e subpastas na Console) fazem parte do nome do objeto.

Por exemplo, para este caminho: >marathon>participants>p_21.jpg , o nome do objeto é /marathon/participants/p_21.jpg, não p_21.jpg.

Você pode adicionar filtros de nome de objeto em qualquer ordem. O Gerenciamento de Ciclo de Vida de Objetos avalia a precedência das regras da seguinte forma:

  1. Exclusões de padrão

  2. Inclusões de padrão

  3. Inclusões de prefixo

Usando Correspondência de Prefixo para Filtrar Objetos

Você pode usar strings de prefixo para fins de correspondência ao executar operações relacionadas ao gerenciamento do ciclo de vida. Determinadas operações em massa também podem ser executadas por meio da correspondência nas partes de prefixo do nome do objeto.

  • Nos exemplos de nome de objeto a seguir, os prefixos incluem uma ou mais barras (/) para simular uma estrutura de diretório. A string marathon/ ou marathon/participants/ pode servir como prefixo para fins de correspondência nas regras de ciclo de vida:
    marathon/finish_line.jpg
    marathon/podium.jpg
    marathon/participants/p_21.jpg
    marathon/participants/p_29.jpg
  • Nos exemplos de nome de objeto a seguir, a string gloves_27_ pode servir como prefixo para fins de correspondência nas regras de ciclo de vida:
    gloves_27_dark_green.jpg
    gloves_27_light_blue.jpg
    gloves_27_deep_purple.jpg
    gloves_27_bright_orange.jpg
            

Usando Correspondência de Padrão para Filtrar Objetos

O serviço Object Storage suporta os seguintes caracteres de correspondência de padrão para incluir ou excluir objetos:

Caractere Descrição Exemplos de Padrão Corresponde a Não Corresponde a
* Corresponde a nenhum ou a mais caracteres *.tmp

foo.tmp

foo/bar/baz.tmp

tmp

Atmp

temp/*.tmp

temp/working.tmp

temp/novo/file.tmp

file.tmp

temp.tmp

temp/new.draft

*.xls

.xls

/home/user/file.xls

xls

.xl

/archive/*

/archive/sub/dir/

/archive/1/2/3/4/foo.txt

/src/archive/a

archive/b

? Corresponde a qualquer caractere X? Z

XyZ

X_Z

XZ

XYYZ

\ Faz escape do próximo caractere \\dir\\sub\\*

\dir\sub\ABC

\dir\sub\

dir\sub\abc

dirsub

[...]

Corresponde a um grupo de caracteres, que pode ser:

  • Um conjunto de caracteres, por exemplo: [Zafg9@]. Corresponde a qualquer caractere entre parênteses.
  • Um intervalo de caracteres, por exemplo: [a-f]. Corresponde a qualquer caractere no intervalo:
    • [a-f] é equivalente a [abcdef].

    • Para intervalos de caracteres, só há suporte para o padrão CHARACTER-CHARACTER:

      • [ab-yz] não é válido.
      • [a-mn-z] não é válido.
    • As faixas de caracteres não podem começar com ^ ou dois-pontos (:).

    • Para incluir um hífen (-) no intervalo, torne-o o primeiro ou último caractere.

[-ab3]

-

a

b

3

-a

-ab

3b

backup.tar.gz. [0-9]

backup.tar.gz. 0

backup.tar.gz. 5

backup.tar.gz. 9

backup.tar.gz10

backup.tar.gz

page-[0-9]*

page-0

page-2

page-22

page-2X

page-

page-A1

\[a-z\] [a-z]

a

z

[a-z

Os padrões são limitados a 1.024 caracteres. A seguir estão exemplos de padrões inválidos:

  • \
  • [^a-z]
  • [z-a]
  • [: isalpha:]

Como Trabalhar com Políticas do Gerenciamento do Ciclo de Vida de Objetos

Você pode criar, excluir, editar ou desativar regras de política de ciclo de vida usando a Console, a CLI (Command Line Interface), um SDK ou a API.

Atenção

Objetos excluídos em seu nome por políticas de ciclo de vida não podem ser recuperados. Certifique-se, ao criar e editar suas políticas de ciclo de vida, que você não está excluindo por engano os dados que deseja manter. Recomendamos que você teste sua política de ciclo de vida nos dados de desenvolvimento antes de usar a política na produção.