Если вы хотите использовать Azure AD токен доступа для доступа к Azure API остального блоба, нам нужно назначить Azure RAB C Роль ( Владелец данных хранилища BLOB-объектов , Поставщик данных хранилища BLOB-объектов или Устройство чтения данных хранилища BLOB-объектов ) для участника службы или пользователя AD. Для получения более подробной информации, пожалуйста, обратитесь к документу
Например (я использую субъект-службу) 1. Создайте субъект-службу и назначьте роль Azure RAB C для sp.
az login
az account set --subscription "<your subscription id>"
# it will assign Storage Blob Data Reader to the sp at storage accountlevel
az ad sp create-for-rbac -n "mysample" --role Storage Blob Data Reader --scopes <the resource id of storage account>
Получить токен доступа AD
POST /<your sp tenant id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
grant_type =client_credentials
&client_id=<your sp appId>
&client_secret=<your sp password>k
&resource=https://storage.azure.com/
Список BLOB-объектов
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list
x-ms-version: 2017-11-09
Authorization: Bearer <access token>