Créer des buckets de stockage pour les projets

Cette page vous explique comment créer des buckets de stockage isolés Google Distributed Cloud (GDC).

Avant de commencer

Un espace de noms de projet gère les ressources de bucket sur le serveur de l'API Management. Vous devez disposer d'un projet pour travailler avec des buckets et des objets.

Vous devez également disposer des autorisations de bucket appropriées pour effectuer l'opération suivante. Consultez Accorder l'accès à un bucket.

Consignes de dénomination des buckets de stockage

Les noms de buckets doivent respecter les conventions de dénomination suivantes :

  • être unique dans le projet ; Un projet ajoute un préfixe unique au nom du bucket, ce qui évite les conflits au sein de l'organisation. Dans le cas peu probable où un préfixe et un nom de bucket entreraient en conflit entre plusieurs organisations, la création du bucket échouerait et un message d'erreur "Nom de bucket déjà utilisé" s'afficherait.
  • N'incluez aucune information permettant d'identifier personnellement l'utilisateur.
  • être conforme au DNS ;
  • comporter entre 1 et 55 caractères ;
  • Commencez par une lettre et n'utilisez que des lettres, des chiffres et des traits d'union.

Créer un bucket

Console

  1. Dans le menu de navigation, cliquez sur Stockage d'objets.
  2. Cliquez sur Créer un bucket.
  3. Dans le flux de création de bucket, attribuez un nom unique à tous les buckets du projet.
  4. Saisissez une description.
  5. Facultatif : Cliquez sur le bouton toggle_off pour définir une règle de conservation et saisissez le nombre de jours de votre choix. Contactez votre responsable des opérations si vous devez dépasser les limites de la règle de conservation.
  6. Cliquez sur Créer. Un message de confirmation s'affiche et vous êtes redirigé vers la page Buckets.

Pour vérifier que vous avez bien créé un bucket, actualisez la page Buckets au bout de quelques minutes et vérifiez que l'état du bucket passe de Not ready à Ready.

CLI

Pour créer un bucket, appliquez une spécification de bucket à l'espace de noms de votre projet :

kubectl apply -f bucket.yaml

Voici un exemple de spécification 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

Voici un exemple de spécification de bucket avec la version de chiffrement 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

Pour en savoir plus, consultez la documentation de référence de l'API Bucket.

Voici un exemple de bucket à double zone dans l'API globale org-admin :

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

Notez que seul le chiffrement V2 est compatible avec les buckets à double zone. Toutes les opérations de création, de mise à jour ou de suppression d'une ressource de bucket à double zone doivent être effectuées sur le serveur d'API global.

gdcloud

Pour créer un bucket avec gdcloud, suivez gdcloud storage buckets create.

Une fois le bucket créé, vous pouvez exécuter la commande suivante pour confirmer et vérifier les détails du bucket :

kubectl describe buckets BUCKET_NAME -n NAMESPACE_NAME

La section État comporte deux champs importants : Chiffrement (pour les détails du chiffrement) et Nom complet (qui contient le FULLY_QUALIFIED_BUCKET_NAME).

Chiffrement v1

Ces informations concernent la clé AEAD nommée obj-FULLY_QUALIFIED_BUCKET_NAME, qui sert de référence à la clé de chiffrement utilisée pour chiffrer les objets stockés dans le bucket. Voici un exemple :

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

Chiffrement V2

Les informations concernent le secret nommé kek-ref-FULLY_QUALIFIED_BUCKET_NAME, qui sert de référence pour les clés AEAD par défaut actives. Les AEADKeys actives par défaut sont sélectionnées de manière aléatoire pour chiffrer les objets importés dans le bucket lorsqu'aucune AEADKey spécifique n'est spécifiée.

Voici un exemple :

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

Vous pouvez également exécuter la commande suivante pour vérifier que les AEADKeys nécessaires ont été créées :

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