Azure CLI kullanarak Key Vault'i yönetme

Bu makale, Azure CLI kullanarak Azure Key Vault ile çalışmaya başlamayı kapsar. Şu konudaki bilgileri görebilirsiniz:

  • Azure'da sağlamlaştırılmış kapsayıcı (kasa) oluşturma
  • Anahtar kasasına anahtar, gizli dizi veya sertifika ekleme
  • Microsoft Entra Id ile uygulama kaydetme
  • Bir uygulamayı anahtar veya gizli dizi kullanacak şekilde yetkilendirme
  • Anahtar kasası gelişmiş erişim ilkelerini ayarlama
  • Donanım güvenlik modülleriyle (HSM' ler) çalışma
  • Anahtar kasasını ve ilişkili anahtarları ve gizli dizileri silme
  • Çeşitli Azure Platformlar Arası Komut Satırı Arabirimi Komutları

Azure Anahtar Kasası çoğu bölgede kullanılabilir. Daha fazla bilgi için bkz. Anahtar Kasası fiyatlandırma sayfası.

Not

Bu makale, bir uygulamayı anahtar kasasında anahtar veya gizli dizi kullanmak üzere yetkilendirmeyi gösteren, adımlardan birinin içerdiği Azure uygulamasını yazma yönergelerini içermez.

Azure Key Vault'a genel bakış için bkz . Azure Key Vault nedir?) Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Bu makaledeki Azure CLI komutlarını kullanmak için aşağıdaki öğelere sahip olmanız gerekir:

  • Microsoft Azure aboneliği. Hesabınız yoksa, ücretsiz deneme için kaydolabilirsiniz.
  • Azure CLI sürüm 2.0 veya üzeri. En son sürümü yüklemek için bkz . Azure CLI'yi yükleme.
  • Bu makalede oluşturduğunuz anahtarı veya parolayı kullanacak şekilde yapılandırılacak bir uygulama. Microsoft Yükleme Merkezi'nde örnek bir uygulama kullanılabilir. Yönergeler için, eklenen Benioku dosyasına bakın.

Azure Platformlar Arası Komut Satırı Arabirimi ile ilgili yardım alma

Bu makalede, komut satırı arabirimini (Bash, Terminal, Komut istemi) bildiğiniz varsayılır.

Belirli komutların yardımını görüntülemek için --help veya -h parametresi kullanılabilir. Alternatif olarak, Azure help [command] [options] biçimi de kullanılabilir. Bir komutun gerektirdiği parametreler hakkında şüpheye düştüğünüzde yardım bölümüne bakın. Örneğin, aşağıdaki komutların tümü aynı bilgileri döndürür:

az account set --help
az account set -h

Azure Platformlar Arası Komut Satırı Arabirimi'nde Azure Resource Manager hakkında bilgi edinmek için aşağıdaki makaleleri de okuyabilirsiniz:

Azure'da sağlamlaştırılmış kapsayıcı (kasa) oluşturma

Kasalar, donanım güvenlik modülleri tarafından yedeklenen güvenli kapsayıcılardır. Kasalar, uygulama gizli dizilerinin depolanmasını merkezi hale getirerek güvenlik bilgilerini kazayla kaybetme olasılığını azaltmaya yardımcı olur. Anahtar Kasaları ayrıca içlerinde depolanmış her şeye erişimi denetler ve günlüğe kaydeder. Azure Key Vault, sağlam bir sertifika yaşam döngüsü yönetim çözümü için gereken özellikleri sağlayarak Aktarım Katmanı Güvenliği (TLS) sertifikalarını isteme ve yenileme işlemlerini gerçekleştirebilir. Sonraki adımlarda bir kasa oluşturacaksınız.

Aboneliklerinize bağlanma

Etkileşimli olarak oturum açmak için aşağıdaki komutu kullanın:

az login

Kuruluş hesabı kullanarak oturum açmak için kullanıcı adınızı ve parolanızı geçirebilirsiniz.

az login -u username@domain.com -p password

Birden fazla aboneliğiniz varsa ve hangi aboneliği kullanacağınızı belirtmeniz gerekiyorsa, hesabınızın aboneliklerini görmek için aşağıdakileri yazın:

az account list

Abonelik parametresiyle bir abonelik belirtin.

az account set --subscription <subscription name or ID>

Azure Platformlar Arası Komut Satırı Arabirimini yapılandırma hakkında daha fazla bilgi için bkz . Azure CLI'yı yükleme.

Yeni bir kaynak grubu oluşturma

Azure Resource Manager kullanılırken, tüm ilgili kaynaklar bir kaynak grubu içinde oluşturulur. Mevcut bir kaynak grubunda anahtar kasası oluşturabilirsiniz. Yeni bir kaynak grubu kullanmak istiyorsanız yeni bir kaynak grubu oluşturabilirsiniz.

az group create -n "ContosoResourceGroup" -l "East Asia"

İlk parametre kaynak grubu adı, ikinci parametre ise konumdur. Tüm olası konumların listesini almak için şunu yazın:

az account list-locations

Key Vault kaynak sağlayıcısını kaydetme

Yeni bir anahtar kasası oluşturmaya çalıştığınızda "Abonelik 'Microsoft.KeyVault' ad alanını kullanacak şekilde kaydedilmedi" hatasını görebilirsiniz. Bu ileti görüntülenirse Key Vault kaynak sağlayıcısının aboneliğinize kayıtlı olduğundan emin olun. Bu, her bir abonelik için tek seferlik bir işlemdir.

az provider register -n Microsoft.KeyVault

Anahtar kasası oluşturma

az keyvault create Anahtar kasası oluşturmak için komutunu kullanın. Bu betik üç zorunlu parametreye sahiptir: kaynak grubu adı, anahtar kasası adı ve coğrafi konum.

ContosoKeyVault adlı yeni bir kasa oluşturmak için, Doğu Asya konumunda bulunan ContosoResourceGroup kaynak grubunda şunu yazın:

az keyvault create --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --location "East Asia"

Bu komutun çıktısı, oluşturduğunuz anahtar kasasının özelliklerini gösterir. En önemli iki özellik şunlardır:

  • name: Örnekte ad ContosoKeyVault şeklindedir. Bu adı diğer Key Vault komutları için kullanacaksınız.
  • vaultUri: Örnekte URI şeklindedir https://contosokeyvault.vault.azure.net. REST API'si aracılığıyla kasanızı kullanan uygulamaların bu URI'yi kullanması gerekir.

Azure hesabınız artık bu anahtar kasasında herhangi bir işlemi gerçekleştirmeye yetkilidir. Henüz kimse yetkilendirilmedi.

Anahtar kasasına anahtar, gizli dizi veya sertifika ekleme

Azure Key Vault'un sizin için yazılım korumalı bir anahtar oluşturmasını az key create istiyorsanız komutunu kullanın.

az keyvault key create --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --protection software

Bir .pem dosyasında mevcut bir anahtarınız varsa, bunu Azure Key Vault'a yükleyebilirsiniz. Anahtarı yazılım veya HSM ile korumayı seçebilirsiniz. Bu örnek anahtarı .pem dosyasından içeri aktarır ve "hVFkk965BuUv" parolasını kullanarak yazılımla korur:

az keyvault key import --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --pem-file "./softkey.pem" --pem-password "hVFkk965BuUv" --protection software

Artık URI'sini kullanarak oluşturduğunuz veya Azure Key Vault'a yüklediğiniz anahtara başvurabilirsiniz. Geçerli sürümü her zaman almak için kullanın https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey . Bu belirli sürümü almak için kullanın https://<keyvault-name>.vault.azure.net/keys/<keyname>/<key-unique-id> . Örneğin, https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87.

Kasaya SQLPassword adlı bir parola olan ve Azure Key Vaults'a "hVFkk965BuUv" değerine sahip bir gizli dizi ekleyin.

az keyvault secret set --vault-name "ContosoKeyVault" --name "SQLPassword" --value "hVFkk965BuUv "

URI'sini kullanarak bu parolaya başvurun. Her zaman geçerli sürümü almak ve https://<keyvault-name>.vault.azure.net/secret/<secret-name>/<secret-unique-id> bu belirli sürümü almak için kullanınhttps://ContosoVault.vault.azure.net/secrets/SQLPassword. Örneğin, https://ContosoVault.vault.azure.net/secrets/SQLPassword/90018dbb96a84117a0d2847ef8e7189d.

.pem veya .pfx kullanarak sertifikayı kasaya aktarın.

az keyvault certificate import --vault-name "ContosoKeyVault" --file "c:\cert\cert.pfx" --name "ContosoCert" --password "hVFkk965BuUv"

Şimdi oluşturduğunuz anahtarı, gizli diziyi veya sertifikayı görüntüleyelim:

  • Anahtarlarınızı görüntülemek için şunu yazın:
az keyvault key list --vault-name "ContosoKeyVault"
  • Gizli dizilerinizi görüntülemek için şunu yazın:
az keyvault secret list --vault-name "ContosoKeyVault"
  • Sertifikaları görüntülemek için şunu yazın:
az keyvault certificate list --vault-name "ContosoKeyVault"

Microsoft Entra Id ile uygulama kaydetme

Bu adım genellikle ayrı bir bilgisayarda bir geliştirici tarafından yapılır. Azure Key Vault'a özgü değildir, ancak farkındalık için buraya dahildir. Uygulama kaydını tamamlamak için hesabınızın, kasanızın ve uygulamanın aynı Azure dizininde olması gerekir.

Anahtar kasası kullanan uygulamaların Microsoft Entra Id'den bir belirteç kullanarak kimlik doğrulaması yapması gerekir. Uygulamanın sahibinin önce Microsoft Entra'ya kaydetmesi gerekir. Kaydın sonunda, uygulama sahibi aşağıdaki değerleri elde eder:

  • Uygulama Kimliği (Microsoft Entra İstemci Kimliği veya appID olarak da bilinir)
  • Kimlik doğrulaması anahtarı (paylaşılan gizli dizi olarak da bilinir).

Uygulamanın belirteç almak için bu iki değeri de Microsoft Entra Id'ye sunması gerekir. Bir uygulamanın belirteç alacak şekilde nasıl yapılandırılacağı uygulamaya bağlıdır. Key Vault örnek uygulaması için uygulama sahibi bu değerleri app.config dosyasında ayarlar.

Bir uygulamayı Microsoft Entra ID ile kaydetme hakkında ayrıntılı adımlar için Uygulamaları Microsoft Entra Id ile tümleştirme, Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturmak için portalı kullanma ve Azure CLI ile Azure hizmet sorumlusu oluşturma başlıklı makaleleri gözden geçirmeniz gerekir.

Bir uygulamayı Microsoft Entra Id'ye kaydetmek için:

az ad sp create-for-rbac -n "MyApp" --password "hVFkk965BuUv" --role Contributor --scopes /subscriptions/<subscription id>
# If you don't specify a password, one will be created for you.

Bir uygulamayı anahtar veya gizli dizi kullanacak şekilde yetkilendirme

Uygulamayı kasadaki anahtara veya gizli diziye erişme yetkisi vermek için komutunu kullanın az keyvault set-policy .

Örneğin, kasanızın adı ContosoKeyVault ise ve uygulamayı kasanızdaki anahtarların şifresini çözmesi ve bu anahtarlarla oturum açması için yetkilendirmek istiyorsanız, uygulama kimliğiniz ile aşağıdaki komutu kullanın:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --key-permissions decrypt sign

Aynı uygulamayı kasanızdaki gizli dizileri okuma yetkisi vermek için aşağıdaki komutu yazın:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --secret-permissions get

Anahtar kasası gelişmiş erişim ilkelerini ayarlama

Anahtar kasası için gelişmiş ilkeleri etkinleştirmek için az keyvault update komutunu kullanın.

Key Vault'un dağıtım için etkinleştirilmesi: Sanal makinelerin kasadan gizli dizi olarak depolanan sertifikaları almasına izin verir.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-deployment "true"

Disk şifrelemesi için Key Vault'un etkinleştirilmesi: Azure Disk şifrelemesi için kasa kullanılırken gereklidir.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-disk-encryption "true"

Şablon dağıtımı için Key Vault'un etkinleştirilmesi: Resource Manager'ın kasadan gizli dizileri almasına izin verir.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-template-deployment "true"

Donanım güvenlik modülleriyle (HSM' ler) çalışma

Daha fazla güvence için, HSM sınırını hiçbir zaman bırakmayan donanım güvenlik modüllerinden (HSM) anahtarları içeri aktarabilir veya oluşturabilirsiniz. HSM'ler FIPS 140 onaylıdır. Bu gereksinim sizin için geçerli değilse bu bölümü atlayın ve Anahtar kasasını ve ilişkili anahtarları ve gizli anahtarları silme'ye gidin.

Bu HSM korumalı anahtarları oluşturmak için HSM korumalı anahtarları destekleyen bir kasa aboneliğine sahip olmanız gerekir.

Keyvault'u oluştururken 'sku' parametresini ekleyin:

az keyvault create --name "ContosoKeyVaultHSM" --resource-group "ContosoResourceGroup" --location "East Asia" --sku "Premium"

Bu kasaya yazılım korumalı anahtarlar ve HSM korumalı anahtarlar (daha önce gösterildiği gibi) ekleyebilirsiniz. HSM korumalı anahtar oluşturmak için Hedef parametresini 'HSM' olarak ayarlayın:

az keyvault key create --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --protection "hsm"

Bilgisayarınızdaki .pem dosyasından bir anahtarı içeri aktarmak için aşağıdaki komutu kullanabilirsiniz. Bu komut, anahtarı Anahtar Kasası hizmetindeki HSM'lere aktarır:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --pem-file "/.softkey.pem" --protection "hsm" --pem-password "PaSSWORD"

Sonraki komut bir "kendi anahtarını getir" (BYOK) paketini içeri aktarır. Böylece anahtar HSM sınırını terk etmeden yerel HSM'nizde anahtarınızı oluşturmanız ve Anahtar Kasası hizmetindeki HSM'lere bunu aktarmanız sağlanır.

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --byok-file "./ITByok.byok" --protection "hsm"

Bu KAG paketini oluşturma hakkında daha ayrıntılı yönergeler için bkz . Azure Key Vault ile HSM Korumalı Anahtarları kullanma.

Anahtar kasasını ve ilişkili anahtarları ve gizli dizileri silme

Anahtar kasasına ve anahtarlarına veya gizli dizilerine artık ihtiyacınız yoksa, komutunu kullanarak anahtar kasasını az keyvault delete silebilirsiniz:

az keyvault delete --name "ContosoKeyVault"

Alternatif olarak, anahtar kasasını ve bu gruba eklediğiniz herhangi diğer kaynakları içeren Azure kaynak grubunun tümünü silebilirsiniz.

az group delete --name "ContosoResourceGroup"

Çeşitli Azure Platformlar Arası Komut Satırı Arabirimi Komutları

Azure Key Vault'u yönetmek için yararlı bulabileceğiniz diğer komutlar.

Bu komut, tüm anahtarların ve seçili özelliklerin tablosal görünümünü listeler:

az keyvault key list --vault-name "ContosoKeyVault"

Bu komut, belirtilen anahtar için özelliklerin tam listesini görüntüler:

az keyvault key show --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Bu komut, tüm gizli dizi adlarının ve seçili özelliklerin tablosal görünümünü listeler:

az keyvault secret list --vault-name "ContosoKeyVault"

Aşağıda belirli bir anahtarın nasıl kaldırılacağına yönelik bir örnek verilmişti:

az keyvault key delete --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Belirli bir gizli diziyi kaldırmaya yönelik bir örnek aşağıda verilmişti:

az keyvault secret delete --vault-name "ContosoKeyVault" --name "SQLPassword"

Sonraki adımlar