使用者身分識別驗證提供直接的方式,使用您的個人 Microsoft Entra ID 認證來授權 AzCopy 作業。 此驗證方法非常適合您手動執行 AzCopy 命令或在開發環境中工作的互動式案例。
本文說明如何使用使用者身分識別搭配環境變數、互動式 AzCopy 登入命令,或利用現有的 Azure CLI 或 Azure PowerShell 會話來驗證 AzCopy。
若要瞭解授權存取 AzCopy 的其他方式,請參閱 授權 AzCopy。
驗證角色指派
請確定您的使用者身分識別具有預期作業所需的 Azure 角色:
針對下載作業,請使用儲存體 Blob 資料讀取者 (Blob 儲存體)或儲存體檔案資料特殊權限讀取者 (Azure 檔案儲存體)。
針對上傳作業,請使用儲存體 Blob 資料參與者或儲存體 Blob 資料擁有者 (Blob 儲存體),或使用儲存體檔案資料特殊權限參與者 (Azure 檔案儲存體)
如需角色指派指示,請參閱 指派 Azure 角色以存取 Blob 資料 (Blob 儲存體) 或選擇 如何授權存取 Azure 入口網站中的檔案資料 (Azure 檔案儲存體)。
備註
角色分配最多可能需要五分鐘才能傳播。
如果您要在具有階層命名空間的帳戶中傳輸 Blob,則如果您將安全性主體新增至目標容器或目錄的存取控制清單 (ACL),則不需要將其中一個角色指派給安全性主體。 在 ACL 中,您的安全性主體需要目標目錄的寫入權限,以及容器和每個父目錄的執行權限。 若要深入了解,請參閱 Azure Data Lake Storage 中的存取控制模型。
使用環境變數授權
若要授權存取,請設定記憶體內環境變數。 接著執行任何 AzCopy 命令。 AzCopy 會擷取完成作業所需的驗證權杖。 作業完成之後,該權杖就會從記憶體中消失。 AzCopy 會使用您提供的認證來擷取 OAuth 權杖。
當您驗證使用者身分識別已獲得必要的授權層級之後,請輸入下列命令,然後按 ENTER 鍵。
export AZCOPY_AUTO_LOGIN_TYPE=DEVICE
然後,執行任何 azcopy 命令 (例如: azcopy list https://contoso.blob.core.windows.net)。
此命令傳回驗證碼和網站的 URL。 開啟網站,提供程式碼,然後選取 [ 下一步 ] 按鈕。
登入視窗隨即出現。 在該視窗中,使用您的 Azure 帳戶認證登入您的 Azure 帳戶。 成功登入之後,作業就會完成。
使用 AzCopy 登入命令進行授權
除了使用記憶體內變數,您也可以使用 azcopy login 命令來授與存取權。
此 azcopy login 指令會擷取 OAuth 記號,然後將該記號放入系統上的秘密存放區。 如果您的作業系統沒有任何祕密存放區 (例如 Linux keyring),azcopy login 命令將無法運作,因為沒有地方可放置權杖。
確認您的使用者身分識別具有必要的授權層級之後,請開啟命令提示字元,輸入下列命令,然後按 ENTER 鍵。
azcopy login
如果您收到錯誤,請嘗試包括儲存體帳戶所屬組織的租用戶識別碼。
azcopy login --tenant-id=<tenant-id>
將 <tenant-id> 預留位置取代為儲存體帳戶所屬組織的租用戶識別碼。 若要尋找租用戶識別碼,請在 Azure 入口網站中選取 [租用戶屬性] > [租用戶識別碼]。
此命令傳回驗證碼和網站的 URL。 開啟網站,提供程式碼,然後選取 [ 下一步 ] 按鈕。
登入視窗隨即出現。 在該視窗中,使用您的 Azure 帳戶認證登入 Azure 帳戶。 成功登入之後,您可以關閉瀏覽器視窗並開始使用 AzCopy。
使用 Azure CLI 授權
如果您使用 Azure CLI 登入,則 Azure CLI 會取得 AzCopy 可用來授權作業的 OAuth 權杖。
若要讓 AzCopy 使用該權杖,請輸入下列命令,然後按 ENTER 鍵。
export AZCOPY_AUTO_LOGIN_TYPE=AZCLI
export AZCOPY_TENANT_ID=<tenant-id>
如需如何使用 Azure CLI 登入的詳細資訊,請參閱 使用 Azure CLI 以互動方式登入 Azure。
使用 Azure PowerShell 授權
如果您使用 Azure PowerShell 登入,則 Azure PowerShell 會取得 AzCopy 可用來授權作業的 OAuth 權杖。
若要讓 AzCopy 使用該權杖,請輸入下列命令,然後按 ENTER 鍵。
$Env:AZCOPY_AUTO_LOGIN_TYPE="PSCRED"
$Env:AZCOPY_TENANT_ID=<tenant-id>
如需如何使用 Azure PowerShell 登入的詳細資訊,請參閱 以互動方式登入 Azure PowerShell。
後續步驟
如需 AzCopy 的詳細資訊,請參閱 開始使用 AzCopy。
如果您有疑問、問題或一般意見反應,請在 GitHub 頁面上提交。