Esta página explica como criar contentores de armazenamento Write Once Read Many (WORM) em ambientes isolados do Google Distributed Cloud (GDC). 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 e imutabilidade rigorosas, 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 retenção e conformidade de dados para contentores de armazenamento em ambientes isolados do GDC. Para mais informações, consulte o artigo Públicos-alvo da documentação do GDC isolado.
Antes de começar
Um espaço de nomes do projeto gere os recursos do contentor 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.
Para contentores de zona dupla, configure o kubectl para aceder ao servidor da API Global. Siga os passos em Recursos do servidor da API Global e defina a variável de ambiente GLOBAL_API_SERVER para o ficheiro kubeconfig.
Crie um contentor WORM
Um contentor WORM garante que nada 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 abaixo para criar um contentor WORM:
Defina um período de retenção ao criar o contentor. Por exemplo, o seguinte contentor de exemplo 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: 365Conceda a função
project-bucket-object-viewera todos os utilizadores que precisem 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.ioConceda a função
project-bucket-object-adminaos utilizadores que precisem 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