Google Drive to SharePoint Online Migration Guide

Introduction

This is the complete onboarding task flow for migrating folders and documents from Google Drive to Microsoft SharePoint Online.

This migration guide contains the necessary steps to perform the actual migration, but there are many steps to preparing for migration. If this is your first time performing a migration, we have created a Migration Planning & Strategy Guide to walk you through planning, set-up, and general migration best practices.

To discover what items are moved with MigrationWiz in this scenario, and which items will not be moved, see Moved Items. Note that these items will vary by source and destination, so check the proper environment listings carefully.

MigrationWiz is a migration tool, not a syncing tool. If changes are made at the source after migration, they will not sync to the destination, nor will changes made at the destination sync to the source. We do not have “live” monitoring of changes (as with a sync agent) and we cannot handle scenarios such as conflict resolution without user interaction.

This is a one-to-many migration path. This means that data that belongs to one user will be migrated into a shared document library. This is a rare business case because individual data would then be accessible by multiple people.

If performing a Google Drive to OneDrive for Business migration, refer to the Google Drive to OneDrive for Business Migration Guide. This is the most common migration scenario for Google Drive migrations.

This migration scenario will only migrate the content from the users' Google Drive accounts into the SharePoint Online document library. It will not migrate the permissions in the Source Google Drive shared documents. Make sure to deselect Document Permissions before submitting your migration pass.

Items and folders in "Shared with Me" will not be migrated. Only items in "My Drive" will be migrated. To migrate "Shared with Me" items, they must be added to "My Drive".

This migration scenario is free and requires no MigrationWiz licenses.

Note: Due to versioning, storage usage on SharePoint may be increased when migrating with permissions. To not have permissions migrated, see Step 6 in the MigrationWiz Steps section below.

Prepare Azure Environment

If using Microsoft provided Azure storage, you can skip this section.

  1. Estimate Azure storage costs. This step is optional but is useful in order to provide the customer with upfront storage costs ahead of time. For more information, see Estimate Azure Storage costs for migrations.
  2. Buy an Azure subscription (or use the free one-month trial, and be aware that this option is only viable if you are performing a very small migration). For more information on Azure storage, see Azure for MigrationWiz.
  3. See How do I create an Azure Storage Account​? to create your storage account. You will need to set up a STORAGE (General Purpose v1 or v2) account rather than a storage blob. Take note of the storage account name and the primary access key. (In Azure, from the storage screen, click Manage Access Keys at the bottom of the screen.) These need to be entered into the MigrationWiz migration project when specifying the Destination settings. We recommend that you create your Azure storage account in the same Microsoft data center as the Destination Office 365 tenant. There is no need to create any Azure containers for this migration.

Note: The access key information that is needed are these:

  • -accesskey – This is the Storage account name for the Blob – example “accountname”
  • -secretkey - This is the access key for the Storage account – example “W1RrDfkPNkfYfdVqizMNJjn5mXchwMP5uYBY8MsMqWTA7EubG911+4fZlki0Gag==”

Prepare the Source Environment

Google Drive (Own Service Account) Endpoint 

This endpoint requires your tenant service account to be set up and Google APIs be enabled. Follow the steps below to set up your environment for this endpoint. 

Prerequisites:

  • Subscription to Google Cloud Platform

  • Google Super Administrator account

  • Ability to set up a service account on the G Suite tenant

  • Service account must be set up before the MigrationWiz project is created

 Step 1: Create a Google Project:

  1. Go to the Google Cloud Platform (GCP) Console and sign in as a super administrator. Choose one of the options below:

    • If you haven't used the Google Cloud Platform Console before, agree to the Terms of Service and click Create Project.

    • If you have used Google Cloud Platform Console before, at the top of the screen next to your most recent project name, click Down to open your projects list. Then, click New Project.

  2. Enter a project name and click Create.

 Step 2: Enable APIs for Service Account

  1. From the Google Cloud Platform Console, click Menu > APIs & Services > Library.

  2. Enable the following APIs by selecting the specific API and clicking Enable.
    Repeat for each API listed below:

    • Google Drive API

    • Admin SDK

Make sure that the respective services are enabled within the Google tenant. You can control services for your users using the instructions on this page: Control who can access G Suite and Google Services.

 Step 3: Create Customer Tenant Service Account

  1. From the Google Cloud Platform Console, click Menu > IAM & Admin > Service accounts.

  2. Click Create Service Account and enter a name.

  3. Click Create.

  4. Assign the role of Owner to the new Service Account by selecting Owner from the Role drop down menu.

  5. Click Done.

  6. You will now be returned to the "Service Accounts" page. 
  7. On ‘Service accounts' page, click vertical ellipsis under 'Actions’ column for the service account created above.
  8. Click + Add Key.

  9. Click Create New Key.

  10. Make sure that JSON is selected as "Key Type."

  11. Click Create.

  12. Click Close.
    Notes:

    • Make sure that you download the key as a JSON file and make a note of the name and location of the file. This JSON file will be used when setting up the migration endpoint in the Mailbox Migration project.

    • The JSON file must contain information in the following fields: “type”, “private key”, and “client email”. If these mandatory fields are empty the file upload during endpoint creation will fail.

Step 4: Setting the Scopes for the Migration

