Criar buckets WORM de armazenamento para projetos

Nesta página, mostramos como criar buckets WORM de armazenamento isolado do Google Distributed Cloud (GDC).

Antes de começar

Um namespace de projeto gerencia recursos de bucket no servidor da API Management. Você precisa ter um projeto para trabalhar com buckets e objetos.

Você também precisa ter as permissões de bucket adequadas para realizar a seguinte operação. Consulte Conceder acesso ao bucket.

Criar um bucket WORM

Um bucket WORM garante que nada mais substitua os objetos e os retém 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:

  1. Defina um período de armazenamento ao criar o bucket. Por exemplo, o bucket de exemplo a seguir tem um período de armazenamento 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 project-bucket-object-viewer a 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.io
    
  3. Conceda a função project-bucket-object-admin aos 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-viewer
      apiGroup: rbac.authorization.k8s.io
    subjects:
    - kind: ServiceAccount
      namespace: foo-service
      name: foo-service-account