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:
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
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
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