Azure Yönetilen Uygulamaları dağıtırken Key Vault gizli dizisine erişme
Dağıtım sırasında parametre olarak güvenli bir değer (parola gibi) geçirmeniz gerektiğinde, değeri bir Azure Key Vault'tan alabilirsiniz. Yönetilen Uygulamaları dağıtırken Key Vault'a erişmek için Alet Kaynak Sağlayıcısı hizmet sorumlusuna erişim vermelisiniz. Yönetilen Uygulamalar hizmeti, işlemleri çalıştırmak için bu kimliği kullanır. Dağıtım sırasında Key Vault'tan başarılı bir şekilde değer almak için hizmet sorumlusunun Key Vault'a erişebilmesi gerekir.
Bu makalede, Key Vault'un Yönetilen Uygulamalarla çalışacak şekilde nasıl yapılandırıldığı açıklanır.
Şablon dağıtımlarını etkinleştirme
Azure Portal’ında oturum açın.
Anahtar kasanızı açın. Arama kutusuna anahtar kasaları girin veya Anahtar kasaları'nı seçin.
Erişim yapılandırması'nı seçin.
Şablon dağıtımı için Azure Resource Manager'ı seçin. Ardından Uygula'yı seçin.
Katkıda bulunan olarak hizmet ekleme
Katkıda Bulunan rolünü anahtar kasası kapsamındaki Alet Kaynak Sağlayıcısı kullanıcısına atayın. Katkıda Bulunan rolü, rol ataması için ayrıcalıklı bir yönetici rolüdür . Ayrıntılı adımlar için Azure portalını kullanarak Azure rolleri atama bölümüne gidin.
Alet Kaynak Sağlayıcısı, Microsoft Entra kiracınızdaki bir hizmet sorumlusudur. Azure portalından Microsoft Entra ID>Enterprise uygulamalarında kaydını doğrulayabilir ve arama filtresini Microsoft Uygulamaları olarak değiştirebilirsiniz. Alet Kaynak Sağlayıcısı'yı arayın. Hizmet sorumlusu bulunamazsa kaynak sağlayıcısını Microsoft.Solutions
kaydedin.
Key Vault gizli dizisine başvurma
Key Vault'tan Yönetilen Uygulamanızdaki bir şablona gizli dizi geçirmek için bağlantılı veya iç içe yerleştirilmiş bir şablon kullanmanız ve bağlantılı veya iç içe yerleştirilmiş şablonun parametrelerinde Key Vault'a başvurmanız gerekir. Key Vault'un kaynak kimliğini ve gizli dizinin adını belirtin.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location where the resources will be deployed."
}
},
"vaultName": {
"type": "string",
"metadata": {
"description": "The name of the key vault that contains the secret."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "The name of the secret."
}
},
"vaultResourceGroupName": {
"type": "string",
"metadata": {
"description": "The name of the resource group that contains the key vault."
}
},
"vaultSubscription": {
"type": "string",
"defaultValue": "[subscription().subscriptionId]",
"metadata": {
"description": "The name of the subscription that contains the key vault."
}
}
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "dynamicSecret",
"properties": {
"mode": "Incremental",
"expressionEvaluationOptions": {
"scope": "inner"
},
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"adminLogin": {
"type": "string"
},
"adminPassword": {
"type": "securestring"
},
"location": {
"type": "string"
}
},
"variables": {
"sqlServerName": "[concat('sql-', uniqueString(resourceGroup().id, 'sql'))]"
},
"resources": [
{
"type": "Microsoft.Sql/servers",
"apiVersion": "2022-05-01-preview",
"name": "[variables('sqlServerName')]",
"location": "[parameters('location')]",
"properties": {
"administratorLogin": "[parameters('adminLogin')]",
"administratorLoginPassword": "[parameters('adminPassword')]"
}
}
],
"outputs": {
"sqlFQDN": {
"type": "string",
"value": "[reference(variables('sqlServerName')).fullyQualifiedDomainName]"
}
}
},
"parameters": {
"location": {
"value": "[parameters('location')]"
},
"adminLogin": {
"value": "ghuser"
},
"adminPassword": {
"reference": {
"keyVault": {
"id": "[resourceId(parameters('vaultSubscription'), parameters('vaultResourceGroupName'), 'Microsoft.KeyVault/vaults', parameters('vaultName'))]"
},
"secretName": "[parameters('secretName')]"
}
}
}
}
}
],
"outputs": {
}
}
Sonraki adımlar
Key Vault'unuzu Yönetilen Uygulama dağıtımı sırasında erişilebilir olacak şekilde yapılandırmışsınız.
- Key Vault'tan bir değeri şablon parametresi olarak geçirme hakkında bilgi için Dağıtım sırasında güvenli parametre değeri geçirmek için Azure Key Vault kullanma bölümüne gidin.
- Anahtar kasası güvenliği hakkında daha fazla bilgi edinmek için Azure Key Vault'ta Azure Key Vault güvenliği ve Kimlik Doğrulaması'na gidin.
- Yönetilen uygulama örnekleri için Bkz . Azure yönetilen uygulamaları için örnek projeler.
- Yönetilen bir uygulama için ui tanım dosyası oluşturmayı öğrenmek için CreateUiDefinition kullanmaya başlama konusuna gidin.