我正在尝试使用 azblob go libary 使用服务主体访问 blob 存储,我找到了一个 API: https: //godoc.org/github.com/Azure/azure-storage-blob-go/azblob#NewTokenCredential 似乎它可以从 Adal lib 中获取 OAuthToken,但我总是收到此错误:AuthorizationPermissionMismatch
oauthConfig, err := adal.NewOAuthConfig(env.ActiveDirectoryEndpoint, tenantID)
spt, err := adal.NewServicePrincipalToken(*oauthConfig, clientID, clientSecret, "https://storage.azure.com/")
creds := azblob.NewTokenCredential(spt.OAuthToken(), nil)
blobPipeline := azblob.NewPipeline(creds, azblob.PipelineOptions{})
url := azblob.NewContainerURL(*URL, blobPipeline)
_, err := url.ListBlobsHierarchySegment(...)
如果我将 NewTokenCredential 与 SharedKeyToken 进行交换,那么代码可以正常运行,但我们不能在我们的环境中使用 SharedKeyToken。
尚方宝剑之说
慕码人8056858
相关分类