Esta página descreve como usar a funcionalidade de bloqueio de retenção de objetos, incluindo a respetiva ativação para um contentor e a definição de configurações de retenção para objetos no contentor.
Funções necessárias
Para receber as autorizações de que precisa para ativar a funcionalidade de bloqueio de retenção de objetos
para um contentor e definir configurações de retenção em objetos, peça ao seu administrador
para lhe conceder a função do IAM de administrador do armazenamento (roles/storage.admin
)
no contentor ou no projeto que contém o contentor. Esta função predefinida contém as autorizações necessárias para definir e gerir configurações de retenção. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
storage.buckets.create
storage.buckets.enableObjectRetention
storage.buckets.get
storage.buckets.list
- Esta autorização só é necessária se planear usar a Trusted Cloud consola para executar as instruções nesta página.
storage.objects.get
storage.objects.list
- Esta autorização só é necessária se planear usar a Trusted Cloud consola para executar as instruções nesta página.
storage.objects.overrideUnlockedRetention
- Esta autorização só é necessária se planear bloquear ou reduzir uma configuração de retenção existente.
storage.objects.setRetention
storage.objects.update
Também pode conseguir estas autorizações com funções personalizadas.
Para ver informações sobre a concessão de funções em contentores, consulte o artigo Use o IAM com contentores. Para informações sobre a concessão de funções em projetos, consulte o artigo Gerir o acesso a projetos.
Ative as retenções de objetos para um contentor
Siga as instruções abaixo para permitir configurações de retenção para objetos num contentor. Se quiser ativar as configurações de retenção de objetos para um contentor existente, tem de seguir as Trusted Cloud instruções da consola.
Consola
Para ativar as configurações de retenção de objetos para um novo contentor:
- Crie um contentor como faria normalmente e, no passo Escolha como proteger os dados de objetos, selecione Retenção (para conformidade) seguido de Ativar retenção de objetos.
Para ativar as configurações de retenção de objetos para um contentor existente:
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor para o qual quer ativar as retenções de objetos.
Selecione o separador Proteção junto à parte superior da página.
O estado de retenção de objetos do contentor é apresentado na secção Retenção de objetos.
Na secção Retenção de objetos, clique em Retenção de objetos não ativada.
Na caixa de diálogo apresentada, clique em Confirmar.
Linha de comandos
Crie um contentor como faria normalmente e inclua a flag --enable-per-object-retention
no comando.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
APIs REST
API JSON
Crie um grupo como faria normalmente e inclua o parâmetro de consulta enableObjectRetention=true
como parte do pedido.
API XML
Crie um contentor como faria normalmente e inclua o cabeçalho x-goog-bucket-object-lock-enabled: True
como parte do pedido.
Veja o estado de retenção de objetos de um contentor
Para ver se é possível definir configurações de retenção para objetos num contentor:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Clique no nome do contentor cujo estado quer verificar.
Clique no separador Proteção.
O estado de retenção de objetos do contentor é apresentado na secção Retenção de objetos.
Linha de comandos
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 contentor cuja política de retenção quer ver. Por exemplo, my-bucket
.
Se for bem-sucedido e existir uma política de retenção para o contentor, a resposta é semelhante à seguinte:
per_object_retention: mode: Enabled
Se for bem-sucedido e não existir uma política de retenção para o contentor, a resposta é semelhante à seguinte:
null
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido deGET
Bucket que inclua o campoobjectRetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=objectRetention"
Em que
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com um pedido deGET
Bucket com âmbito?object-lock
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/BUCKET_NAME?object-lock"
Em que
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
Defina a configuração de retenção de um objeto
Para definir uma configuração de retenção para um objeto, o objeto tem de estar armazenado num contentor para o qual as retenções de objetos estão ativadas. Para definir uma configuração de retenção para um objeto:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor que contém o objeto cuja configuração de retenção quer definir ou modificar.
É aberta a página Detalhes do contentor, com o separador Objetos selecionado.
Navegue para o objeto, que pode estar localizado numa pasta.
Clique no nome do objeto.
É apresentada a página Detalhes do objeto, que apresenta os metadados do objeto.
Na secção Proteção, clique no ícone Editar (edit) associado a Da configuração de retenção de objetos.
É aberto o painel Editar retenção.
Na secção Configuração da retenção de objetos, clique em Ativado ou Desativado.
- Se a configuração de retenção estiver ativada, selecione uma data e uma hora para a configuração na secção Retenção até à hora e clique em Desbloqueado ou Bloqueado na secção Modo de retenção.
Clique em Confirm.
Linha de comandos
Use o comando gcloud storage objects update
com os flags adequados. Para adicionar ou modificar uma configuração de retenção, use o seguinte comando. Tenha em atenção que também tem de incluir a flag --override-unlocked-retention
se estiver a modificar uma configuração existente de forma a bloqueá-la ou reduzir o respetivo tempo de retenção:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.DATETIME
é a primeira data e hora em que o objeto pode ser eliminado. Por exemplo,2028-02-15T05:30:00Z
.STATE
éLocked
ouUnlocked
.
Se for bem-sucedido, a resposta é semelhante ao seguinte exemplo:
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
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro JSON que contenha as seguintes informações:
{ "retention": { "mode": STATE, "retainUntilTime": "DATETIME" } }
Onde:
STATE
éLocked
ouUnlocked
.DATETIME
é a primeira data e hora em que o objeto pode ser eliminado. Por exemplo,2028-02-15T05:30:00Z
.
Use
cURL
para chamar a API JSON com um pedido dePATCH
objeto:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"
Onde:
JSON_FILE_NAME
é o caminho do ficheiro que criou no passo 2.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome com codificação URL do objeto relevante. Por exemplo,pets/kitten.png
, codificado por URL comopets%2Fkitten.png
.BOOLEAN
tem de sertrue
se o pedido encurtar, remover ou bloquear uma configuração de retenção existente. Caso contrário, o parâmetrooverrideUnlockedRetention
pode ser totalmente excluído do pedido.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro XML que contenha as seguintes informações:
<Retention> <Mode> STATE </Mode> <RetainUntilDate> DATETIME </RetainUntilDate> </Retention>
Onde:
STATE
éGOVERNANCE
ouCOMPLIANCE
.DATETIME
é a primeira data e hora em que o objeto pode ser eliminado. Por exemplo,2028-02-15T05:30:00Z
.
Use
cURL
para chamar a API XML com um pedido dePUT
Object no âmbito de?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.s3nsapis.fr/BUCKET_NAME/OBJECT_NAME?retention"
Onde:
XML_FILE_NAME
é o caminho para o ficheiro XML que criou no passo 2.BOOLEAN
tem de sertrue
se o pedido encurtar, remover ou bloquear uma configuração de retenção existente. Caso contrário, o cabeçalhox-goog-bypass-governance-retention
pode ser totalmente excluído do pedido.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome com codificação URL do objeto relevante. Por exemplo,pets/kitten.png
, codificado por URL comopets%2Fkitten.png
.
Veja a configuração de retenção de um objeto
Para ver que configuração de retenção está definida num objeto, se existir:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor que contém o objeto cuja configuração de retenção quer ver.
É aberta a página Detalhes do contentor, com o separador Objetos selecionado.
Navegue para o objeto, que pode estar localizado numa pasta.
Clique no nome do objeto.
É apresentada a página Detalhes do objeto, que apresenta os metadados do objeto. As informações sobre qualquer configuração de retenção que o objeto tenha são apresentadas na secção Proteção.
Linha de comandos
Use o comando gcloud storage objects describe
com a flag
--format
:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
Se for bem-sucedido e existir uma configuração de retenção para o objeto, a resposta é semelhante à seguinte:
retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'
Se for bem-sucedido e não existir uma configuração de retenção para o objeto, a resposta é semelhante à seguinte:
null
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido deGET
Object que inclua o camporetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com um pedido deGET
Object no âmbito de?retention
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/BUCKET_NAME/OBJECT_NAME?retention"
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto relevante. Por exemplo,kitten.png
.
O que se segue?
- Saiba mais acerca das configurações de retenção.
- Saiba mais sobre outras funcionalidades que protegem os seus dados do Cloud Storage.
- Saiba mais sobre a Gestão do ciclo de vida de objetos, que pode eliminar automaticamente ficheiros assim que atingirem o respetivo período de retenção.