Nesta página, descrevemos como usar o recurso de bloqueio de retenção de objetos, incluindo a ativação em um bucket e a definição de configurações de retenção para objetos dentro do bucket.
Funções exigidas
Para receber as permissões necessárias para ativar o recurso de bloqueio de retenção de objetos
em um bucket e definir as configurações de retenção nos objetos, peça ao administrador
para conceder a você o papel do IAM de Administrador do Storage (roles/storage.admin
)
no bucket ou no projeto que o contém. Esse
papel predefinido contém as permissões
necessárias para definir e gerenciar as configurações de retenção. Para conferir as permissões exatas
necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.buckets.create
storage.buckets.enableObjectRetention
storage.buckets.get
storage.buckets.list
- Essa permissão só é necessária ao usar o console do Google Cloud para executar as instruções nesta página.
storage.objects.get
storage.objects.list
- Essa permissão só é necessária ao usar o console do Google Cloud para executar as instruções nesta página.
storage.objects.overrideUnlockedRetention
- Essa permissão só será necessária se você planeja bloquear ou reduzir uma configuração de retenção existente.
storage.objects.setRetention
storage.objects.update
Talvez você também consiga receber essas permissões com papéis personalizados.
Para informações sobre como conceder papéis nos buckets, consulte Usar o IAM com buckets. Para informações sobre como conceder papéis em projetos, consulte Gerenciar acesso a projetos.
Ativar retenções de objetos para um bucket
Só é possível ativar retenções de objetos como parte da criação do bucket, e se a retenção de objetos estiver ativada em um bucket, ela não poderá ser desativada. Use as instruções a seguir para ativar as retenções de objetos em um bucket:
Console
Crie um bucket como você faria normalmente e, na etapa Escolher como proteger os dados do objeto, selecione Retenção (para conformidade). por Ativar a retenção de objetos.
Linha de comando
Crie um bucket como faria normalmente e inclua a sinalização --enable-per-object-retention
no comando.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
Crie um bucket como faria normalmente e inclua o parâmetro de consulta enableObjectRetention=true
como parte da solicitação.
API XML
Crie um bucket normalmente e inclua o cabeçalho
x-goog-bucket-object-lock-enabled: True
como parte da solicitação.
Ver o status de retenção de objetos de um bucket
Para ver se as retenções de objetos estão ativadas em um bucket:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Clique no nome do bucket para verificar o status dele.
Clique na guia Proteção.
O status de retenção de objetos do bucket é exibido na seção Retenção de objetos.
Linha de comando
Use o comando gcloud storage buckets describe
com a flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(per_object_retention)"
Em que BUCKET_NAME
é o nome do bucket
da política de retenção que você quer visualizar. Por exemplo, my-bucket
.
Se tiver êxito e houver uma política de retenção no bucket, a resposta será semelhante a esta:
per_object_retention: mode: Enabled
Se tiver êxito e não houver uma política de retenção no bucket, a resposta será semelhante a esta:
null
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para ver a configuração de retenção de objetos de um bucket, siga as instruções para exibir os metadados de um bucket e procure do campo de retenção de objetos na resposta.C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para ver a configuração de retenção de objetos de um bucket, siga as instruções para exibir os metadados de um bucket e procure do campo de retenção de objetos na resposta.Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para ver a configuração de retenção de objetos de um bucket, siga as instruções para exibir os metadados de um bucket e procure do campo de retenção de objetos na resposta.Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para ver a configuração de retenção de objetos de um bucket, siga as instruções para exibir os metadados de um bucket e procure do campo de retenção de objetos na resposta.PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para ver a configuração de retenção de objetos de um bucket, siga as instruções para exibir os metadados de um bucket e procure do campo de retenção de objetos na resposta.Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para ver a configuração de retenção de objetos de um bucket, siga as instruções para exibir os metadados de um bucket e procure do campo de retenção de objetos na resposta.APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação de bucketGET
que inclui o campoobjectRetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=objectRetention"
Em que
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
API XML
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API XMLGET
com uma solicitação do bucket?object-lock
com o escopo definido como :curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?object-lock"
Em que
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
Definir a configuração de retenção de um objeto
Para definir uma configuração de retenção para um objeto, ele precisa ser armazenado em um bucket em que as retenções de objetos estejam ativadas. Para definir uma configuração de retenção para um objeto:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém o objeto com a configuração de retenção que você quer definir ou modificar.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no nome do objeto.
A página Detalhes do objeto é aberta, mostrando os metadados do objeto.
Na seção Proteção, clique no ícone Editar (edit) associado à opção Da configuração de retenção de objetos.
O painel Editar retenção será aberto.
Na seção Configuração de retenção de objetos, clique em Ativado ou Desativado.
- Se a configuração de retenção estiver ativada, selecione uma data e hora para a configuração na seção Reter até a hora e clique em Desbloqueado ou Bloqueado na seção Modo de retenção.
Clique em Confirmar.
Linha de comando
Use o comando gcloud storage objects update
com as
sinalizações apropriadas: Para adicionar ou modificar uma configuração de retenção, use o
comando a seguir. Observe que você também precisa incluir a
flag --override-unlocked-retention
se estiver modificando uma configuração
existente de modo a bloqueá-la ou reduzir o tempo de retenção até:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.DATETIME
é a data e a hora mais antigas em que o objeto pode ser excluído. Por exemplo,2028-02-15T05:30:00Z
.STATE
éLocked
ouUnlocked
.
Se a operação for bem-sucedida, a resposta será semelhante a esta:
Updating gs://my-bucket/kitten.png... Completed 1
Para remover uma configuração de retenção de um objeto, use o seguinte comando:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Crie um arquivo JSON com as informações a seguir:
{ "retention": { "mode": STATE, "retainUntilTime": "DATETIME" } }
Em que:
STATE
éLocked
ouUnlocked
.DATETIME
é a data e a hora mais antigas em que o objeto pode ser excluído. Por exemplo,2028-02-15T05:30:00Z
.
Use
cURL
para chamar a API JSON com uma solicitação de ObjetoPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 2.BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL do objeto relevante. Por exemplo,pets/kitten.png
, codificado em URL comopets%2Fkitten.png
.BOOLEAN
precisará sertrue
se a solicitação encurtar, remover ou bloquear uma configuração de retenção existente. Caso contrário, o parâmetrooverrideUnlockedRetention
poderá ser totalmente excluído da solicitação.
API XML
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Crie um arquivo XML que contenha as seguintes informações:
<Retention> <Mode> STATE </Mode> <RetainUntilDate> DATETIME </RetainUntilDate> </Retention>
Em que:
STATE
éGOVERNANCE
ouCOMPLIANCE
.DATETIME
é a data e a hora mais antigas em que o objeto pode ser excluído. Por exemplo,2028-02-15T05:30:00Z
.
Use
cURL
para chamar a API XML com uma solicitação de objetoPUT
com escopo definido como?retention
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-bypass-governance-retention: BOOLEAN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Em que:
XML_FILE_NAME
é o caminho para o arquivo XML criado na Etapa 2.BOOLEAN
precisará sertrue
se a solicitação encurtar, remover ou bloquear uma configuração de retenção existente. Caso contrário, o cabeçalhox-goog-bypass-governance-retention
poderá ser excluído da solicitação completamente.BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL do objeto relevante. Por exemplo,pets/kitten.png
, codificado em URL comopets%2Fkitten.png
.
Ver a configuração de retenção de um objeto
Para ver qual configuração de retenção está definida em um objeto, se houver alguma, faça o seguinte:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém o objeto com a configuração de retenção que você quer visualizar.
A página Detalhes do bucket é aberta, com a guia Objetos selecionada.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no nome do objeto.
A página Detalhes do objeto é aberta, mostrando os metadados do objeto. As informações sobre qualquer configuração de retenção do objeto são mostradas na seção Proteção.
Linha de comando
Use o comando gcloud storage objects describe
com a flag --format
:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
Se for bem-sucedida e existir uma configuração de retenção para o objeto, a resposta será semelhante a esta:
retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'
Se for bem-sucedido e não houver uma configuração de retenção para o objeto, a resposta será semelhante a esta:
null
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para exibir a configuração de retenção de um objeto, siga as instruções para exibir os metadados de um objeto e procure no campo de retenção na resposta.C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para exibir a configuração de retenção de um objeto, siga as instruções para exibir os metadados de um objeto e procure no campo de retenção na resposta.Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para exibir a configuração de retenção de um objeto, siga as instruções para exibir os metadados de um objeto e procure no campo de retenção na resposta.Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para exibir a configuração de retenção de um objeto, siga as instruções para exibir os metadados de um objeto e procure no campo de retenção na resposta.PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para exibir a configuração de retenção de um objeto, siga as instruções para exibir os metadados de um objeto e procure no campo de retenção na resposta.Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Para visualizar a configuração de retenção de um objeto, siga as instruções para exibir os metadados de um objeto e procure no campo de retenção na resposta.APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação de bucketGET
que inclui o camporetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
API XML
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação de objetoGET
com escopo definido como?retention
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
A seguir
- Saiba mais sobre as configurações de retenção.
- Conheça outros recursos que protegem seus dados do Cloud Storage.
- Saiba mais sobe o Gerenciamento do ciclo de vida de objetos, que pode excluir automaticamente os arquivos após o período de armazenamento.