簡體   English   中英

如何在 Azure DevOps 管道中驗證 PythonScript 任務

[英]How to authenticate PythonScript task within Azure DevOps Pipeline

我在 Azure DevOps YAML 管道中有一個 PythonScript 任務,它調用 Azure ZDB974238714CA8DE6FZACE 來檢索 list1 個訂閱和管理組。 我的腳本使用的是DefaultAzureCredential class,據我了解,它最初會查找某些環境變量(客戶端 ID、客戶端密碼和租戶 ID),或者可以使用托管標識進行身份驗證。 我可以在本地運行我的腳本,但我不知道如何正確設置它,以便它可以從管道中運行。

  • 如果使用環境變量方法進行身份驗證,我如何安全地將所需的客戶端和租戶變量傳遞給腳本? 變量組內的秘密變量不能用作環境變量。

  • 如果使用托管標識進行身份驗證,我如何告訴腳本使用哪個托管標識?

感激地接受任何指導。

我對 azure devops 沒有經驗,但我確實記得我的一位同事曾經將服務主體分配給他的 Azure DevOps 管道。 我沒有問很多問題; 他遇到了我正在幫助他解決的問題。

所以對於那部分: https://stefanstranger.github.io/2019/03/02/ManageIdentityInServiceConnections/也許這是將托管身份分配給您的管道的一步。

在您分配管道以使用托管標識后,管道將使用服務主體自動連接到雲,並找出它必須執行哪些權限才能執行您希望它執行的操作。 所以不要忘記分配托管身份權限。

現在回到故事背景。 我的同事對服務主體和他的 Azure DevOps 管道的問題是他需要使用 object id 來分配服務主體。 提供客戶端 ID 導致管道失敗。

如果您想使用 ENV var 方法提前 go 。 我建議使用 Keyvault 並提取機密,然后將它們傳遞到您的管道並使用它們。 同樣,我對 Azure DevOps 沒有經驗。 但是,這就是我在 Azure 函數中所做的,您正在嘗試的似乎非常相似。 也許這會有所幫助: https://docs.microsoft.com/en-us/azure/devops/pipelines/release/azure-key-vault?view=azure-devops

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM