Nesta página, mostramos como criar buckets WORM de armazenamento do Google Distributed Cloud (GDC) com isolamento físico.
Antes de começar
Os buckets de armazenamento são recursos com escopo definido para um projeto específico. O projeto funciona como um contêiner, agrupando seus buckets e permitindo o gerenciamento deles pelo servidor de API Management. Antes de realizar as operações nesta página, crie um novo projeto ou selecione um em que você tenha permissões suficientes.
Papéis necessários do IAM
Entre em contato com o administrador do projeto do IAM para solicitar os seguintes papéis no namespace do projeto:
- Administrador de projetos de bucket (
project-bucket-admin): criar, atualizar e excluir buckets de armazenamento. - Leitor de projetos de objetos de bucket (
project-bucket-object-viewer): visualizar e verificar 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 de gerenciamento ou no servidor da API global, faça o seguinte:
- Faça login e gere o arquivo kubeconfig para o servidor de API de gerenciamento zonal, se você não tiver um.
- Para buckets birregionais, faça o seguinte:
- Verifique com o operador de infraestrutura (IO) se o recurso personalizado
BucketLocationConfigfoi criado para as zonas pareadas. - Gere o arquivo kubeconfig para o servidor de API global.
- Verifique com o operador de infraestrutura (IO) se o recurso personalizado
Criar um bucket WORM
Um bucket WORM garante que nada mais substitua os objetos e os retém por um período mínimo. A geração de registros de auditoria é um exemplo de caso de uso de 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 por quantos dias cada versão do objeto fica 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