Managed identity refresh may not be working properly

ZD: https://gitlab.zendesk.com/agent/tickets/656247

Reproduction behavior as reported:

  1. Create a Linux VM on Azure, assign it a system identity (default)
  2. Create a storage account, assign the system identity of the VM Storage Account Data Owner rights.
  3. Install GitLab in omnibus mode on the Linux VM
  4. Configure GitLab to use the storage account as external object storage, using the System Identity for authentication (so no SAS or Access Key)
  5. Start GitLab
  6. Trigger an Upload of an artifact to the container via a process that runs in SideKiq, an example would be an NPM Package, or Artifact of a build (ensure that External Object Storage is activated for those)
  7. Notice it passing
  8. Wait 24 Hours (This is the lifetime of the token)
  9. Repeat step 6)
  10. Notice it now failing (Because the token ran out)