Azure / batch-shipyard

Simplify HPC and Batch workloads on Azure
MIT License
277 stars 121 forks source link

AAD with storage account in another subscription #367

Open StephenCurran-TomTom opened 3 years ago

StephenCurran-TomTom commented 3 years ago

I have a question about using a service principal to access a storage account that lives in a different subscription to the subscription of my batch account.

I have the following configuration in my credentials.yaml file:

credentials:
  batch:
    account_service_url: https://batchxyz.westeurope.batch.azure.com
  storage:
    batchxyzstorage:
      resource_group: rg-batchxyz
      account: batchxyzstorage
    otherstorage:
      resource-group: rg-other
      account: otherstorage # This storage account lives in another subscription
  management:
    subscription_id: xyz

I run shipyard and pass the aad-directory-id, aad-application-id and aad-auth-key of a service principal. The service principal is in the Contributor role on subscription xyz where the batch account and batch storage account live. It also has read access to the otherstorage storage account that lives in another subscription. Shipyard fails because it assumes that otherstorage is in subscription xyz.

I've looked through the documentation and cannot figure out how to use AAD in conjunction with a storage account in another subscription. Is this possible? Thanks in advance for any pointers.