# 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:**
1. Naviger til AI Services-ressurs → **Identity**
2. Aktiver **System assigned** eller legg til **User assigned**
3. Tildel RBAC-rolle på målressurs: `Cognitive Services User` eller `Cognitive 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:**
1. Opprett VNet med subnets (app, private endpoint, bastion)
2. Opprett Azure AI Services med custom subdomain
3. Opprett private endpoint i dedikert subnet
4. Konfigurer Private DNS Zone (`privatelink.cognitiveservices.azure.com`)
5. Sett `publicNetworkAccess: Disabled` på AI Services
6. Aktiver managed identity på applikasjon
7. Tildel RBAC-rolle til applikasjonen på AI Services
**Best practices:**
- Bruk dedikert subnet for private endpoints (anbefalt `/26` eller større)
- Aktiver `PrivateEndpointNetworkPolicies: Disabled` på 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:**
1. Aktiver service endpoint på subnet: `Microsoft.CognitiveServices`
2. Konfigurer AI Services firewall:
- Default action: `Deny`
- VNet rule: tillat spesifikk subnet
- IP rule: tillat on-premises public IP range
### 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 User` rolle
- 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:**
1. Deploy Azure Function med VNet integration
2. Function kaller AI Services via private endpoint
3. 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 User` rolle
- Trusted service bypass: `networkAcls.bypass: "AzureServices"`
**Compute Cluster konfigurasjon:**
- Cluster må være i samme VNet (eller peered VNet)
- NSG må tillate outbound til `AzureMachineLearning` service 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:**
1. ✅ Validert at AI Services tier er Basic eller høyere
2. ✅ Planlagt IP-adresseområder (VNet, subnets)
3. ✅ Identifisert custom subdomain for AI Services-ressurs
4. ✅ Avklart DNS-strategi (Azure Private DNS vs custom DNS)
5. ✅ Bestemt managed identity-strategi (system vs user-assigned)
6. ✅ RBAC-roller definert (hvem skal ha tilgang til hva)
**Deployment-rekkefølge (kritisk!):**
1. Opprett Resource Group
2. Opprett VNet med subnets (app, private endpoint, bastion)
3. Opprett AI Services-ressurs med custom subdomain
4. Opprett Private DNS Zone (`privatelink.cognitiveservices.azure.com`)
5. Link Private DNS Zone til VNet
6. Opprett Private Endpoint (velg target sub-resource: `account`)
7. Verifiser DNS record i Private DNS Zone (A-record for private IP)
8. Sett `publicNetworkAccess: Disabled` på AI Services (etter testing!)
9. Aktiver managed identity på applikasjon
10. Tildel RBAC-rolle (`Cognitive Services User`) til applikasjon
**Testing-rekkefølge:**
1. Fra VNet: `nslookup .cognitiveservices.azure.com` → skal returnere privat IP
2. Fra VNet: `Test-NetConnection -Port 443` → skal lykkes
3. Fra internett (før disabled public): `nslookup` → skal returnere public IP
4. API-kall fra VNet med managed identity → skal lykkes
5. 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 User` rolle 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)
1. **Sikkerhetsnivå:**
- "Har dere compliance-krav som krever zero internett-eksponering?" → private endpoints
- "Hva er risikovurdering av data lekkasje?" → akseptabelt nivå for kostnad
2. **Eksisterende nettverk:**
- "Har dere eksisterende hub-spoke arkitektur?" → integrering vs ny VNet
- "Bruker dere on-premises DNS-servere?" → conditional forwarders trengs
3. **On-premises tilkobling:**
- "Trenger brukere on-premises tilgang til AI Services?" → VPN Gateway/ExpressRoute
- "Har dere eksisterende ExpressRoute?" → reuse eller ny
4. **Multi-region:**
- "Trenger dere DR i annen region?" → private endpoints per region
- "Hva er akseptabel RTO/RPO?" → påvirker arkitektur
5. **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):**
```bash
# 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):**
```bash
az cognitiveservices account update \
--resource-group myRG \
--name myAIAccount \
--set properties.publicNetworkAccess=Disabled
```
**Aktiver Managed Identity (Azure CLI):**
```bash
az cognitiveservices account identity assign \
--resource-group myRG \
--name myAIAccount
```
**Test DNS Resolution (PowerShell):**
```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](https://learn.microsoft.com/en-us/azure/ai-services/cognitive-services-virtual-networks) - Hovedkilde for VNet-konfigurasjon, service endpoints, IP-regler, private endpoints
- [Configure secure networking for Azure AI platform services](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/ai/platform/networking) - Arkitektur-guide fra Cloud Adoption Framework
- [Configure Azure OpenAI networking](https://learn.microsoft.com/en-us/azure/foundry-classic/openai/how-to/network) - Private endpoint oppsett for Azure OpenAI
- [Network and access configuration for Azure OpenAI On Your Data](https://learn.microsoft.com/en-us/azure/foundry-classic/openai/how-to/on-your-data-configuration) - Trusted services bypass, managed identity setup
- [Azure security baseline for Azure AI services](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/cognitive-services-security-baseline) - 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](https://learn.microsoft.com/en-us/azure/search/service-create-private-endpoint) - 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