Esta página descreve como usar a funcionalidade de bloqueio de contentores, incluindo o trabalho com políticas de retenção e o bloqueio permanente das mesmas em contentores.
Antes de começar
Antes de poder usar a funcionalidade de bloqueio de contentores, certifique-se de que concluiu os passos nas secções seguintes.
Obtenha as funções necessárias
Para receber as autorizações necessárias para usar o bloqueio de contentores, peça ao seu administrador para lhe conceder a função de administrador do armazenamento (roles/storage.admin
) no contentor. Esta função predefinida contém as autorizações necessárias para usar o Bucket Lock. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
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.buckets.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.
Defina uma política de retenção num contentor
Para adicionar, modificar ou remover uma política de retenção num contentor:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor cuja política de retenção quer alterar.
Selecione o separador Proteção junto à parte superior da página.
Na secção Política de retenção, defina a política de retenção:
Se não se aplicar atualmente nenhuma política de retenção ao contentor, clique no link add_box Definir política de retenção. Escolha uma unidade de tempo e uma duração para o período de retenção.
Se uma política de retenção se aplicar atualmente a um contentor, aparece na secção. Clique em Editar para modificar o tempo de retenção ou em Eliminar para remover completamente a política de retenção.
Consulte Períodos de retenção para ver informações sobre como a Trusted Cloud consola faz a conversão entre diferentes unidades de tempo.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Trusted Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage buckets update
com a flag adequada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.FLAG
é a definição pretendida para o período de retenção do contentor. Use um dos seguintes formatos:--retention-period
e um período de retenção, se quiser adicionar ou alterar uma política de retenção. Por exemplo,--retention-period=1d43200s
.--clear-retention-period
, se quiser remover a política de retenção no contentor.
Se for bem-sucedido, a resposta tem o seguinte aspeto:
Updating gs://my-bucket/... Completed 1
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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
Go
Para mais informações, consulte a documentação de referência da API Go 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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
Ruby
Para mais informações, consulte a documentação de referência da API Ruby 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
.
O exemplo seguinte define uma política de retenção num contentor:
O exemplo seguinte remove a política de retenção de um contentor:
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:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS" } }
Onde
TIME_IN_SECONDS
é o período de tempo em segundos durante o qual os objetos no contentor têm de ser retidos. Por exemplo,2678400
. Consulte os períodos de retenção para ver informações sobre como as diferentes unidades de tempo são medidas em segundos.Para remover a política de retenção de um contentor, use o seguinte no ficheiro JSON:
{ "retentionPolicy": null }
Use
cURL
para chamar a API JSON com um pedido dePATCH
Bucket: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?fields=retentionPolicy"
Onde:
JSON_FILE_NAME
é o caminho para o ficheiro JSON que criou no passo 2.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
API XML
Não é possível usar a API XML para definir nem remover uma política de retenção num contentor existente. Só pode ser usado para incluir uma política de retenção com um novo contentor.
Bloqueie um contentor
Para bloquear um contentor e restringir permanentemente as edições à política de retenção do contentor:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor para o qual quer bloquear a política de retenção.
Selecione o separador Proteção junto à parte superior da página.
Na secção Política de retenção, clique no botão Bloquear.
É apresentada a caixa de diálogo Bloquear política de retenção?.
Leia o aviso Permanente.
Na caixa de texto Nome do contentor, introduza o nome do contentor.
Clique em Bloquear política.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Trusted Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage buckets update
com a flag
--lock-retention-period
:
gcloud storage buckets update gs://BUCKET_NAME --lock-retention-period
Onde BUCKET_NAME
é o nome do contentor relevante. Por exemplo, my-bucket
.
Se for bem-sucedido, a resposta é semelhante ao seguinte exemplo:
Updating gs://my-bucket/... Completed 1
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
.
Go
Para mais informações, consulte a documentação de referência da API Go 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
.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby 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 dePOST
Bucket:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/lockRetentionPolicy?ifMetagenerationMatch=BUCKET_METAGENERATION_NUMBER"
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.BUCKET_METAGENERATION_NUMBER
é o valor de metageração do contentor. Por exemplo,8
. Pode encontrar o valor de metageração do seu contentor chamando a API JSON com um pedidoGET
Bucket.
API XML
Não é possível usar a API XML para bloquear um contentor. Em alternativa, use uma das outras ferramentas de armazenamento na nuvem, como a Trusted Cloud consola.
Veja a política de retenção e o estado de bloqueio de um contentor
Para ver que política de retenção está definida num contentor, se existir, e se essa política de retenção está bloqueada:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Clique no nome do contentor cujo estado quer ver.
Se um contentor tiver uma política de retenção, o período de retenção é apresentado no campo Proteção do contentor. Se a política de retenção não estiver bloqueada, é apresentado um ícone de cadeado junto ao período de retenção num estado desbloqueado. Se a política de retenção estiver bloqueada, é apresentado um ícone de cadeado junto ao período de retenção num estado bloqueado.
Linha de comandos
Use o comando gcloud storage buckets describe
com a flag
--format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(retention_policy)"
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:
retention_policy: effectiveTime: '2022-10-04T18:51:22.161000+00:00' retentionPeriod: '129600'
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
.
Go
Para mais informações, consulte a documentação de referência da API Go 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
.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby 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
contentor que inclua ofields
pretendido:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Em que
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.Se o contentor tiver uma política de retenção definida, a resposta é semelhante ao seguinte exemplo:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS", "effectiveTime": "DATETIME", "isLocked": "BOOLEAN" }, }
API XML
Não é possível usar a API XML para ver a política de retenção num contentor. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a consolaTrusted Cloud .
O que se segue?
- Saiba mais acerca das políticas de retenção.
- Saiba como usar retenções de objetos.
- 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.