"L'accès public est désactivé. Veuillez configurer un point de terminaison privé." même si le point de terminaison privé est configuré pour Azure OpenAI Service

Je déploie Azure OpenAI Service via Terraform, et je souhaite configurer un point de terminaison privé. La documentation et cet article suggèrent qu’en plus d’un point de terminaison privé, j’ai besoin d’une zone DNS privée contenant un enregistrement A pour le point de terminaison privé.

Il semble que cela ne soit pas suffisant car j’obtiens l’erreur "Public access is disabled. Please configure private endpoint." dans Azure AI Studio lorsque je teste mon modèle GPT-35-turbo.

Voici mon code Terraform :

main.tf

resource "azurerm_resource_group" "rg" {
  location = "westeurope"
  name     = "test-rg"
}

resource "azurerm_cognitive_account" "openai" {
  name                          = "REDACTED"
  location                      = "westeurope"
  resource_group_name           = azurerm_resource_group.rg.name
  kind                          = "OpenAI"
  sku_name                      = "S0"
  custom_subdomain_name         = "REDACTED"
  public_network_access_enabled = false
}

resource "azurerm_virtual_network" "vnet" {
  name                = "test-network"
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name
  address_space       = ["10.1.0.0/16"]
}

resource "azurerm_subnet" "private_subnet" {
  name                 = "test-private-subnet"
  resource_group_name  = azurerm_resource_group.rg.name
  virtual_network_name = azurerm_virtual_network.vnet.name
  address_prefixes     = ["10.1.1.0/24"]
  private_endpoint_network_policies_enabled = true
}

resource "azurerm_private_endpoint" "private_endpoint" {
  name                = "test-openai-private-endpoint"
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name
  subnet_id           = azurerm_subnet.private_subnet.id

  private_service_connection {
    name                           = "test-openai-privconn"
    private_connection_resource_id = azurerm_cognitive_account.openai.id
    subresource_names              = ["account"]
    is_manual_connection           = false
  }
}

resource "azurerm_private_dns_zone" "openai" {
  name                = "privatelink.openai.azure.com"
  resource_group_name = azurerm_resource_group.rg.name
}

resource "azurerm_private_dns_a_record" "openai" {
  name                = "test-openai-private-endpoint"
  zone_name           = "privatelink.openai.azure.com"
  resource_group_name = azurerm_resource_group.rg.name
  ttl                 = 300
  records             = [azurerm_private_endpoint.private_endpoint.private_service_connection[0].private_ip_address]
}

resource "azurerm_private_dns_zone_virtual_network_link" "link" {
  name                  = "test-vnet-link"
  resource_group_name   = azurerm_resource_group.rg.name
  private_dns_zone_name = azurerm_private_dns_zone.openai.name
  virtual_network_id    = azurerm_virtual_network.vnet.id
}

resource "azurerm_cognitive_deployment" "model_gpt_35_turbo" {
  name                 = "test-gpt-35-turbo-model"
  cognitive_account_id = azurerm_cognitive_account.openai.id

  model {
    format  = "OpenAI"
    name    = "gpt-35-turbo"
    version = "0301"
  }

  scale {
    type = "Standard"
  }
}

providers.tf

terraform {
  required_version = ">=0.12"

  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~>3.64.0"
    }
  }
}

provider "azurerm" {
  features {}
  subscription_id = "REDACTED"
}

Information supplémentaire : je n’ai aucun serveur DNS (le réseau virtuel utilise le serveur DNS par défaut d’Azure).


Source : Stack Overflow

"Public access is disabled. Please configure private endpoint." même si le point de terminaison privé est configuré pour Azure OpenAI Service.

J’ai essayé le même scénario dans mon environnement et j’ai obtenu le même résultat que vous, même si j’ai créé le point de terminaison privé dans OpenAI Studio.

J’ai désactivé tous les réseaux et activé le Point de terminaison privé.

Lorsque j’essaie d’ouvrir le Service de chat dans OpenAI Studio depuis un autre réseau, je reçois également le même message.

Vous rencontrerez l’erreur ci-dessus même si vous désactivez tous les réseaux dans les paramètres Pare-feu et réseau virtuel et créez un point de terminaison privé dans OpenAI Studio. Cela confirme que le problème n’est pas lié aux configurations.

Pour tester la connexion, j’ai créé une machine virtuelle au sein du même VNet et testé le Service de chat. Il fonctionne comme prévu.

Pour créer un point de terminaison privé pour OpenAI Studio, vous devez intégrer le point de terminaison privé avec une Zone DNS privée, selon la suggestion de Microsoft.

Référence : Configuration DNS