Azure Pipelines Azure Key Vault gizli dizileri kullanın
Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019
Not
Bu makale, işlem hattınızda Azure Anahtar Kasası ile çalışırken size kılavuzluk eder. gizli değişkenler veya başvuru değişkeni grupları ayarlamak istiyorsanız, daha fazla ayrıntı için bkz. değişkenleri tanımlama .
Azure Key Vault kullanıcıların hassas bilgileri güvenli bir şekilde depolamasına, yönetmesine ve erişmesine izin verir. Gizli diziler API anahtarları, kimlik bilgileri, sertifikalar vb. olabilir.
Azure Key Vault hizmet iki tür kapsayıcıyı destekler: kasa ve yönetilen HSM (donanım güvenlik modülü) havuzları. Kasalar, yazılım ve HSM destekli anahtarlar, gizlilikler ve sertifikalar depolamayı destekler, ancak yönetilen HSM havuzları yalnızca HSM destekli anahtarları destekler.
Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:
- Azure CLı kullanarak Azure Key Vault oluşturma
- Gizli dizi ekleyin ve Azure Anahtar Kasası 'na erişimi yapılandırın
- İşlem hattınızda gizli dizileri kullanma
Önkoşullar
- Azure DevOps bir kuruluş. Microsoft hesabınız yoksa ücretsiz olarak oluşturabilirsiniz.
Azure Key Vault oluşturma
Azure Anahtar kasaları Azure portal veya Azure CLı aracılığıyla oluşturulup yönetilebilir. Azure anahtar kasanızı oluşturmak için bu öğreticide Azure CLı kullanacağız.
Azure portalındaoturum açın ve sağ üst köşedeki Cloud Shell düğmesini seçin.
Hesabınızla ilişkili birden fazla Azure aboneliğiniz varsa, varsayılan bir abonelik belirtmek için aşağıdaki komutu kullanın.
az account listAboneliklerinizin bir listesini oluşturmak için ' i kullanabilirsiniz.az account set --subscription <your_subscription_name_or_ID>Varsayılan Azure bölgenizi ayarlamak için aşağıdaki komutu çalıştırın.
az account list-locationsKullanılabilir bölgelerin bir listesini oluşturmak için ' i kullanabilirsiniz.az config set defaults.location=<your_region>Örneğin, bu komut westus2 bölgesini seçer:
az config set defaults.location=westus2Yeni bir kaynak grubu oluşturmak için aşağıdaki komutu çalıştırın. Kaynak grubu, bir Azure çözümüne ilişkin kaynakları tutan bir kapsayıcıdır.
az group create --name <your-resource-group>Yeni bir Anahtar Kasası oluşturmak için aşağıdaki komutu çalıştırın.
az keyvault create \ --name <your-key-vault> \ --resource-group <your-resource-group>Anahtar Kasanızda yeni bir gizli dizi oluşturmak için aşağıdaki komutu çalıştırın. Gizlilikler anahtar değer çifti olarak depolanır. Aşağıdaki örnekte, Password anahtar ve mysecretpassword değeridir.
az keyvault secret set \ --name "Password" \ --value "mysecretpassword" \ --vault-name <your-key-vault-name>
Proje oluşturma
Azure Pipelinesoturum açın. daha sonra tarayıcınız şuraya gidip https://dev.azure.com/your-organization-name Azure DevOps panonuzu görüntüler.
Kuruluşunuzda henüz bir projeniz yoksa yeni bir proje oluşturmaya başlamak için proje oluştur ' u seçin. Aksi takdirde, panonun sağ üst köşesindeki Yeni proje düğmesini seçin.
Depo oluşturma
Komut zincirimizi oluşturmak için YAML kullanacağız, ancak ilk olarak yeni bir depo oluşturmamız gerekiyor.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Repos' e gidin ve ardından yeni bir depoyu benioku ile başlatmak için başlat ' ı seçin.
Yeni işlem hattı oluşturma
Pipelinesgidin ve yeni işlem hattı' nı seçin.
Git Azure Reposseçin.
Daha önce oluşturduğunuz depoyu seçin. Azure DevOps projenizle aynı ada sahip olmalıdır.
Başlatıcı işlem hattıseçin.
Varsayılan işlem hattı, Echo komutlarını çalıştıran birkaç komut dosyası içerir. Bunları silebilmemiz için bu gerekli değildir. Yeni YAML dosyanız şimdi şöyle görünür:
trigger: - main pool: vmImage: 'ubuntu-latest' steps:Yardımcı panelini genişletmek için yardımcıyı göster ' i seçin. Bu panel, işlem hattı görevlerinin rahat ve aranabilir bir listesini sağlar.
Kasa araması yapın ve Azure Key Vault görevi seçin.
Azure aboneliğinizi seçin ve yetkilendirme yapın, ardından Azure Anahtar Kasası görevini seçip Ekle ' yi seçerek işlem hattınıza ekleyin. Bu görev, işlem hattının Azure Key Vault bağlanmasına ve ardışık düzen değişkenleri olarak kullanılacak gizli dizileri almasına izin verir.
Not
gizli dizileri tüm iş için kullanılabilir yap özelliği şu anda Azure DevOps Server 2019 ve 2020 ' de desteklenmemektedir.
YAML dosyanız aşağıdakine benzer şekilde görünmelidir
trigger: - main pool: vmImage: ubuntu-latest steps: - task: AzureKeyVault@2 inputs: azureSubscription: 'Your-Azure-Subscription' KeyVaultName: 'Your-Key-Vault-Name' SecretsFilter: '*' RunAsPreJob: false - task: CmdLine@2 inputs: script: 'echo $(Your-Secret-Name) > secret.txt' - task: CopyFiles@2 inputs: Contents: secret.txt targetFolder: '$(Build.ArtifactStagingDirectory)' - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)' ArtifactName: 'drop' publishLocation: 'Container'İşlem hattınızı henüz kaydetme veya çalıştırma. Önce işlem hattımız Azure Key Vault erişim için doğru izinleri vermemiz gerekir. Tarayıcı sekmesinin açık kalmasını sağlamak için, Anahtar Kasası izinlerini ayarladıktan sonra kalan adımları devam edeceğiz.
Azure Key Vault erişim ilkelerini ayarlama
Azure Key Vault erişmek için öncelikle Azure Pipelines erişim sağlamak üzere bir hizmet sorumlusu ayarlamanız gerekir. Hizmet sorumlunuzu oluşturmak için Bu kılavuzu izleyin ve ardından bu bölümdeki sonraki adımlarla devam edin.
Azure Portalgidin.
Daha önce oluşturduğunuz anahtar kasasını aramak için arama çubuğunu kullanın.
Ayarlar altında erişim ilkeleri' ni seçin.
Yeni bir ilke eklemek için erişim Ilkesi Ekle ' yi seçin.
Gizli izinleriçin Al ve Listele' yi seçin.
Hizmet sorumlusu seçme seçeneğini belirleyin ve bu bölümün başlangıcında oluşturduğunuz birini arayın. Güvenlik sorumlusu, Azure kaynaklarına erişim isteyen bir Kullanıcı, Grup, hizmet veya uygulamayı temsil eden bir nesnedir.
Ekle ' yi seçerek erişim ilkesini oluşturun ve kaydedin.
İşlem hattını çalıştırma ve gözden geçirme
Kaldığınız yerden önceki sekmeye dönün.
Kaydet ' i seçin ve sonra değişikliklerinizi işleyin ve işlem hattını tetikleyin.
Not
İstenirse, Azure kaynaklarına işlem hattı erişimine izin vermeniz istenebilir. İşlem hattınızı yalnızca bir kez onaylamanız gerekir.
Günlükleri görüntülemek için komut satırı işini seçin.
İşlem hattı özetine dönün ve yayımlanan yapıtı seçin.
İş ' ın altında, açmak için secret.txt dosyasını seçin.
Metin dosyası verilerimizi içermelidir: daha önce mysecretpassword .
Uyarı
Bu öğretici yalnızca eğitim amaçlıdır. En iyi güvenlik uygulamaları ve gizli dizileri ile güvenli bir şekilde çalışmak için, bkz. Azure Key Vault ile sunucu uygulamalarınızda gizli dizileri yönetme.
Kullanıcı veya grubun, Anahtar Kasası üzerinde gizli dizi listesi iznine sahip olmadığını belirten bir hatayla karşılaşırsanız, uygulamanızın Azure Key Vault anahtara veya gizli anahtarına erişmesi için aşağıdaki komutları çalıştırın:
$ErrorActionPreference="Stop";
$Credential = Get-Credential;
Connect-AzAccount -SubscriptionId <YOUR_SUBSCRIPTION_ID> -Credential $Credential;
$spn=(Get-AzureRmADServicePrincipal -SPN <YOUR_SERVICE_PRINCIPAL_ID>);
$spnObjectId=$spn.Id;
Set-AzureRmKeyVaultAccessPolicy -VaultName key-vault-tutorial -ObjectId $spnObjectId -PermissionsToSecrets get,list;
Kaynakları temizleme
Oluşturduğunuz kaynakları silmek için aşağıdaki adımları izleyin:
Projenizi barındırmak için yeni bir kuruluş oluşturduysanız, bkz. kuruluşunuzu silme, yoksa projenizi silme.
Bu öğretici sırasında oluşturulan tüm Azure kaynakları tek bir kaynak grubu altında barındırılır bir ardışık düzen Ineskeyvaultresourcegroup. Kaynak grubunu ve tüm kaynaklarını silmek için aşağıdaki komutu çalıştırın.
az group delete --name PipelinesKeyVaultResourceGroup