Transférer des données d'Amazon S3 vers Cloud Storage à l'aide de VPC Service Controls et du service de transfert de stockage


Ce tutoriel explique comment renforcer la sécurité des transferts de données d'Amazon Simple Storage Service (Amazon S3) vers Cloud Storage en utilisant le service de transfert de stockage avec un périmètre VPC Service Controls. Ce tutoriel s'adresse aux propriétaires de données qui disposent de données hébergées sur Amazon S3 et souhaitent les traiter ou les transférer en toute sécurité vers Google Cloud.

Pour ce tutoriel, nous partons du principe que vous connaissez bien Amazon Web Services (AWS) et que vous maîtrisez les principes de base de l'utilisation de données au sein de magasins d'objets. Ce tutoriel applique une méthode de contrôle d'accès reposant sur un compte de service et sur l'utilisation d'Access Context Manager. Pour utiliser des niveaux d'accès plus avancés que ne le permet la méthode basée sur un compte de service, reportez-vous à la section Créer un niveau d'accès.

Architecture

Le schéma suivant présente l'architecture de VPC Service Controls.

Architecture de VPC Service Controls configurée pour interdire toute communication entre les services Google Cloud à l'extérieur du périmètre contrôlé.

Dans le schéma ci-dessus, VPC Service Controls interdit explicitement la communication entre les services Google Cloud, sauf si les deux projets se trouvent dans le périmètre contrôlé.

Objectifs

  • Configurer l'accès à AWS
  • Créer un périmètre VPC Service Controls
  • Créer une stratégie d'accès et un niveau d'accès à l'aide d'Access Context Manager
  • Mettre en œuvre le service de transfert de stockage pour transférer des données entre Amazon S3 et Cloud Storage
  • Programmer le service de transfert de stockage pour récupérer des données de manière planifiée

Coûts

Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :

L'utilisation du service de transfert de stockage n'entraîne pas de frais supplémentaires. Cependant, les tarifs de Cloud Storage et les coûts des fournisseurs externes s'appliquent lors de l'utilisation du service.

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.

En plus des ressources Google Cloud, ce tutoriel utilise les ressources Amazon Web Services (AWS) suivantes, qui peuvent être payantes :

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activer les API Access Context Manager, Cloud Storage, and Storage Transfer Service.

    Activer les API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activer les API Access Context Manager, Cloud Storage, and Storage Transfer Service.

    Activer les API

  8. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  9. Dans Google Cloud Console, accédez à la page IAM et administration pour attribuer à votre compte le rôle d'administrateur de l'espace de stockage et d'administrateur Access Context Manager.
    Accéder à la page IAM et administration
  10. Le rôle Administrateur de l'espace de stockage dispose des autorisations suivantes :

    • firebase.projects.get
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • storage.buckets.*
    • storage.objects.*

    Le rôle Administrateur Access Context Manager dispose des autorisations suivantes :

    • accesscontextmanager.accessLevels.*
    • accesscontextmanager.accessPolicies.*
    • accesscontextmanager.accessPolicies.setIamPolicy
    • accesscontextmanager.accessPolicies.update
    • accesscontextmanager.accessZones.*
    • accesscontextmanager.policies.*
    • accesscontextmanager.servicePerimeters.*
    • resourcemanager.organizations.get

Configurer l'accès à AWS

Dans ce tutoriel, vous allez vous appuyer sur des utilisateurs existants d'AWS Identity and Access Management (AWS IAM) pour créer une stratégie AWS IAM permettant de communiquer avec le service de transfert de stockage. Ces stratégies et ces utilisateurs sont nécessaires pour authentifier votre connexion à Google Cloud et pour sécuriser vos données en transit. Pour suivre ce tutoriel, vous devez disposer d'un bucket Amazon S3 depuis lequel transférer des données. Vous avez la possibilité d'utiliser un bucket Amazon S3 existant ou de créer un bucket. Vous pouvez utiliser un compte AWS bac à sable ou de test pour ne pas affecter les ressources de production du même compte.

Créer une stratégie AWS IAM pour le service de transfert de stockage et appliquer celle-ci à votre bucket

  1. Dans AWS Management Console, accédez à la page IAM.
  2. Cliquez sur Stratégies, puis sur Créer une stratégie.
  3. Dans l'éditeur visuel, cliquez sur Stratégie IAM.
  4. Cliquez sur S3.
  5. Sous Niveau d'accès, sélectionnez les cases à cocher suivantes :

    • List (Liste)
    • Read (Lire)
    • Write (Écrire)
  6. Dans le volet Ressources, cliquez sur Spécifique.

  7. Dans le volet Bucket, cliquez sur Ajouter un ARN.

  8. Dans le champ Bucket Name (Nom du bucket), saisissez le nom du bucket depuis lequel vous souhaitez transférer des données.

  9. Cliquez sur Review Policy (Examiner une stratégie) et saisissez un nom tel que transfer-user-policy.

  10. Cliquez sur Create Policy (Créer une stratégie).

Ajouter des utilisateurs AWS IAM à votre stratégie AWS IAM

  1. Dans AWS Management Console, accédez à la page IAM.
  2. Cliquez sur Users (Utilisateurs), puis sur Add User (Ajouter un utilisateur).
  3. Dans le champ Nom, saisissez transfer-user.
  4. Pour Access Type (Type d'accès), cliquez sur Programmatic Access (Accès par programmation) et joignez la stratégie transfer-user-policy que vous avez créée pour cet utilisateur.
  5. Une fois l'utilisateur créé, prenez note de votre paire ID d'accès/clé secrète, qui vous sera demandée dans la suite de ce tutoriel.
  6. Cliquez sur Enregistrer.

Créer un bucket Cloud Storage

Avant de pouvoir activer un périmètre VPC Service Controls, vous devez créer un bucket Cloud Storage.

  1. Dans Google Cloud Console, accédez à la page du Navigateur Cloud Storage.

    Accéder à la page du navigateur Cloud Storage

  2. Cliquez sur Créer un bucket.

  3. Dans le champ Nom, saisissez un nom (tel que project-id-destination-bucket, où project-id représente votre ID de projet Google Cloud).

  4. Pour la classe de stockage par défaut du bucket, cliquez sur Stockage régional.

  5. Dans la liste déroulante Emplacement, cliquez sur la région dans laquelle les données du bucket seront stockées.

  6. Cliquez sur Créer.

Trouver le nom de votre compte de service de transfert de stockage

Le service de transfert de stockage utilise un compte de service géré par Google pour communiquer avec les ressources Cloud Storage et Pub/Sub de votre projet. Vous devez maintenant déterminer le nom de votre compte de service, qui vous sera demandé dans la suite de ce tutoriel. Si vous n'avez jamais utilisé le service de transfert de stockage, la commande suivante crée automatiquement son compte de service. Pour en savoir plus sur les comptes de service gérés par Google, consultez la page Comptes de service.

  1. Pour déterminer le nom de votre compte de service, accédez à la page de l'API Storage Transfer Service.
  2. Dans le champ Chaîne, saisissez votre ID de projet Google Cloud.

    Le nom du compte de service est généralement au format suivant : project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com.

Créer votre stratégie d'accès dans Access Context Manager

Une stratégie d'accès collecte les périmètres de service et les niveaux d'accès que vous avez créés pour votre organisation. Une organisation ne peut disposer que d'une seule stratégie d'accès.

  1. Accédez à la page Paramètres dans Google Cloud Console.

    Accéder à la page Paramètres

  2. Prenez note de votre ID de