亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Azure Blob Go lib使用TokenCredential訪問blob api總是返回錯誤

Azure Blob Go lib使用TokenCredential訪問blob api總是返回錯誤

Go
紫衣仙女 2023-07-31 15:38:52
我正在嘗試使用 azblob go libary 使用服務主體訪問 blob 存儲,我找到了一個 API: https: //godoc.org/github.com/Azure/azure-storage-blob-go/azblob#NewTokenCredential 似乎它可以從 Adal lib 中獲取 OAuthToken,但我總是收到此錯誤:AuthorizationPermissionMismatchoauthConfig, 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。
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

好消息是,身份驗證似乎已成功進行,因此您對 ADAL 庫的使用似乎沒問題。

出現此問題的最可能原因是,用于向 Azure Active Directory 進行身份驗證的主體沒有訪問存儲帳戶中的 blob 所需的權限。

您需要登錄 Azure 門戶,找到并選擇相關存儲帳戶,然后:

  1. 選擇訪問控制 (IAM)

  2. 轉到角色分配

  3. 單擊添加按鈕

  4. 從“角色”向下滾動到“存儲 Blob...”,然后選擇一種存儲 Blob 角色來滿足您的要求

  5. “選擇”文本框中,輸入您要通過 ADAL 獲取其令牌的主體名稱的一部分

  6. 單擊“保存”按鈕

完成后,嘗試再次運行您的應用程序。令牌可能需要刷新,因此請確保重新運行您的身份驗證和令牌檢索代碼。


查看完整回答
反對 回復 2023-07-31
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

我最終為 Azure 創建了一個服務請求票證,他們在此處回復了示例代碼,以便使用 golang 對 Azure 進行身份驗證:https: //github.com/google/go-cloud/blob/master/blob/azureblob/example_test。去#L111


查看完整回答
反對 回復 2023-07-31
  • 1 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號