Azure AD访问Azure Storage
通过Azure AD的service Principal申请access token,可以不使用Azure的Storage Account Key来访问Azure的存储资源。
具体方法如下:
name="whuser01" sa="hwst" sub_id=$(az account list --query "[?isDefault]" | jq -r .[].id) az ad sp create-for-rbac -n $name --role reader --scopes /subscriptions/$sub_id client_id=$(az ad sp list --display-name $name | jq -r .[].appId) tenant_id=$(az ad sp list --display-name $name | jq -r .[].appOwnerOrganizationId) secret="xxxxxxxx" export token="$(curl -X POST \ -d "grant_type=client_credentials" \ -d "client_id=$client_id" \ -d "client_secret=$secret" \ -d "resource=https://storage.azure.com/" \ https://login.microsoftonline.com/$tenant_id/oauth2/token | jq -r .access_token)" curl --oauth2-bearer "$token" -i \ -H 'x-ms-version: 2017-11-09' \ https://$sa.blob.core.windows.net/?comp=list