Skip to content

Commit 3456dde

Browse files
feat: Disable private networking for OpenAI with integrated vectorization support
1 parent e8ac87a commit 3456dde

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

infra/main.bicep

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,8 @@ var openAiDeployments = concat(
842842
: []
843843
)
844844

845+
// Keep private networking disabled for OpenAI when using integrated vectorization in Azure Cognitive Search, as indexer requires it.
846+
var enablePrivateNetworkingForOpenAI = enablePrivateNetworking && azureSearchUseIntegratedVectorization == false
845847
module openai 'modules/core/ai/cognitiveservices.bicep' = {
846848
name: azureOpenAIResourceName
847849
scope: resourceGroup()
@@ -858,13 +860,13 @@ module openai 'modules/core/ai/cognitiveservices.bicep' = {
858860
'${storageAccountName}.blob.${environment().suffixes.storage}'
859861
'${storageAccountName}.queue.${environment().suffixes.storage}'
860862
]
861-
enablePrivateNetworking: enablePrivateNetworking
862-
subnetResourceId: enablePrivateNetworking ? network!.outputs.subnetPrivateEndpointsResourceId : null
863+
enablePrivateNetworking: enablePrivateNetworkingForOpenAI
864+
subnetResourceId: enablePrivateNetworkingForOpenAI ? network!.outputs.subnetPrivateEndpointsResourceId : null
863865

864866
logAnalyticsWorkspaceId: enableMonitoring ? monitoring!.outputs.logAnalyticsWorkspaceId : null
865867

866868
// align with AVM conventions
867-
privateDnsZoneResourceId: enablePrivateNetworking ? avmPrivateDnsZones[dnsZoneIndex.openAI]!.outputs.resourceId : ''
869+
privateDnsZoneResourceId: enablePrivateNetworkingForOpenAI ? avmPrivateDnsZones[dnsZoneIndex.openAI]!.outputs.resourceId : ''
868870
roleAssignments: concat([
869871
{
870872
roleDefinitionIdOrName: 'a97b65f3-24c7-4388-baec-2e87135dc908' //Cognitive Services User
@@ -890,7 +892,7 @@ module openai 'modules/core/ai/cognitiveservices.bicep' = {
890892
}
891893
] : [])
892894
}
893-
dependsOn: enablePrivateNetworking ? avmPrivateDnsZones : []
895+
dependsOn: enablePrivateNetworkingForOpenAI ? avmPrivateDnsZones : []
894896
}
895897

896898
module computerVision 'modules/core/ai/cognitiveservices.bicep' = if (useAdvancedImageProcessing) {

infra/main.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"_generator": {
77
"name": "bicep",
88
"version": "0.37.4.10188",
9-
"templateHash": "16084976593064189931"
9+
"templateHash": "3641818015648077245"
1010
}
1111
},
1212
"parameters": {
@@ -699,6 +699,7 @@
699699
}
700700
],
701701
"openAiDeployments": "[concat(variables('defaultOpenAiDeployments'), if(parameters('useAdvancedImageProcessing'), createArray(createObject('name', parameters('azureOpenAIVisionModel'), 'model', createObject('format', 'OpenAI', 'name', parameters('azureOpenAIVisionModelName'), 'version', parameters('azureOpenAIVisionModelVersion')), 'sku', createObject('name', 'GlobalStandard', 'capacity', parameters('azureOpenAIVisionModelCapacity')))), createArray()))]",
702+
"enablePrivateNetworkingForOpenAI": "[and(parameters('enablePrivateNetworking'), equals(parameters('azureSearchUseIntegratedVectorization'), false()))]",
702703
"webServerFarmResourceName": "[variables('hostingPlanName')]",
703704
"azureOpenAIModelInfo": "[string(createObject('model', parameters('azureOpenAIModel'), 'model_name', parameters('azureOpenAIModelName'), 'model_version', parameters('azureOpenAIModelVersion')))]",
704705
"azureOpenAIEmbeddingModelInfo": "[string(createObject('model', parameters('azureOpenAIEmbeddingModel'), 'model_name', parameters('azureOpenAIEmbeddingModelName'), 'model_version', parameters('azureOpenAIEmbeddingModelVersion')))]",
@@ -14292,11 +14293,11 @@
1429214293
]
1429314294
},
1429414295
"enablePrivateNetworking": {
14295-
"value": "[parameters('enablePrivateNetworking')]"
14296+
"value": "[variables('enablePrivateNetworkingForOpenAI')]"
1429614297
},
14297-
"subnetResourceId": "[if(parameters('enablePrivateNetworking'), createObject('value', reference('network').outputs.subnetPrivateEndpointsResourceId.value), createObject('value', null()))]",
14298+
"subnetResourceId": "[if(variables('enablePrivateNetworkingForOpenAI'), createObject('value', reference('network').outputs.subnetPrivateEndpointsResourceId.value), createObject('value', null()))]",
1429814299
"logAnalyticsWorkspaceId": "[if(parameters('enableMonitoring'), createObject('value', reference('monitoring').outputs.logAnalyticsWorkspaceId.value), createObject('value', null()))]",
14299-
"privateDnsZoneResourceId": "[if(parameters('enablePrivateNetworking'), createObject('value', reference(format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').openAI)).outputs.resourceId.value), createObject('value', ''))]",
14300+
"privateDnsZoneResourceId": "[if(variables('enablePrivateNetworkingForOpenAI'), createObject('value', reference(format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').openAI)).outputs.resourceId.value), createObject('value', ''))]",
1430014301
"roleAssignments": {
1430114302
"value": "[concat(createArray(createObject('roleDefinitionIdOrName', 'a97b65f3-24c7-4388-baec-2e87135dc908', 'principalId', reference('managedIdentityModule').outputs.principalId.value, 'principalType', 'ServicePrincipal'), createObject('roleDefinitionIdOrName', '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd', 'principalId', reference('managedIdentityModule').outputs.principalId.value, 'principalType', 'ServicePrincipal')), if(not(empty(parameters('principalId'))), createArray(createObject('roleDefinitionIdOrName', 'a97b65f3-24c7-4388-baec-2e87135dc908', 'principalId', parameters('principalId'), 'principalType', 'User'), createObject('roleDefinitionIdOrName', '5e0bd9bd-7b93-4f28-af87-19fc36ad61bd', 'principalId', parameters('principalId'), 'principalType', 'User')), createArray()))]"
1430214303
}
@@ -48286,9 +48287,9 @@
4828648287
}
4828748288
},
4828848289
"dependsOn": [
48289-
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageQueue)]",
4829048290
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageBlob)]",
4829148291
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageFile)]",
48292+
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').storageQueue)]",
4829248293
"managedIdentityModule",
4829348294
"network"
4829448295
]

0 commit comments

Comments
 (0)