Hızlı Başlangıç: Azure PowerShell kullanarak Azure Key Vault'tan sertifika ayarlama ve alma

Bu hızlı başlangıçta Azure PowerShell ile Azure Key Vault'ta bir anahtar kasası oluşturacaksınız. Azure Key Vault, güvenli bir gizli dizi deposu olarak çalışan bir bulut hizmetidir. Anahtarları, parolaları, sertifikaları ve diğer gizli dizileri güvenli bir şekilde depolayabilirsiniz. Key Vault hakkında daha fazla bilgi için Genel Bakış bölümünü inceleyin. Azure PowerShell, komutları veya betikleri kullanarak Azure kaynakları oluşturmak ve yönetmek için kullanılır. Daha sonra bir sertifika depolarsınız.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu öğretici için Azure PowerShell modülü sürüm 1.0.0 veya üzeri gerekir. Sürümü bulmak için yazın $PSVersionTable.PSVersion . Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure bağlantısı oluşturmak için Connect-AzAccount komutunu da çalıştırmanız gerekir.

Connect-AzAccount

Kaynak grubu oluşturma

Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturmak için Azure PowerShell New-AzResourceGroup cmdlet'ini kullanın.

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Anahtar kasası oluşturma

Önceki adımda kaynak grubunda bir Key Vault oluşturmak için Azure PowerShell New-AzKeyVault cmdlet'ini kullanın. Bazı bilgileri sağlamanız gerekir:

  • Anahtar kasası adı: Yalnızca sayı (0-9), harfler (a-z, A-Z) ve kısa çizgi (-) içerebilen 3 ile 24 karakter arasında bir dize

    Önemli

    Her anahtar kasasının benzersiz bir adı olmalıdır. Aşağıdaki örneklerde unique-keyvault-name> değerini anahtar kasanızın adıyla değiştirin<.

  • Kaynak grubu adı: myResourceGroup.

  • Konum: EastUS.

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"

Bu cmdlet’in çıktısı, yeni oluşturulan anahtar kasasının özelliklerini gösterir. Aşağıda listelenen iki özelliği not edin:

  • Kasa Adı: Yukarıdaki -Name parametresine sağladığınız ad.
  • Kasa URI'si: Örnekte bu https://<-unique-keyvault-name.vault.azure.net/>. REST API'si aracılığıyla kasanızı kullanan uygulamaların bu URI'yi kullanması gerekir.

Bu noktada Azure hesabınız, bu yeni anahtar kasasında herhangi bir işlemi gerçekleştirmeye yetkili olan tek hesaptır.

Anahtar kasanıza erişim izni verme

Rol Tabanlı Erişim Denetimi (RBAC) aracılığıyla uygulamanıza anahtar kasanıza izin vermek için New-AzRoleAssignment Azure PowerShell cmdlet'ini kullanarak bir rol atayın.

New-AzRoleAssignment -RoleDefinitionName "Key Vault Secrets User" -SignInName "<your-email-address>" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"

E-posta adresinizi>, abonelik-kimliğinizi>, <resource-group-name> ve <your-unique-keyvault-name değerlerini> gerçek değerlerinizle değiştirin<<. <e-posta adresiniz> oturum açma adınızdır; bunun yerine parametresini -ObjectId ve Microsoft Entra Nesne Kimliğini kullanabilirsiniz.

Key Vault'a sertifika ekleme

Için artık kasaya bir sertifika ekleyebilir. Bu sertifika bir uygulama tarafından kullanılabilir.

ExampleCertificate adlı ilkeyle otomatik olarak imzalanan bir sertifika oluşturmak için bu komutları kullanın:

$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal

Add-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate" -CertificatePolicy $Policy

Artık URI'sini kullanarak Azure Key Vault'a eklediğiniz bu sertifikaya başvurabilirsiniz. Geçerli sürümü almak için https://<your-unique-keyvault-name>.vault.azure.net/certificates/ExampleCertificate komutunu kullanın.

Önceden depolanmış sertifikayı görüntülemek için:

Get-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate"

Sorun Giderme:

İşlem geçersiz bir 'Yasak' durum kodu döndürdü

Bu hatayı alırsanız, Azure Key Vault'a erişen hesabın sertifika oluşturmak için uygun izinleri yoktur.

Uygun izinleri atamak için aşağıdaki Azure PowerShell komutunu çalıştırın:

Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> -ObjectId <AzureObjectID> -PermissionsToCertificates get,list,update,create

Kaynakları temizleme

Bu koleksiyondaki diğer hızlı başlangıçlar ve öğreticiler bu hızlı başlangıcı temel alır. Diğer hızlı başlangıç ve öğreticilerle çalışmaya devam etmeyi planlıyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz.

Artık gerekli olmadığında, kaynak grubunu ve tüm ilgili kaynakları kaldırmak için Azure PowerShell Remove-AzResourceGroup cmdlet'ini kullanabilirsiniz.

Remove-AzResourceGroup -Name "myResourceGroup"

Sonraki adımlar

Bu hızlı başlangıçta bir Key Vault oluşturdunuz ve içinde bir sertifika depoladunuz. Key Vault ve uygulamalarınızla tümleştirme hakkında daha fazla bilgi edinmek için aşağıdaki makalelere geçin.