簡體   English   中英

使用來自 Azure 管道的服務連接對 Python 腳本任務進行身份驗證

[英]Authenticate Python script task using service connection from Azure pipeline

我需要執行 Python 腳本作為我的 CICD 進程的一部分,該腳本將對數據湖第 2 代/blob 存儲中的現有文件執行一些執行。

我不知道如何對腳本進行身份驗證,以便它可以執行所需的操作。

Python 腳本任務

 task: PythonScript@0
  inputs:
    scriptSource: 'filePath'
    scriptPath: ./script.py
    #arguments: # Optional
    #pythonInterpreter: # Optional
    #workingDirectory: # Optional
    #failOnStderr: false # Optional

Azure Powershell 任務具有用於放入 azureSubscription 的輸入選項。 也許我可以傳遞一個論點?

根據您的要求,您需要使用服務連接中的身份驗證信息。

為了滿足您的要求,您可以選擇使用 Azure CLI 任務並啟用選項: addSpnToEnvironment: true

請參閱此文檔: Azure CLI 任務

將您選擇的 Azure 端點的服務主體 ID 和密鑰添加到腳本的執行環境。

這是一個例子:

steps:
- task: AzureCLI@2
  displayName: 'Azure CLI '
  inputs:
    azureSubscription: xx
    scriptType: bash
    scriptLocation: inlineScript
    inlineScript: |
     echo "##vso[task.setvariable variable=ARM_CLIENT_ID]$servicePrincipalId" 
     
     echo "##vso[task.setvariable variable=ARM_CLIENT_SECRET]$servicePrincipalKey"
    
     echo "##vso[task.setvariable variable=ARM_TENANT_ID]$tenantId"
    addSpnToEnvironment: true

在這種情況下,您可以將身份驗證信息設置為管道變量。 然后您可以在下一個任務中使用管道變量。

$(ARM_CLIENT_ID)

$(ARM_CLIENT_SECRET)

$(ARM_TENANT_ID)

暫無
暫無

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

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