Configurer un bucket Cloud Storage

Dans App Design Center, vous pouvez configurer un bucket Cloud Storage pour stocker et récupérer des données d'objets non structurées pour des charges de travail telles que la diffusion de contenu de site Web, l'archivage et la reprise après sinistre, ou la distribution d'objets volumineux. Vous pouvez personnaliser les connexions des composants et les paramètres de configuration du bucket en fonction du module Terraform terraform-google-cloud-storage.

Connexions des composants

Le tableau suivant inclut les composants que vous pouvez connecter à un bucket Cloud Storage, ainsi que les mises à jour de votre application et de son code Terraform généré qui en résultent.

Composant connecté

Mises à jour de l'application

Informations générales

Modèle d'instance Compute Engine

  • Les instances Compute Engine peuvent contrôler les objets du bucket, y compris les lister, les créer, les afficher et les supprimer.
  • Le rôle roles/storage.objectAdmin est attribué au compte de service du modèle d'instance Compute Engine.
Définir et gérer des stratégies IAM sur des buckets

compte de service

  • Le compte de service peut gérer les objets du bucket Cloud Storage.
  • Les informations IAM du compte de service sont ajoutées au bucket Cloud Storage.
  • Le rôle roles/storage.objectAdmin est attribué au compte de service.
Définir et gérer des stratégies IAM sur des buckets

Cloud Run

  • Le service Cloud Run peut gérer les objets du bucket Cloud Storage.
  • Les informations IAM du compte de service Cloud Run sont ajoutées au bucket Cloud Storage.
  • Le rôle roles/storage.objectAdmin est attribué au compte de service Cloud Run.
Se connecter aux services Google Cloud

Pub/Sub

  • L'abonnement Pub/Sub peut écrire des messages dans le bucket Cloud Storage.
  • Les informations sur le bucket Cloud Storage sont ajoutées aux champs de l'abonnement Pub/Sub.
Abonnements Cloud Storage

Paramètres de configuration requis

Si votre modèle inclut un composant Cloud Storage, vous devez configurer les paramètres suivants avant de le déployer.

Nom du paramètre

Description et contraintes

Informations générales

ID du projet

Projet dans lequel vous souhaitez déployer la ressource Cloud Storage.

Configurer les composants

Région

location Emplacement des buckets

Nom

name Noms de buckets

Paramètres de configuration facultatifs

Les paramètres suivants sont facultatifs. Pour afficher les paramètres avancés, dans la zone Configuration, sélectionnez Afficher les champs avancés.

Fonctionnalité

Nom du paramètre

Description et informations sur les contraintes

Informations générales

Classe de stockage

storageClass Classes de stockage

Stratégie du bucket seulement

iamConfiguration.uniformBucketLevelAccess Accès uniforme au niveau du bucket

Gestion des versions

versioning.enabled Gestion des versions des objets

Classe automatique

autoclass.enabled Classe automatique
Règle de conservation

Is Locked

retentionPolicy.isLocked Verrou de bucket

Durée de conservation

retentionPolicy.retentionPeriod Règle de conservation

Chiffrement

Nom de la clé KMS par défaut

encryption.defaultKmsKeyName Utiliser les clés de chiffrement gérées par le client

Règles de cycle de vie

Type

lifecycle.rule[].action.type Gestion du cycle de vie des objets

Classe de stockage

lifecycle.rule[].action.storageClass setStorageClass

Âge

lifecycle.rule[].condition.age l'âge

Envoyer l'âge si zéro

send_age_if_zero lifecycle_rules

Créé avant

lifecycle.rule[].condition.createdBefore createdBefore

Avec l'état

with_state lifecycle_rules

Correspond à la classe de stockage

lifecycle.rule[].condition.matchesStorageClass[] matchesStorageClass

Correspond au préfixe

lifecycle.rule[].condition.matchesPrefix[] matchesPrefix et matchesSuffix

Correspond au suffixe

lifecycle.rule[].condition.matchesSuffix[] matchesPrefix et matchesSuffix

Nombre de versions plus récentes

lifecycle.rule[].condition.numNewerVersions numNewerVersions

Date personnalisée avant

lifecycle.rule[].condition.customTimeBefore customTimeBefore

Nombre de jours écoulés depuis une date personnalisée

lifecycle.rule[].condition.daysSinceCustomTime daysSinceCustomTime

Nombre de jours depuis l'archivage

lifecycle.rule[].condition.daysSinceNoncurrentTime daysSinceNoncurrentTime

Délai avant archivage

lifecycle.rule[].condition.noncurrentTimeBefore noncurrentTimeBefore

Configuration de chiffrement interne

Créer une clé de chiffrement

Pour créer un trousseau de clés et une clé Cloud Key Management Service, cochez la case. Clés de chiffrement gérées par le client

Empêcher la destruction

Pour empêcher la destruction de la clé Cloud KMS, cochez la case. Versions de clé et objets verrouillés

Durée de planification de la destruction de la clé

destroyScheduledDuration Versions de clé et objets verrouillés

Période de rotation des clés

rotationPeriod Rotation des clés

Forcer la destruction

Pour supprimer tous les objets contenus dans un bucket lorsque vous le supprimez, cochez la case.

force_destroy

Membres IAM

Rôle

Ensemble d'autorisations que vous souhaitez accorder.

Définir et gérer des stratégies IAM sur des buckets

Membre

Comptes principaux auxquels le rôle est attribué.

Définir et gérer des stratégies IAM sur des buckets

Étiquettes

Clé

labels Tags et libellés

Valeur

labels Tags et libellés

Configuration d'emplacement personnalisé

Emplacements des données

customPlacementConfig.dataLocations[] Emplacements birégionaux

CORS

Origine

cors[].origin[] Partage des ressources interorigines (CORS)

Méthode

cors[].method[] Fonctionnement du CORS

En-tête de réponse

cors[].responseHeader[] Composants d'une configuration CORS

Âge maximal en secondes

cors[].maxAgeSeconds[] Composants d'une configuration CORS

Bucket de journaux

logging.logBucket Journaux d'utilisation et journaux de stockage

Préfixe d'objet journal

logging.logObjectPrefix Journaux d'utilisation et journaux de stockage

Site Web

Suffixe de la page principale

website.mainPageSuffix Attribuer des pages spécialisées (recommandé)

Page introuvable

website.notFoundPage Attribuer des pages spécialisées (recommandé)

Protection contre l'accès public

iamConfiguration.publicAccessPrevention Protection contre l'accès public

Règle de suppression réversible

Durée de conservation en secondes

softDeletePolicy.retentionDurationSeconds Supprimer de façon réversible