Esta página mostra como criar buckets de armazenamento WORM isolados do Google Distributed Cloud (GDC).
Antes de começar
Os buckets de armazenamento são recursos com escopo para um projeto específico. O projeto funciona como um contêiner, agrupando seus buckets e permitindo o gerenciamento deles pelo servidor da API Management. Antes de realizar as operações nesta página, crie um projeto ou selecione um em que você tenha permissões suficientes.
Papéis do IAM obrigatórios
Entre em contato com o administrador do projeto do IAM para solicitar os seguintes papéis no namespace do projeto:
- Administrador de buckets do projeto (
project-bucket-admin): cria, atualiza e exclui buckets de armazenamento. - Leitor de objetos de buckets do projeto (
project-bucket-object-viewer): visualiza e verifica detalhes de buckets e objetos de armazenamento.
Para mais informações, consulte Conceder acesso ao bucket.
Preparar o ambiente
Para executar comandos no servidor da API Management ou no servidor da API global, faça o seguinte:
- Faça login e gere o arquivo kubeconfig para o servidor da API Management zonal, se você não tiver um.
- Para buckets birregionais, faça o seguinte:
- Verifique com o operador de infraestrutura (IO, na sigla em inglês) se o recurso personalizado
BucketLocationConfigfoi criado para as zonas pareadas. - Gere o arquivo kubeconfig para o servidor da API global.
- Verifique com o operador de infraestrutura (IO, na sigla em inglês) se o recurso personalizado
Criar um bucket WORM
Um bucket WORM garante que nada mais substitua objetos e os retenha por um período mínimo. O registro de auditoria é um exemplo de caso de uso para um bucket WORM.
Siga estas etapas para criar um bucket WORM:
Defina um período de armazenamento ao criar o bucket. O período de armazenamento define quantos dias cada versão do objeto é bloqueada contra exclusão ou modificação. Esse período de armazenamento é diferente da duração mínima de armazenamento da classe de armazenamento (como o mínimo de 30 dias para a classe de armazenamento
Standard). Por exemplo, o bucket a seguir define um período de armazenamento de 365 dias. Entre em contato com o operador de infraestrutura (IO) se precisar exceder os limites da política de retenção.apiVersion: object.gdc.goog/v1 kind: Bucket metadata: name: foo-logging-bucket namespace: foo-service spec: description: "Audit logs for foo" storageClass: Standard bucketPolicy: lockingPolicy: defaultObjectRetentionDays: 365Conceda o papel
project-bucket-object-viewera todos os usuários que precisam de acesso somente leitura:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-readonly-access roleRef: kind: Role name: project-bucket-object-viewer apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-log-processor - kind: User name: bob@example.com apiGroup: rbac.authorization.k8s.ioConceda o papel
project-bucket-object-adminaos usuários que precisam gravar conteúdo no bucket:apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: foo-service name: object-write-access roleRef: kind: Role name: project-bucket-object-admin apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount namespace: foo-service name: foo-service-account