有没有办法通过ARM模板将加密(CMK客户管理密钥)和Vnet集成添加到Azure语音服务(认知)中

有没有办法通过ARM模板将加密(CMK客户管理密钥)和Vnet集成添加到Azure语音服务(认知)中,azure,encryption,arm-template,azure-cognitive-services,azure-speech,Azure,Encryption,Arm Template,Azure Cognitive Services,Azure Speech,我们可以在ARM模板中实现这一点。我是Microsoft语音服务团队的Darren。谢谢你的提问。请提供更多关于您正在尝试构建的内容的详细信息,因为我不清楚。这是关于将语音服务作为Docker容器部署到您的环境中吗?CMK和Vnet集成用于什么?一旦您提供更多详细信息,我将找到合适的人来回答。是的,您可以使用ARM模板来完成此操作。以下模板允许您在现有语音资源上添加CMK和Vnet设置。在运行此模板之前,您需要创建KeyVault&Key,配置访问策略以允许语音资源的系统分配标识具有密钥的“读取

我们可以在ARM模板中实现这一点。

我是Microsoft语音服务团队的Darren。谢谢你的提问。请提供更多关于您正在尝试构建的内容的详细信息,因为我不清楚。这是关于将语音服务作为Docker容器部署到您的环境中吗?CMK和Vnet集成用于什么?一旦您提供更多详细信息,我将找到合适的人来回答。

是的,您可以使用ARM模板来完成此操作。以下模板允许您在现有语音资源上添加CMK和Vnet设置。在运行此模板之前,您需要创建KeyVault&Key,配置访问策略以允许语音资源的系统分配标识具有密钥的“读取、包装、展开”权限。对于任何资源,您都可以始终使用Azure Portal中资源菜单中的“导出模板”导出ARM模板,并对ARM模板部署进行轻微更改

"encryption": {
      "keyVaultProperties": {
        "keyName": "string",
        "keyVersion": "string",
        "keyVaultUri": "string"
      },

}

这是infra provisioning使用ARM Template创建语音服务的步骤我们可以在创建新语音服务时对其执行此操作吗
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "accounts_speech_name": {
        "type": "String"
    },
    "keyvaultUri": {
        "type": "String"
    },
    "keyName": {
        "type": "String"
    },
    "keyVersion": {
        "type": "String"
    },
    "virtualNetworks_cmk_test_externalid": {
        "type": "String"
    }
},
"variables": {},
"resources": [
    {
        "type": "Microsoft.CognitiveServices/accounts",
        "apiVersion": "2017-04-18",
        "name": "[parameters('accounts_speech_name')]",
        "location": "eastus",
        "sku": {
            "name": "S0"
        },
        "kind": "SpeechServices",
        "identity": {
            "type": "SystemAssigned",
            "userAssignedIdentities": {}
        },
        "properties": {
            "customSubDomainName": "[parameters('accounts_speech_name')]",
            "networkAcls": {
                "defaultAction": "Deny",
                "virtualNetworkRules": [
                    {
                        "id": "[concat(parameters('virtualNetworks_cmk_test_externalid'), '/subnets/default')]",
                        "ignoreMissingVnetServiceEndpoint": false
                    }
                ],
                "ipRules": []
            },
            "encryption": {
                "keySource": "Microsoft.Keyvault",
                "keyVaultProperties": {
                    "keyName": "[parameters('keyName')]",
                    "keyVersion": "[parameters('keyVersion')]",
                    "keyVaultUri": "[parameters('keyVaultUri')]"
                }
            },
            "privateEndpointConnections": [],
            "publicNetworkAccess": "Enabled"
        }
    }
]