Crie contentores WORM de armazenamento

Esta página explica como criar contentores de armazenamento de gravação única e leitura múltipla (WORM) em ambientes isolados do Google Distributed Cloud (GDC). Isto abrange os pré-requisitos e os passos para criar um contentor WORM com um período de retenção definido e para conceder autorizações de acesso através de associações de funções. Estas informações permitem-lhe aplicar práticas de retenção de dados rigorosas e imutabilidade, oferecendo um armazenamento de dados robusto e em conformidade para registos e exemplos de utilização, como o registo de auditoria.

Esta página destina-se a públicos-alvo, como administradores de TI no grupo de operadores de infraestrutura ou programadores no grupo de operadores de aplicações, que gerem as definições de conformidade e retenção de dados para contentores de armazenamento em ambientes isolados do GDC. Para mais informações, consulte o artigo Públicos-alvo para a documentação isolada do GDC.

Antes de começar

Um espaço de nomes do projeto gere os recursos de contentores no servidor da API Management. Tem de ter um projeto para trabalhar com contentores e objetos.

Também tem de ter as autorizações de contentor adequadas para realizar a seguinte operação. Consulte o artigo Conceda acesso ao contentor.

Crie um contentor WORM

Um contentor WORM garante que nada mais substitui os objetos e que os retém durante um período mínimo. O registo de auditoria é um exemplo de utilização de um contentor WORM.

Siga os passos seguintes para criar um contentor WORM:

  1. Defina um período de retenção quando criar o contentor. Por exemplo, o seguinte exemplo de contentor tem um período de retenção de 365 dias.

    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: 365
    
  2. Conceda a função de project-bucket-object-viewer a todos os utilizadores que precisam de acesso só de 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.io
    
  3. Conceda a função project-bucket-object-admin aos utilizadores que precisam de escrever conteúdo no contentor:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      namespace: foo-service
      name: object-write-access
    roleRef:
      kind: Role
      name: project-bucket-object-viewer
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: ServiceAccount
      namespace: foo-service
      name: foo-service-account