Using rClone to perform enterprise level migrations

We've been attempting to use mover io to migrate data between Box com and OneDrive for Business and it transpires that boxnotes are not transferred. (This is frustrating as the mover io product previously converted them before the Microsoft acquisition.)

I've volunteered to have a look to see if rClone can help here, but have become stuck at doing the enterprise level copy portion: whilst copying from Box user a) to OneDrive user a) works flawlessly, but I don't know how - when using an BoxAdmin account - to make rClone understand it's not the user Boxadmin, but the whole enterprise.

Anybody cracked this? I was hoping it was simple as stepping back one directory to expose all users, but nothing is ever that simple :slight_smile:

I'm by no means an expert on Box but I don't think there is anything like that from what I can tell in reading through the API. Google Drive, as an example, allows for service accounts and impersonation, but that doesn't seem like it is in Box.

Perhaps @ncw knows something or someone that uses box more.

If I've learnt anything about cloud storage over the years, it is the authentication that is the hard bit - copy the data is easy in comparison!

You can configure the sub_type of the box backend

  • Config: box_sub_type
  • Env Var: RCLONE_BOX_BOX_SUB_TYPE
  • Type: string
  • Default: "user"
  • Examples:
    • "user"
      • Rclone should act on behalf of a user
    • "enterprise"
      • Rclone should act on behalf of a service account

So you can get the box backend to use service account. I'm not sure exactly how you read the different users from there though. In the drive backend we have an impersonate flag - maybe you need something like that.

I don't know whether the box interface allows you to see one level above (the dropbox one does for example).

As for onedrive for business we haven't exposed specific facilities to show multiple users - I don't know whether you can do this through the graph settings.

So I think that there are probably some authentication bits missing from rclone to do the job you need without having to authenticate each user. We'd need a --onedrive-impersonate and a --box-impersonate flag. I think both are possible but neither are implemented right now!

1 Like