[英]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.