From the Google Cloud Platform Console:

    1. Click Menu.
    2. Click IAM & Admin.
    3. Click Service Accounts.
    4. Find the service account that was set up in Step 3: Create Customer Tenant Account.
    5. Find the Unique ID field for that service account by clicking the Column Display Options button in the right upper corner above Actions and copy the ID number. This is the Client ID number that will be used in a later step.
      Note:
      • This field often needs to be added to the view. Click on the Column display options button and add a checkmark to Unique ID, then click OK.
      • This Client ID should be considered similar to Administrator account passwords and handled securely.
    6. You will now have one of two options, depending on if the Google UI has been updated in your tenant.

    Old Google Tenant:

    1. Go to the G Suite admin page at google.com.
    2. Click Security.
    3. Click Advanced Settings.
    4. Click Manage API Client Access.

    OR If your account shows the latest UI updates from Google, as shown below:New_Google_Admin_APP_Access_Control.JPG

    1. Go to the G Suite admin page at google.com.
    2. Click Security.
    3. Click Advanced Settings.
    4. Under ‘Domain-wide delegation’, click Manage domain-wide delegation.
    5. On the Manage domain-wide delegation page, click Add new.

     Once these steps are complete:

    1. In the Client ID field, paste the Unique ID copied above.
    2. In the OAuth scopes (comma-delimited) field, paste all scopes listed below:
      1. For source endpoint :
        https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/drive.readonly
        OR
      2. For destination endpoint (must include read-write scopes):
        https://www.googleapis.com/auth/admin.directory.group, https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/drive.readonly,
        https://www.googleapis.com/auth/drive
    3. Click Authorize.

     You should now see your specific Unique ID and the associate scopes listed.

Prepare the Destination Environment

  1. Create a SharePoint Online administrator or Site Collection administrator account to be used for migration, or use the global admin account for the tenant. Read the Manage administrators for a site collection article from Microsoft for more information.
  2. Create a SharePoint site.
    Note: Make a note of the site URL where the document libraries will be stored. This will be entered when creating your MSPComplete Destination endpoint.
  3. Before beginning the migration project, create the structure of the document libraries, and also create the actual document libraries on the Destination SharePoint Online site.
    Note: Refer to the Training: Introduction to document libraries video from Microsoft for more information.
  4. Set up the app-based authentication in the Office 365 tenant. For specific instructions, see Sharepoint App-based Authentication.

MigrationWiz Steps

Create New Project

Google Drive (Own Service Account) Endpoint

To create a new migration project:

    1. Click the Go To My Projects button.
    2. Click the Create Project button.
    3. Click on the type of project that you wish to create. For this scenario, select Document. Document projects are used to migrate document drives from one cloud storage to another. Document migrations will maintain the folder hierarchy from the source to the destination.
    4. Click Next Step.
    5. Enter a Project name and select a Customer.
      Note: If you have not already added the customer into MSPComplete, you will need to click New to create the Customer. For steps on creating customers, see View, Add, and Edit Your Customers.
    6. Click Next Step.
    7. Select a Source Endpoint from the Endpoint dropdown menu or create a new endpoint. 
      Notes:
      • Click Endpoints > Add Endpoint > Enter endpoint name > For endpoint type, select Google Drive (Own Service Account).

      • Click Select File > Navigate to and select the JSON file that contains the Google Service Account key that was saved during the service account setup process.

      • Enter the Google admin account email address. Please note that this admin email should match the end user domain.

    8. Select the SharePoint Online Destination Endpoint from the Endpoint dropdown menu or create a new one.
    9. Click Save and Go to Summary.
      Note: If setting up a Tenant to Tenant Coexistence mailbox project, check the box for Enable Tenant to Tenant Coexistence. Otherwise, leave that box unchecked.

Once the project is created:

  1. Add the accounts (items) that will be migrated to the project. Read the How do I add items to my migration project? article for more information.
    • Click Add and enter the email address of each Google Drive user for Source, and the corresponding document library name at the Destination that the Source documents will be migrated into.
      • If the document library is named "Documents" and the URL is listed as "xxxxxx.sharepoint.com/Documents/", enter Documents as the document library name.
      • If your document library is named "Documents" but the URL says "xxxxxx.sharepoint.com/Shared Documents/", the name of the document library that needs to be entered is Shared Documents.
    • Note: ‘/' characters are not supported in the destination library name. Attempting to migrate any destination library with a '/' character will result in a migration failure.
  2. Set the Project Advanced Options. Read the MigrationWiz - Advanced Options & General Options article for more information.
    • Under Support/Support Options add:
      • InitializationTimeout=8 - This increases the initialization timeout window to eight hours. Read the Cannot get folders from My Drive article for more information.
      • RenameConflictingFiles=1- This automatically renames the files that have the same name. It will rename the files to their original file names, followed by a unique identifier hash so it does not interfere with the original name and search. Read the How do I migrate multiple files with the same name into OneDrive? article for more information.
        Note: There are no spaces on either side of the "=" sign, and the entries are case-sensitive, so pay special attention to the capital letters in the commands above.
  3. Run Verify Credentials. Read the How do I verify credentials? article for more information.
  4. Notify users that a migration is occurring. Send an email to all users letting them know the time and date of the migration. During this time, they should not modify any documents in their Google Drive accounts, because any modifications will not be included in the migration.
  5. Perform the migration. Read the How do I start a migration? for more information.
    Important: Deselect permissions before migrating. If permissions are left checked, this will result in errors during your migration, because permissions cannot be migrated for this scenario.
  6. Click the pie chart icon in the MigrationWiz dashboard to receive an email containing all the project migration statistics. Read the How do I request statistics for my migration project? article for more information.

Post-Migration 

  • To prevent users from inadvertently logging in and using their Google Drive accounts, decommission the Google Drive user accounts, or change their passwords.
  • Delete all the Azure containers used for this migration. This will prevent incurring post-migration Azure costs for these containers. Be careful to only delete the containers created for this migration.
Was this article helpful?
0 out of 0 found this helpful