Criar buckets de armazenamento

Nesta página, mostramos como criar um bucket de armazenamento para seus projetos isolados do Google Distributed Cloud (GDC). Ele aborda pré-requisitos, etapas de criação e verificação e diretrizes de nomenclatura. Isso ajuda você a estabelecer um armazenamento de objetos em conformidade e bem configurado que atenda às necessidades das suas implantações isoladas.

Esta página é destinada a públicos-alvo como administradores de TI no grupo de operadores de infraestrutura ou desenvolvedores no grupo de operadores de aplicativos que querem provisionar e gerenciar buckets de armazenamento de objetos para projetos em ambientes isolados do GDC. Para mais informações, consulte Públicos-alvo para documentação isolada do 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.

Diretrizes de nomenclatura de buckets de armazenamento

Os nomes de bucket precisam seguir estas convenções de nomenclatura:

  • Ser exclusivo no projeto. Um projeto adiciona um prefixo exclusivo ao nome do bucket, garantindo que não haja conflitos na organização. No caso improvável de um conflito entre um prefixo e um nome de bucket em várias organizações, a criação do bucket falha com um erro "nome do bucket em uso".
  • Não inclua informações de identificação pessoal (PII).
  • Estar em conformidade com o DNS.
  • Ter pelo menos 1 e no máximo 55 caracteres.
  • Comece com uma letra e use apenas letras, números e hifens.

Criar um bucket

Console

  1. No menu de navegação, clique em Object Storage.
  2. Clique em Criar bucket.
  3. No fluxo de criação de bucket, atribua um nome exclusivo a todos os buckets do projeto.
  4. Digite uma descrição.
  5. Opcional: clique no botão toggle_off para definir uma política de retenção e insira o número de dias de sua preferência. Entre em contato com seu IO se precisar exceder os limites da política de retenção.
  6. Clique em Criar. Uma mensagem de confirmação vai aparecer, e você vai voltar para a página Buckets.

Para verificar se você criou um bucket, atualize a página Buckets após alguns minutos e confira se o estado do bucket mudou de Not ready para Ready.

CLI

Para criar um bucket, aplique uma especificação ao namespace do projeto:

kubectl apply -f bucket.yaml

Confira um exemplo de especificação de bucket:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: DESCRIPTION
  storageClass: Standard
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Este é um exemplo de especificação de bucket com a versão de criptografia como v1:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
  labels:
    object.gdc.goog/encryption-version: v1
spec:
  description: DESCRIPTION
  storageClass: Standard
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Para mais detalhes, consulte a referência da API Bucket.

Confira um exemplo de bucket de duas regiões na API global do administrador da organização:

apiVersion: object.global.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: PROJECT_NAME
spec:
  location: LOCATION_NAME
  description: Sample DZ Bucket
  storageClass: Standard

Somente a criptografia V2 é compatível com buckets de duas zonas, e todas as operações de criação, atualização ou exclusão de um recurso de bucket de duas zonas precisam ser realizadas no servidor de API global.

gdcloud

Para criar um bucket com o gdcloud, siga gdcloud storage buckets create.

Depois que o bucket for criado, execute o comando a seguir para confirmar e verificar os detalhes dele:

kubectl describe buckets BUCKET_NAME -n NAMESPACE_NAME

A seção Status tem dois campos importantes: Criptografia (para detalhes de criptografia) e Nome totalmente qualificado (que contém o FULLY_QUALIFIED_BUCKET_NAME).

Criptografia v1

As informações são sobre a AEADKey chamada obj-FULLY_QUALIFIED_BUCKET_NAME, que serve como referência à chave de criptografia usada para criptografar objetos armazenados no bucket. Veja um exemplo:

Status:
  Encryption:
    Key Ref:
      Kind: AEADKey
      Name: obj-FULLY_QUALIFIED_BUCKET_NAME
      Namespace: NAMESPACE_NAME
    Type: CMEK

Criptografia v2

As informações se referem ao Secret chamado kek-ref-FULLY_QUALIFIED_BUCKET_NAME, que atua como uma referência para AEADKeys padrão ativas. As AEADKeys padrão ativas são selecionadas aleatoriamente para criptografar objetos enviados ao bucket quando uma AEADKey específica não é especificada.

Veja um exemplo:

Status:
  Encryption:
    Key Ref:
      Kind: Secret
      Name: kek-ref-FULLY_QUALIFIED_BUCKET_NAME
      Namespace: NAMESPACE_NAME
    Type: CMEK

Você também pode executar o comando a seguir para verificar se as AEADKeys necessárias foram criadas:

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME

Depois de criar um bucket, você pode gerenciá-lo em nome dos operadores de aplicativos (AOs) criando um arquivo de política ao conceder acesso ao bucket e atribuindo a política a um bucket.