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
- No menu de navegação, clique em Object Storage.
- Clique em Criar contentor.
- No fluxo de criação de contentores, atribua um nome exclusivo a todos os contentores no projeto.
- Insira uma descrição.
- 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.
- 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.
Valide a criação do contentor e dos recursos relacionados
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.