Crie contentores de armazenamento

Esta página explica como criar um contentor de armazenamento para os seus projetos isolados do Google Distributed Cloud (GDC). Abrange os pré-requisitos, os passos de criação e validação, e as diretrizes de nomenclatura. Isto ajuda a estabelecer um armazenamento de objetos em conformidade e bem configurado que satisfaça as necessidades das suas implementações isoladas.

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 pretendem aprovisionar e gerir contentores de armazenamento de objetos para projetos 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.

Diretrizes de nomenclatura de contentores de armazenamento

Os nomes dos contentores têm de cumprir as seguintes convenções de nomenclatura:

  • Ser exclusivo no projeto. Um projeto anexa um prefixo exclusivo ao nome do contentor, o que garante que não existem conflitos na organização. No caso improvável de um conflito entre um prefixo e um nome de segmento em várias organizações, a criação do segmento falha com um erro "nome do segmento em utilização".
  • Abstenha-se de incluir informações de identificação pessoal (IIP).
  • Ser compatível com DNS.
  • Ter, pelo menos, 1 e, no máximo, 55 carateres.
  • Comece com uma letra e use apenas letras, números e hífenes.

Crie um contentor

Consola

  1. No menu de navegação, clique em Object Storage.
  2. Clique em Criar contentor.
  3. No fluxo de criação de contentores, atribua um nome exclusivo a todos os contentores no projeto.
  4. Insira uma descrição.
  5. Opcional: clique no botão toggle_off para definir uma política de retenção e introduza o número de dias pretendido. Contacte a sua OI se precisar de exceder os limites da política de retenção.
  6. Clique em Criar. É apresentada uma mensagem de êxito e é feito o redirecionamento para a página Recipientes.

Para verificar se criou um novo contentor com êxito, atualize a página Contentores após alguns minutos e verifique se o estado do contentor é atualizado de Not ready para Ready.

CLI

Para criar um contentor, aplique uma especificação de contentor ao espaço de nomes do seu projeto:

kubectl apply -f bucket.yaml

Segue-se um exemplo de uma especificação de grupo:

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

Segue-se um exemplo de uma especificação de contentor com a versão de encriptação 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.

Segue-se um exemplo de um contentor de zona dupla na API global de 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

Tenha em atenção que apenas a encriptação V2 é suportada para contentores de duas zonas e que todas as operações de criação, atualização ou eliminação de um recurso de contentor de duas zonas têm de ser realizadas no servidor da API global.

gdcloud

Para criar um contentor com o gdcloud, siga as instruções em gdcloud storage buckets create.

Depois de criar o contentor, pode executar o seguinte comando para confirmar e verificar os detalhes do contentor:

kubectl describe buckets BUCKET_NAME -n NAMESPACE_NAME

A secção Estado tem dois campos importantes: Encriptação (para detalhes de encriptação) e Nome completo (que contém o FULLY_QUALIFIED_BUCKET_NAME).

Encriptação v1

As informações referem-se à AEADKey denominada obj-FULLY_QUALIFIED_BUCKET_NAME, que serve de referência à chave de encriptação usada para encriptar objetos armazenados no contentor. Vejamos um exemplo:

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

Encriptação v2

As informações referem-se ao segredo denominado kek-ref-FULLY_QUALIFIED_BUCKET_NAME, que funciona como uma referência para AEADKeys predefinidas ativas. As AEADKeys predefinidas ativas são selecionadas aleatoriamente para encriptar objetos carregados para o contentor quando não é especificada uma AEADKey específica.

Vejamos um exemplo:

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

Também pode executar o seguinte comando 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 contentor, pode geri-lo em nome dos operadores de aplicações (AOs) criando um ficheiro de política quando concede acesso ao contentor e atribuindo a política a um contentor.