簡體   English   中英

如何將 aws secrets manager 與 azure CI/CD 管道集成?

[英]How to integrate aws secrets manager with azure CI/CD pipeline?

我正在嘗試為我的 .Net Framework 應用程序創建 Azure Devops 管道。 代碼將使用 aws 服務部署到雲中。 我想將我所有的數據庫連接字符串保存在機密管理器中並在我的應用程序中使用它,這樣我就不必擔心在網絡配置中保存密碼。 有人可以指導我如何解決這個問題嗎?

如果我理解正確,您想使用 AWS 秘密管理器來存儲您的秘密,但也希望在 Azure 中使用這些秘密值。

先決條件您需要有一個 Azure DevOps 帳戶和一個 AWS 帳戶。

步驟 1在 AWS Secret Manager 中存儲密鑰

第 2 步要從 Azure DevOps 管道獲取機密,您需要創建具有機密管理器策略訪問權限的 IAM 用戶

在此處輸入圖片說明

第 3 步附加權限策略。 用戶應該能夠從機密管理器讀取和寫入,因此我們將分配SecretsManagerReadWrite策略。

在此處輸入圖片說明

第 4 步復制訪問密鑰和秘密密鑰。

步驟 5打開 Azure DevOps 面板並選擇一個組織,然后單擊項目設置。

在此處輸入圖片說明

步驟 6從左側面板的管道部分下查找服務連接。

在此處輸入圖片說明

第 7 步點擊新建服務連接。

在此處輸入圖片說明

第 8 步輸入訪問密鑰和秘密密鑰等詳細信息

在此處輸入圖片說明

第 9 步創建一個 repo 並編寫 azure-pipeline.yml

Sample yaml

name: Test
variables:
  var1: value1
trigger:
- master
jobs:
- job: One
  steps:
  - script: |
      sudo apt-get update
      sudo apt-get install -y jq
      python -m pip install --upgrade pip==9.0.3 setuptools wheel
      pip install awscli --user
    displayName: 'Install tools'
  - task: AWSShellScript@1
    inputs:
      awsCredentials: 'Access To AWS' # Serivce connection name
      regionName: 'eu-west-1'
      scriptType: 'inline'
      inlineScript: |
        /home/vsts/.local/bin/aws secretsmanager get-secret-value --secret-id dev/pass | jq -r '.SecretString' | jq -r '.password'

第 10 步將代碼推送到 master 分支后,管道將自動啟動,您將在 stdout 中看到安全值。

暫無
暫無

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

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