Yönetilen kimlik kullanarak Azure Cosmos DB'den Azure Key Vault'a erişme
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL
MongoDB
Cassandra
Gremlin
Masa
Azure Cosmos DB'nin Azure Key Vault'tan gizli dizi/anahtar verilerini okuması gerekebilir. Örneğin, Azure Cosmos DB'niz Azure Key Vault'ta depolanan müşteri tarafından yönetilen bir anahtar gerektirebilir. Bunu yapmak için Azure Cosmos DB'nin yönetilen kimlikle yapılandırılması ve ardından yönetilen kimlik erişimine bir Azure Key Vault erişim ilkesi verilmesi gerekir.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- NoSQL hesabı için mevcut bir Azure Cosmos DB API'si. NoSQL hesabı için Azure Cosmos DB API'sini oluşturma
- Mevcut bir Azure Key Vault kaynağı. Azure CLI kullanarak anahtar kasası oluşturma
- Bu makaledeki adımları gerçekleştirmek için Azure CLI'yi yükleyin ve Azure'da oturum açın.
Önkoşul denetimi
Terminalde veya komut penceresinde Azure Key Vault kaynağınızın, Azure Cosmos DB hesabınızın ve kaynak grubunuzun adlarını ,
cosmosName
veresourceGroupName
adlıkeyVaultName
kabuk değişkenleri olarak depolayın.# Variable for function app name keyVaultName="msdocs-keyvault" # Variable for Azure Cosmos DB account name cosmosName="msdocs-cosmos-app" # Variable for resource group name resourceGroupName="msdocs-cosmos-keyvault-identity"
Not
Bu değişkenler sonraki adımlarda yeniden kullanılacaktır. Bu örnekte Azure Cosmos DB hesap adınızın
msdocs-cosmos-app
, anahtar kasası adınızınmsdocs-keyvault
ve kaynak grubu adınızın olduğu varsayılırmsdocs-cosmos-keyvault-identity
.
Azure Cosmos DB'de sistem tarafından atanan yönetilen kimlik oluşturma
İlk olarak, mevcut Azure Cosmos DB hesabı için sistem tarafından atanan bir yönetilen kimlik oluşturun.
Önemli
Bu nasıl yapılır kılavuzunda, sistem tarafından atanan yönetilen kimlik kullandığınız varsayılır. Kullanıcı tarafından atanan yönetilen kimlik kullanılırken adımların çoğu benzerdir.
Komutunu çalıştırarak
az cosmosdb identity assign
sistem tarafından atanan yeni bir yönetilen kimlik oluşturun.az cosmosdb identity assign \ --resource-group $resourceGroupName \ --name $cosmosName
kullanarak
az cosmosdb identity show
sistem tarafından atanan yönetilen kimliğin meta verilerini alın, yalnızca sorgu parametresini kullanarak özelliği döndürecekprincipalId
şekilde filtreleyin ve sonucu adlıprincipal
bir kabuk değişkeninde depolayın.principal=$( az cosmosdb identity show \ --resource-group $resourceGroupName \ --name $cosmosName \ --query principalId \ --output tsv ) echo $principal
Not
Bu değişken sonraki bir adımda yeniden kullanılacaktır.
Azure Key Vault erişim ilkesi oluşturma
Bu adımda, önceden yönetilen kimliği kullanarak Azure Key Vault'ta bir erişim ilkesi oluşturun.
az keyvault set-policy
Azure Key Vault'ta Azure Cosmos DB yönetilen kimliğine Key Vault'a erişim izni veren bir erişim ilkesi oluşturmak için komutunu kullanın. Özellikle, ilke, , veimport
anahtarlarına izin vermek içinget
anahtar izinleri parametrelerini kullanırlist
.az keyvault set-policy \ --name $keyVaultName \ --object-id $principal \ --key-permissions get list import
Sonraki adımlar
- Azure Key Vault'ta müşteri tarafından yönetilen anahtarları Azure Cosmos DB hesabınızla kullanmak için bkz . Müşteri tarafından yönetilen anahtarları yapılandırma
- Gizli dizileri yönetmek üzere Azure Key Vault'ı kullanmak için bkz . güvenli kimlik bilgileri.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin