[英]Secret Variables in Azure Pipelines
我有一個 Azure 管道,需要訪問一個秘密令牌來聯系另一個服務。 我一直在關注文檔,但它似乎並沒有像我期望的那樣工作。 作為一個最小的例子,我試圖將cachix_token
的變量寫入文件。
- bash: |
set -ex
mkdir -p packages
echo $CACHIX_AUTH_TOKEN > packages/token
env:
CACHIX_AUTH_TOKEN: $(cachix_token)
但是,當我下載生成的令牌文件時,內容是文字
$(cachix_token)
如何讓 yaml 替換秘密變量?
下面是我為管道定義秘密變量的屏幕截圖。
正如我最終發現的那樣,Azure Pipelines 不允許派生訪問秘密變量。 所以,盡管這個秘密變量的定義管道,如果你關閉執行叉的拉入請求,而不是主回購,然后秘密變量沒有定義,你會看到我上面解釋的行為.
如文檔中所述,這可以通過管道 gui 中的Make secrets available to builds of forks
復選框繞過。 然而,這確實打開了一個巨大的安全漏洞,任何人都可以在其中制作惡意 PR,為他們提供所有秘密的逐字副本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.