KB-currency refresh (medium priority, 2026-06-19) via /architect:kb-update. 74 medium-prioritets filer re-verifisert mot Microsoft Learn (MCP) — delegert til 15 parallelle Opus-subagenter (3 bølger) gruppert etter delt kilde, med disjunkte fil-sett. Verifisert i hovedkontekst (scope-sjekk + diff-review av de faktatunge gruppene + tester). Hovedendringer (faktuelle korreksjoner + currency): - Azure AI Search semantic ranker: TILGJENGELIG PÅ ALLE TIERS (også Free/Basic m/ gratis månedlig kvote) — gammel KB sa feilaktig "kun S1+". Korrigert i tier-tabell, anti-patterns og beslutningstabell (azure-ai-search-setup). - APIM score-threshold = DISTANSE (lavere = strengere): tuning-tabellen i rag-caching-optimization hadde retningen baklengs — invertert til korrekt. - Agentic retrieval GA/preview-nyanse presisert (hovedkontekst-korreksjon mot agentic-retrieval-how-to-migrate): GA via REST 2026-04-01 returnerer EKSTRAKTIV grounding (references + activity), IKKE syntetiserte svar. Answer synthesis, ikke-minimal reasoning effort (LLM query planning) og multi-turn messages forblir preview (2026-05-01-preview). Subagent hadde overforenklet til "hele kjernepipelinen GA"; rettet i agentic-rag-patterns + citation-tracking. - Copilot Studio modell-tabeller (platforms/copilot-studio): fjernet Claude Opus 4.5 + GPT-5.2 (borte fra kilde), lagt til Claude Sonnet 4.6/Opus 4.6 (GA), Opus 4.7 + Mistral Medium 3.5 (experimental); GPT-5 Reasoning/Auto = preview; A2A GA (apr 2026). - Computer Use (CUA): Copilot Studio GA 2026-05-07; 4 modeller m/ tier/status (OpenAI CUA + Sonnet 4.5 GA, Sonnet 4.6 + Opus 4.6 experimental); 5 credits/ steg standard, 15 premium; US-only region-krav FJERNET i GA-dok; Cloud PC pool + Hosted browser + bring-your-own-machine. - Azure AI Search REST API-versjoner bumpet: 2025-09-01 -> 2026-04-01 (stabil), 2025-11-01-preview -> 2026-05-01-preview (hybrid-search, rag-security-rbac, chunking). - Power Automate-integrasjon: trigger "Run a flow from Copilot" -> "When an agent calls the flow"; App Service innebygd MCP (preview) lagt til. - M365 Copilot-manifest v1.26 -> v1.28 (GA, mai) / v1.29 dokumentert (juni); "Tenant graph grounding" -> "Work IQ". - Speech fast transcription 2t/300MB -> 5t/500MB; multilingual 14 -> 15 locales (+ pt-BR). Content Understanding reasoning preview -> GA (v1.0, 2025-11-01). - Security Copilot E5 -> E5+E7. Død Databricks-URL ci-cd/best-practices -> ci-cd/flows. Prompt Flow retirement (2027-04-20 -> MAF) notert der den presenteres som go-forward. Gateway-topologi-tabell-feil rettet. - Alle 74 Last updated -> 2026-06-19. Discovery ikke kjørt (historisk kun Databricks-støy) -> 389-telling uendret, ingen resync. validate 239 PASS, kb-integrity 115/115 (262 orphan-warnings uendret), gitleaks clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
28 KiB
Azure AI Services - Networking, Security and Private Endpoints
Last updated: 2026-06-19 | Verified: MCP 2026-06-19 Status: GA
Navngivning 2026-04: Microsoft har omdøpt "Azure Cognitive Services" til "Azure AI Foundry Tools" (eller kortform "Foundry Tools") i dokumentasjonen. API-endepunkter, RBAC-roller og ARM-ressurstyper beholder "CognitiveServices" i identifikatoren. Alle nye dokumentasjonsreferanser bruker "Foundry Tools".
Category: Azure AI Services (Foundry Tools)
Introduksjon
Azure AI Services (tidligere Cognitive Services) tilbyr et lagdelt sikkerhetsrammeverk for nettverksisolasjon som beskytter AI-modeller, data og tjenester mot uautorisert tilgang. Private endpoints, virtual networks og service endpoints gir fleksible sikkerhetskonfigurasjoner som passer både skytilkoblede og hybrid-scenarier.
Denne kunnskapsreferansen dekker:
- Private endpoints og Azure Private Link-konfigurasjon
- Virtual network-integrasjon med service endpoints
- IP-baserte firewall-regler og nettverkstilgangskontroll
- Managed identity-autentisering for nettverkssikker tilgang
- DNS-konfigurasjon for private endpoints
- Trusted services og nettverksunntak
Viktig kontekst: Azure AI Services støtter ikke direkte VNet-injeksjon (deployes ikke inn i kundens VNet), men bruker i stedet private endpoints for sikker tilkobling fra VNet til tjenesten.
Kjernekomponenter
1. Private Endpoints og Azure Private Link
Private endpoints gir dedikert nettverkstilgang til Azure AI Services uten eksponering mot offentlig internett.
| Komponent | Funksjon | Konfigurasjon |
|---|---|---|
| Private Endpoint | Dedikert nettverksgrensesnitt i kundens VNet | Tildeles privat IP fra VNet-adresseområdet |
| Private Link Service | Azure-backbone-tilkobling | Eliminerer internett-eksponering |
| Private DNS Zone | Navneoppløsning for private endpoints | privatelink.cognitiveservices.azure.com (AI Services)privatelink.openai.azure.com (Azure OpenAI) |
| Target Sub-resource | Endepunkttype | account (AI Services, Azure OpenAI) |
Fordeler:
- Eliminerer offentlig internett-eksponering fullstendig
- Trafikk går over Microsoft backbone network
- Fungerer med VPN Gateway og ExpressRoute for on-premises tilgang
- Konsistent tilkoblings-string for både private og public endpoints
- Støtter både system-assigned og user-assigned managed identities
Begrensninger:
- Krever Basic tier eller høyere (ikke Free tier)
- Custom subdomain er påkrevd for private endpoints
- Speech service krever separate endpoint-konfigurasjoner
- Portal-tilgang kan kreve ekstra konfigurasjon
2. Service Endpoints
Service endpoints gir optimalisert ruting fra VNet til Azure AI Services uten private IP-adresser.
| Aspekt | Beskrivelse |
|---|---|
| Service Tag | Microsoft.CognitiveServices |
| Routing | Optimal sti fra VNet til tjenesten via Azure backbone |
| Identitet | Subnet- og VNet-identitet sendes med hver forespørsel |
| Kombinasjon | Kan brukes sammen med IP-regler (maks 100 VNet-regler per ressurs) |
Når bruke service endpoints vs private endpoints:
- Service Endpoints: Enklere oppsett, gratis, men tjenesten beholder offentlig IP
- Private Endpoints: Full isolasjon, privat IP, bedre sikkerhet, men høyere kostnad
3. IP Firewall-regler (Network ACLs)
Service-level IP filtering for å begrense tilgang til godkjente IP-adresser.
| Regeltype | Format | Eksempel | Bruksområde |
|---|---|---|---|
| Enkelt IP | x.x.x.x |
203.0.113.10 |
Spesifikt klientmaskin |
| IP-range | CIDR-notasjon | 10.0.0.0/24 |
Subnet eller on-premises nettverk |
| IPv4 kun | RFC 1918-kompatibel | Private: 10.*, 172.16-31.*, 192.168.* ikke tillatt |
Kun offentlige IP-adresser |
Konfigurasjonsalternativer:
- All networks: Åpen tilgang (default)
- Selected networks: Kun godkjente VNets/IPs
- Disabled: Ingen public access (kun private endpoints)
Viktig: Default action må settes til Deny for at nettverksregler skal ha effekt.
4. Managed Identity og Autentisering
Managed identity eliminerer behovet for API-nøkler ved nettverksikrede tilkoblinger.
| Type | Levetid | Bruksområde |
|---|---|---|
| System-assigned | Knyttet til ressurs-levetid | Standard for enkle scenarier |
| User-assigned | Uavhengig av ressurs | Multi-ressurs, delt identitet |
Konfigurering via Azure Portal:
- Naviger til AI Services-ressurs → Identity
- Aktiver System assigned eller legg til User assigned
- Tildel RBAC-rolle på målressurs:
Cognitive Services UserellerCognitive Services OpenAI User
Trusted Services Bypass:
- Aktiveres med
networkAcls.bypass: "AzureServices" - Tillater Azure AI Search, Azure Machine Learning å kalle tjenesten via managed identity
- Tjenesten validerer JWT-token fra trusted services
Arkitekturmønstre
1. Full Private Endpoint-isolasjon
Scenario: Maksimal sikkerhet, null internett-eksponering.
┌─────────────────────────────────────────────┐
│ Azure Virtual Network (10.0.0.0/16) │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ App Subnet (10.0.1.0/24) │ │
│ │ - Web App / Function App │ │
│ │ - VNet Integration │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ Private Endpoint Subnet │ │
│ │ (10.0.2.0/24) │ │
│ │ - PE for Azure OpenAI (10.0.2.4) │───┼──> Azure OpenAI
│ │ - PE for AI Services (10.0.2.5) │───┼──> AI Services
│ │ - PE for Key Vault (10.0.2.6) │───┼──> Key Vault
│ │ - PE for Storage (10.0.2.7) │───┼──> Storage
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ Azure Bastion Subnet (10.0.3.0/26) │ │
│ │ - Bastion Host │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
│
└──> On-premises (VPN Gateway / ExpressRoute)
Konfigurasjonsrekkefølge:
- Opprett VNet med subnets (app, private endpoint, bastion)
- Opprett Azure AI Services med custom subdomain
- Opprett private endpoint i dedikert subnet
- Konfigurer Private DNS Zone (
privatelink.cognitiveservices.azure.com) - Sett
publicNetworkAccess: Disabledpå AI Services - Aktiver managed identity på applikasjon
- Tildel RBAC-rolle til applikasjonen på AI Services
Best practices:
- Bruk dedikert subnet for private endpoints (anbefalt
/26eller større) - Aktiver
PrivateEndpointNetworkPolicies: Disabledpå subnet - Integrer med Private DNS Zone for automatisk navneoppløsning
- Bruk Azure Bastion for sikker management-tilgang
2. Hybrid Service Endpoint + IP Firewall
Scenario: Koste-effektiv sikkerhet med VNet + on-premises tilgang.
┌─────────────────────────────────────────────┐
│ Azure Virtual Network │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ App Subnet │ │
│ │ - Service Endpoint enabled │ │
│ │ (Microsoft.CognitiveServices) │ │
│ └─────────────────────────────────────┘ │
│ │ │
│ └──────────────┐ │
└─────────────────────────────┼───────────────┘
│
▼
┌─────────────────┐
│ Azure AI Service│
│ Firewall: │
│ - VNet rule │
│ - IP allow: │
│ 203.0.113.0/24│ <──── On-premises public IP
└─────────────────┘
Konfigurasjon:
- Aktiver service endpoint på subnet:
Microsoft.CognitiveServices - Konfigurer AI Services firewall:
- Default action:
Deny - VNet rule: tillat spesifikk subnet
- IP rule: tillat on-premises public IP range
- Default action:
3. Hub-Spoke med Centralisert Network Security
Scenario: Enterprise-arkitektur med sentralisert sikkerhet.
┌─────────────────────────────┐
│ Hub VNet (10.0.0.0/16) │
│ - Azure Firewall │
│ - VPN Gateway │
│ - Private DNS Zones │
└─────────────┬───────────────┘
│ VNet Peering
┌────────────┴────────────┐
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ Spoke 1 VNet│ │ Spoke 2 VNet│
│ AI Workload │ │ AI Workload │
│ - PEs │ │ - PEs │
└─────────────┘ └─────────────┘
Nettverksflyt:
- Outbound trafikk → Azure Firewall (FQDN filtering)
- Inbound management → Azure Bastion i Hub
- Private DNS Zones deles via VNet-links
4. Azure OpenAI "On Your Data" med Network Isolation
Scenario: RAG-løsning med Azure AI Search + Storage bak private endpoints.
┌────────────────────────────────────────────────┐
│ VNet (3 subnets) │
│ │
│ 1. VPN Gateway Subnet │
│ 2. Private Endpoint Subnet: │
│ - Azure OpenAI PE │
│ - Azure AI Search PE (shared private link) │
│ - Storage Account PE │
│ 3. Web App Outbound Integration Subnet │
└────────────────────────────────────────────────┘
┌─────────────┐ Managed Identity ┌──────────────┐
│ Azure OpenAI├───────────────────>│ AI Search │
│ │ (trusted service) │ (embedding) │
└─────────────┘ bypass firewall └──────────────┘
Spesialkonfigurasjon:
- Azure OpenAI:
networkAcls.bypass: "AzureServices"(trusted service) - AI Search: managed identity med
Cognitive Services OpenAI Userrolle - Storage: private endpoint + RBAC for OpenAI managed identity
Beslutningsveiledning
Når bruke hvilken nettverkssikkerhet?
| Scenario | Anbefalt løsning | Rasjonale |
|---|---|---|
| Maksimal sikkerhet, compliance-kritisk | Private Endpoints + Disable Public Access | Zero Trust, ingen internett-eksponering |
| Kostnadsbevisst, medium sikkerhet | Service Endpoints + IP Firewall | Gratis, god sikkerhet, enklere oppsett |
| Hybrid on-premises + Azure | Private Endpoints + VPN Gateway / ExpressRoute | Privat tilkobling til on-premises |
| Multi-region, lav latency | Private Endpoints per region | Redusert latency, regional isolasjon |
| Dev/Test miljø | IP Firewall kun | Lavest kompleksitet, akseptabel risiko |
Sikkerhetsnivå-matriks
| Tiltak | Sikkerhetsnivå | Kompleksitet | Kostnad | Compliance |
|---|---|---|---|---|
| IP Firewall kun | ⭐⭐ | Lav | Gratis | Basis |
| Service Endpoints | ⭐⭐⭐ | Medium | Gratis | Medium |
| Private Endpoints | ⭐⭐⭐⭐⭐ | Høy | Medium | Høy (GDPR, HIPAA) |
| PE + Disabled Public | ⭐⭐⭐⭐⭐ | Høy | Medium | Maksimal |
DNS-konfigurasjon: Azure Private DNS vs Custom DNS
Azure Private DNS (anbefalt):
- Automatisk CNAME-record oppdatering
- Integrert med VNet
- Ingen ekstra konfigurasjon
Custom DNS (on-premises DNS server):
- Krev conditional forwarder til Azure DNS (
168.63.129.16) - Manuell A-record for private endpoint IP
- Nødvendig for hybrid-scenarier
FQDN-resolusjon:
- Fra VNet:
myaccount.cognitiveservices.azure.com→10.0.2.5(privat IP) - Fra internett:
myaccount.cognitiveservices.azure.com→ public IP (hvis ikke disabled)
Integrasjon med Microsoft-stakken
1. Azure AI Foundry (tidligere AI Studio)
Portal-tilgang med private endpoints:
- Custom subdomain må brukes i alle API-kall
- Portal-tilgang krever VPN eller Azure Bastion til VNet
- Service tags for portal:
AzureActiveDirectory,AzureFrontDoor.Frontend,AzureResourceManager,CognitiveServicesManagement,CognitiveServicesFrontEnd
Managed VNet i Foundry:
- Foundry hub kan ha egen managed VNet
- Workspace inheriter nettverksregler fra hub
- Private endpoints til Foundry Tools konfigureres separat
2. Power Platform Integration
Power Automate / Power Apps med private endpoints:
- Krever On-premises data gateway for VNet-tilkobling
- Azure Relay hybrid connection ikke støttet direkte
- Custom connector må bruke public endpoint med IP firewall
Workaround for private endpoints:
- Deploy Azure Function med VNet integration
- Function kaller AI Services via private endpoint
- Custom connector kaller Azure Function (public endpoint med auth)
3. Azure Machine Learning
AML Workspace med AI Services private endpoints:
- Shared private link fra AML til AI Services
- Managed identity med
Cognitive Services Userrolle - Trusted service bypass:
networkAcls.bypass: "AzureServices"
Compute Cluster konfigurasjon:
- Cluster må være i samme VNet (eller peered VNet)
- NSG må tillate outbound til
AzureMachineLearningservice tag
4. Azure AI Search (for RAG)
Shared Private Link:
- AI Search kan opprette private endpoint til AI Services
- Eliminerer behovet for trusted service bypass
- Konfigureres via AI Search → Networking → Shared Private Links
Trusted Service alternativ:
- AI Search managed identity med RBAC-rolle på AI Services
networkAcls.bypass: "AzureServices"på AI Services- System-assigned managed identity authentication påkrevd
Offentlig sektor (Norge)
1. Compliance-krav
| Regelverk | Relevante krav | Nettverkstiltak |
|---|---|---|
| Personvernforordningen (GDPR) | Art. 32: Tekniske sikkerhetstiltak | Private endpoints, kryptering i transit (TLS 1.2+) |
| Nasjonal sikkerhetsmyndighet (NSM) | Grunnprinsipper for IKT-sikkerhet | Network segmentation, least privilege access |
| Schrems II | Data Processing Agreement-krav | Private endpoints reduserer eksponering mot utenlandsk jurisdiksjon |
| eHelse | Norm for informasjonssikkerhet (HelseNorge) | Nettverksisolasjon, logging, audit trail |
2. Offentlig Sektor-spesifikke hensyn
Data Residency:
- Private endpoints endrer ikke data location (fortsatt i Azure-regionen)
- Norway East / Norway West anbefales for offentlig sektor
- Private Link-trafikk forblir innenfor Microsoft backbone network (ikke public internet)
Schrems II og Cloud Act:
- Private endpoints reduserer ikke juridisk ansvar ved Cloud Act-forespørsler
- Tilleggstiltak: Customer-Managed Keys (CMK), Microsoft Purview audit logs
Kostnadsmodell:
- Private Endpoint: ~40 NOK/måned per endpoint
- Data Processing (ingress): Gratis
- Data Processing (egress): ~0.40 NOK/GB (intra-region via private link)
Kostnad og lisensiering
1. Nettverkskomponenter - Priser (NOK, ca. 2026)
| Komponent | Kostnad | Enhet | Merknad |
|---|---|---|---|
| Private Endpoint | ~40 NOK | per endpoint/måned | Uavhengig av trafikkmengde |
| Data Processing (inbound) | Gratis | per GB | Ingen kostnad for ingress |
| Data Processing (outbound) | ~0.40 NOK | per GB | Intra-region via private link |
| Service Endpoint | Gratis | - | Ingen ekstra kostnad |
| VNet Peering | ~0.08 NOK | per GB (intra-region) | For hub-spoke arkitektur |
| Azure Bastion | ~1200 NOK | per måned (Basic) | For secure management access |
| VPN Gateway | ~2400 NOK | per måned (Basic) | For on-premises tilkobling |
Estimert månedskostnad for typisk oppsett:
- SMB (1 AI Service + Storage): ~80 NOK/måned (2 private endpoints)
- Enterprise (3 AI Services + Search + Storage + Key Vault): ~240 NOK/måned (6 private endpoints) + Bastion/VPN
2. AI Services Tier-krav
| Tier | Private Endpoints | IP Firewall | Service Endpoints |
|---|---|---|---|
| Free | ❌ Ikke støttet | ❌ Ikke støttet | ❌ Ikke støttet |
| Basic | ✅ Støttet | ✅ Støttet | ✅ Støttet |
| Standard | ✅ Støttet | ✅ Støttet | ✅ Støttet |
Minstekrav: Basic tier (S0) eller høyere for nettverkssikkerhet.
3. Hidden Costs å være obs på
- DNS Zone: ~4 NOK/måned per Private DNS Zone + ~0.004 NOK per 1000 queries
- Data Egress: Trafikk ut av Azure region (ikke via private link) kan bli dyrt
- Network Watcher: Flowlogger for NSG koster ~40 NOK/måned per NSG
- Log Analytics: Ingest av network logs (pris avhenger av volum)
For arkitekten (Cosmo)
1. Oppstartssekvens for Private Endpoint-prosjekt
Pre-deployment checklist:
- ✅ Validert at AI Services tier er Basic eller høyere
- ✅ Planlagt IP-adresseområder (VNet, subnets)
- ✅ Identifisert custom subdomain for AI Services-ressurs
- ✅ Avklart DNS-strategi (Azure Private DNS vs custom DNS)
- ✅ Bestemt managed identity-strategi (system vs user-assigned)
- ✅ RBAC-roller definert (hvem skal ha tilgang til hva)
Deployment-rekkefølge (kritisk!):
- Opprett Resource Group
- Opprett VNet med subnets (app, private endpoint, bastion)
- Opprett AI Services-ressurs med custom subdomain
- Opprett Private DNS Zone (
privatelink.cognitiveservices.azure.com) - Link Private DNS Zone til VNet
- Opprett Private Endpoint (velg target sub-resource:
account) - Verifiser DNS record i Private DNS Zone (A-record for private IP)
- Sett
publicNetworkAccess: Disabledpå AI Services (etter testing!) - Aktiver managed identity på applikasjon
- Tildel RBAC-rolle (
Cognitive Services User) til applikasjon
Testing-rekkefølge:
- Fra VNet:
nslookup <myaccount>.cognitiveservices.azure.com→ skal returnere privat IP - Fra VNet:
Test-NetConnection <private-ip> -Port 443→ skal lykkes - Fra internett (før disabled public):
nslookup→ skal returnere public IP - API-kall fra VNet med managed identity → skal lykkes
- API-kall fra internett (etter disabled public) → skal feile (403 Forbidden)
2. Troubleshooting-guide
| Symptom | Mulig årsak | Løsning |
|---|---|---|
| 403 Forbidden fra VNet | IP firewall blokkerer | Sjekk firewall rules, default action må være Deny med eksplisitt Allow-regel |
| DNS resolves til public IP fra VNet | Private DNS Zone ikke linket | Link Private DNS Zone til VNet, verifiser A-record |
| Connection timeout | NSG blokkerer port 443 | Sjekk NSG-regler på subnet, tillat outbound 443 til CognitiveServices service tag |
| Portal ikke tilgjengelig | Service tags mangler | Legg til AzureFrontDoor.Frontend, CognitiveServicesFrontEnd i firewall/NSG |
| Managed identity auth fails | RBAC-rolle mangler | Tildel Cognitive Services User eller Cognitive Services OpenAI User rolle |
3. Design-avveininger
Private Endpoints vs Service Endpoints:
| Dimensjon | Private Endpoints | Service Endpoints |
|---|---|---|
| Sikkerhet | ⭐⭐⭐⭐⭐ (privat IP) | ⭐⭐⭐⭐ (public IP, VNet-regler) |
| Kompleksitet | Høy (DNS, subnets) | Lav (enable på subnet) |
| Kostnad | ~40 NOK/måned per endpoint | Gratis |
| Latency | Lavest (direkte) | Lavt (optimalisert) |
| Compliance | Best (Zero Trust) | Godt (nettverksisolasjon) |
| On-prem access | VPN/ExpressRoute | VPN/ExpressRoute |
Anbefaling:
- Prod + høy sikkerhet: Private Endpoints + Disabled Public Access
- Prod + kostnadsfokus: Service Endpoints + IP Firewall
- Dev/Test: IP Firewall kun (akseptabel risiko)
4. Common Pitfalls (å unngå!)
❌ Aktivere "Disable public access" før private endpoint fungerer:
- Resultat: Fullstendig tap av tilgang (inkludert Azure Portal)
- Fix: Test private endpoint grundig først, bruk "Selected networks" som mellomsteg
❌ Glemme custom subdomain:
- Resultat: Private endpoint creation feiler eller DNS resolution fungerer ikke
- Fix: Custom subdomain må settes ved opprettelse av AI Services-ressurs
❌ Private DNS Zone ikke linket til alle relevante VNets:
- Resultat: DNS resolves til public IP fra peered VNets
- Fix: Link Private DNS Zone til alle VNets som trenger tilgang (hub og spokes)
❌ Bruke *.privatelink.openai.azure.com som endpoint URL:
- Resultat: API-kall feiler med HTTPS-feil
- Fix: Bruk alltid custom subdomain (
myaccount.openai.azure.com), DNS håndterer ruting
❌ Managed identity uten RBAC-rolle:
- Resultat: 403 Forbidden selv om nettverkstilgang er OK
- Fix: Tildel minst
Cognitive Services Userrolle på AI Services-ressursen
5. Production Readiness Checklist
Sikkerhet:
- Private endpoints aktivert for alle AI Services
- Public network access disabled (eller IP-baserte firewall-regler)
- Managed identity aktivert (eliminerer API-nøkler i kode)
- RBAC-roller tildelt med least privilege
- NSG-regler konfigurert (least privilege)
- Azure Firewall / WAF for outbound/inbound trafikk (enterprise)
Overvåkning:
- Diagnostic settings aktivert (send logs til Log Analytics)
- Network Watcher flowlogger aktivert (NSG)
- Azure Monitor alerts for nettverksfeil (429, 403, connection timeout)
- Private Link metrics overvåket (bytes in/out, connection count)
Disaster Recovery:
- Multi-region deployment vurdert (private endpoints per region)
- VNet peering konfigurert for failover
- DNS failover-strategi dokumentert
- Backup-plan for public access (emergency access)
Dokumentasjon:
- Nettverksdiagram (logical + physical)
- IP-adressering dokumentert (subnets, private endpoint IPs)
- DNS-konfigurasjon dokumentert (zones, records, forwarders)
- RBAC-roller og service principals dokumentert
- Runbook for troubleshooting
6. Spør kunden dette (før design)
-
Sikkerhetsnivå:
- "Har dere compliance-krav som krever zero internett-eksponering?" → private endpoints
- "Hva er risikovurdering av data lekkasje?" → akseptabelt nivå for kostnad
-
Eksisterende nettverk:
- "Har dere eksisterende hub-spoke arkitektur?" → integrering vs ny VNet
- "Bruker dere on-premises DNS-servere?" → conditional forwarders trengs
-
On-premises tilkobling:
- "Trenger brukere on-premises tilgang til AI Services?" → VPN Gateway/ExpressRoute
- "Har dere eksisterende ExpressRoute?" → reuse eller ny
-
Multi-region:
- "Trenger dere DR i annen region?" → private endpoints per region
- "Hva er akseptabel RTO/RPO?" → påvirker arkitektur
-
Kostnadsbudsjett:
- "Hva er månedlig budsjett for nettverksinfrastruktur?" → private endpoints (~40 NOK/stk) vs service endpoints (gratis)
- "Er data egress-volum relevant?" → intra-region vs inter-region trafikk
7. Quick Reference - Azure CLI/PowerShell
Opprett Private Endpoint (Azure CLI):
# Hent ressurs-ID for AI Services
csResourceId=$(az cognitiveservices account show \
--resource-group myRG \
--name myAIAccount \
--query id --output tsv)
# Opprett private endpoint
az network private-endpoint create \
--resource-group myRG \
--name myAIPrivateEndpoint \
--location norwayeast \
--vnet-name myVNet \
--subnet privateEndpointSubnet \
--private-connection-resource-id $csResourceId \
--group-id account \
--connection-name myConnection
# Opprett DNS zone group (automatisk A-record)
az network private-endpoint dns-zone-group create \
--resource-group myRG \
--endpoint-name myAIPrivateEndpoint \
--name myDNSZoneGroup \
--private-dns-zone privatelink.cognitiveservices.azure.com \
--zone-name cognitiveservices
Disable Public Access (Azure CLI):
az cognitiveservices account update \
--resource-group myRG \
--name myAIAccount \
--set properties.publicNetworkAccess=Disabled
Aktiver Managed Identity (Azure CLI):
az cognitiveservices account identity assign \
--resource-group myRG \
--name myAIAccount
Test DNS Resolution (PowerShell):
# Fra VNet VM - skal returnere privat IP
nslookup myaccount.cognitiveservices.azure.com
# Test port 443
Test-NetConnection -ComputerName 10.0.2.5 -Port 443
Kilder og verifisering
Verified (MCP microsoft-learn, 2026-02):
- Configure Foundry Tools virtual networks - Hovedkilde for VNet-konfigurasjon, service endpoints, IP-regler, private endpoints
- Configure secure networking for Azure AI platform services - Arkitektur-guide fra Cloud Adoption Framework
- Configure Azure OpenAI networking - Private endpoint oppsett for Azure OpenAI
- Network and access configuration for Azure OpenAI On Your Data - Trusted services bypass, managed identity setup
- Azure security baseline for Azure AI services - NSG-støtte (ikke støttet), private link (støttet), disable public access
- Create a private endpoint for a secure connection to Azure AI Search - Shared private link-mønster
Baseline (modellkunnskap, januar 2025):
- Azure Private Link pricing: ca. 40 NOK/måned per endpoint (basert på USD-priser og valutakurs)
- Custom subdomain-krav for private endpoints (dokumentert i flere Microsoft-kilder)
- NSG-støtte ikke tilgjengelig for AI Services (bekreftet via security baseline)
- Trusted services bypass med
networkAcls.bypass: "AzureServices"(REST API-konfigurasjon)
Sist verifisert: 2026-06-19 MCP calls: 7 (microsoft_docs_search, microsoft_docs_fetch, microsoft_code_sample_search) Kilder: 10 unike Microsoft Learn URLs