output lokale LLM - gpt-oss-20b
This commit is contained in:
1 parent
51379cf1fc
commit
16f5a5e7b1
1 file changed
+206
@@ -0,0 +1,206 @@
|
||||
# Azure AI Architektur – EU‑konform, ISO 27001 & DORA bereit
|
||||
|
||||
## 1. Hoch‑Level Architekturdiagramm (Mermaid)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
%% Externer Verkehr
|
||||
Internet([Internet]) --> WAF[WAF / Prompt‑Firewall]
|
||||
WAF --> LB[TLS‑Terminierende Lastenausgleichung]
|
||||
|
||||
%% API-Schicht
|
||||
LB --> APIGW[Azure API Management (LLM‑Router)]
|
||||
APIGW --> AKS[Kubernetes Cluster]
|
||||
|
||||
%% KI‑Kernservices
|
||||
AKS -->|LLM Adapter| AOAI[Azure OpenAI]
|
||||
AKS --> AIEngine[Agentic KI‑Engine]
|
||||
AIEngine -->|Prompt‑Routing| PromptFirewall
|
||||
AIEngine -->|Modellsscanning| SecScanner[KI‑Modell & Schnittstellen‑Scanner]
|
||||
|
||||
%% Datenschicht
|
||||
subgraph DB[Datenlager]
|
||||
SQL[Azure SQL Database]:::db
|
||||
NoSQL[Cosmos DB (NoSQL)]:::db
|
||||
Blob[Azure Blob Storage]:::db
|
||||
VectDB[Qdrant in AKS (Vektor‑DB)]:::db
|
||||
Redis[Azure Cache for Redis]:::db
|
||||
GraphDB[Azure Cosmos DB (Gremlin API)]:::db
|
||||
end
|
||||
|
||||
%% Big‑Data Pipeline
|
||||
subgraph BD[Big‑Data & Streaming]
|
||||
Synapse[Azure Synapse Analytics]:::pipeline
|
||||
Databricks[Azure Databricks]:::pipeline
|
||||
Kafka[Apache Kafka (AKS)]:::pipeline
|
||||
EH[Event Hubs]:::pipeline
|
||||
end
|
||||
|
||||
%% Beobachtbarkeit & Sicherheit
|
||||
subgraph OBS[Beobachtbarkeit]
|
||||
Monitor[Azure Monitor]:::obs
|
||||
AppInsights[Application Insights]:::obs
|
||||
Grafana[Grafana auf AKS]:::obs
|
||||
end
|
||||
|
||||
subgraph SEC[Sicherheit & Compliance]
|
||||
Defender[Defender for Cloud]:::sec
|
||||
SecCenter[Azure Security Center]:::sec
|
||||
Bastion[Bastion Host]:::sec
|
||||
KeyVault[Key Vault]:::sec
|
||||
end
|
||||
|
||||
%% Orchestrierung & CI/CD
|
||||
subgraph DEV[DevOps]
|
||||
DevOps[Azure DevOps Pipelines]:::dev
|
||||
Terraform[Terraform (IaC)]:::dev
|
||||
end
|
||||
|
||||
%% IAM & PAM
|
||||
subgraph AUTH[Identität]
|
||||
AD[AAD]:::auth
|
||||
PIM[Azure PIM]:::auth
|
||||
end
|
||||
|
||||
%% Queue & Messaging
|
||||
subgraph MQ[Messaging]
|
||||
SB[Service Bus]:::mq
|
||||
EH --> SB
|
||||
end
|
||||
|
||||
%% Verbindungen
|
||||
APIGW -->|Auth via AAD| AUTH
|
||||
AKS -->|Secrets from KV| KeyVault
|
||||
SecScanner -->|Logs to Monitor| Monitor
|
||||
AIEngine -->|Telemetry| AppInsights
|
||||
DevOps -->|Terraform| AKS
|
||||
DEV -->|Deploy to AKS| AKS
|
||||
DB -->|Access via Managed Identities| AKS
|
||||
BD -->|Ingress to AKS| AIEngine
|
||||
OBS -->|Logs & Metrics| Monitor
|
||||
SEC -->|Policy Enforcement| Defender
|
||||
```
|
||||
```css
|
||||
/* Mermaid diagram styles */
|
||||
%% {font-family: monospace;}
|
||||
```
|
||||
|
||||
::: note
|
||||
Das Diagramm ist bewusst vereinfacht – die reale Bereitstellung enthält zusätzliche Schichten wie interne VNET‑Peering, Azure Front Door für globale Routing und ggf. einen Azure AD Application Proxy.
|
||||
:::
|
||||
|
||||
## 2. Schichtbeschreibungen
|
||||
|
||||
| Schicht | Zweck | Kern‑Azure‑Dienste |
|
||||
|---------|-------|---------------------|
|
||||
| **Frontend** | TLS‑Terminierung, Ratenbegrenzung und WAF‑Schutz für gesamten eingehenden Verkehr. | Azure Front Door (oder Application Gateway mit WAF), TLS‑Terminierung via Azure Key Vault Zertifikate |
|
||||
| **API‑Schicht** | Öffentlicher API‑Gateway, Routing zu LLM‑Router und internen Diensten. | Azure API Management (APIM), OpenAPI Definitionen, JWT‑Validierung via AAD |
|
||||
| **KI‑Kern** | Ausführung von agentischen KI‑Workloads und LLM‑Inference. | Azure Kubernetes Service (AKS), Azure OpenAI, kundenspezifische Container‑Images für Agenten |
|
||||
| **Sicherheit & Scanning** | Kontinuierliches Scannen von Modellen und Schnittstellen, Schutz vor bösartigen Prompts. | Azure Defender for Container Apps (oder AKS), benutzerdefinierte Prometheus Exporter, Azure Sentinel Logs |
|
||||
| **Daten‑Schicht** | Persistente Speicherung für strukturierte und unstrukturierte Daten. | Azure SQL Database, Cosmos DB (SQL & Gremlin APIs), Blob Storage, Qdrant (Vektor‑DB) in AKS, Redis Cache |
|
||||
| **Big Data & Streaming** | ETL‑Pipelines und Echtzeit‑Analytics. | Azure Synapse Analytics, Azure Databricks, Apache Kafka auf AKS, Event Hubs |
|
||||
| **Beobachtbarkeit** | Metriken, Logs und Dashboards. | Azure Monitor, Application Insights, Grafana auf AKS |
|
||||
| **Compliance & Sicherheit** | Richtlinien‑Durchsetzung, Schwachstellenmanagement. | Azure Defender for Cloud, Azure Security Center, Bastion Host, Key Vault |
|
||||
| **Identität & Zugriff** | Rollenbasierter Zugriff und privilegiertes Identitäts‑Management. | Azure AD, Azure AD Connect (LDAP‑Sync), Azure PIM |
|
||||
| **DevOps** | CI/CD, IaC und automatisierte Tests. | Azure DevOps Pipelines, Terraform, GitHub Actions (falls verwendet) |
|
||||
| **Messaging** | Entkoppelter Austausch zwischen Diensten. | Azure Service Bus, Event Hubs |
|
||||
|
||||
## 3. Komponenten‑Mapping & Zweck (Anforderung‑nach‑Anforderung)
|
||||
|
||||
| Anforderung | Azure‑Dienst | Warum er die Anforderung erfüllt |
|
||||
|--------------|---------------|------------------------------------|
|
||||
| **AKS mit KI‑Workern** | AKS | Managed Kubernetes, Auto‑Scaling, Integration mit Azure AD für RBAC |
|
||||
| **Agentic KI + LLM Adapter** | Azure OpenAI + kundenspezifischer Container in AKS | Native LLM‑Unterstützung, keine externe PaaS |
|
||||
| **WAF & Prompt‑Firewall** | Azure Front Door (WAF) + benutzerdefinierte ASP.NET Core Middleware in AKS | Layer‑7‑Filterung, Prompt‑Validierung |
|
||||
| **KI‑Modell & Schnittstellen Scanning** | Azure Defender for Cloud (Container) + benutzerdefinierter Scanner‑Service | Kontinuierliche Schwachstellenbewertung |
|
||||
| **Frontend + Load Balancer** | Azure Application Gateway (WAF) oder Front Door + TLS‑Terminierung via Key Vault |
|
||||
| **LLM‑Router & API Gateway** | Azure APIM + benutzerdefinierte Routing‑Logik in AKS | Richtlinienbasierter Routing, Throttling |
|
||||
| **IAM (RBAC, LDAP via AAD Connect)** | Azure AD + Azure AD Connect | Einheitliche Identität, rollenbasierter Zugriff |
|
||||
| **PAM (Azure PIM)** | Azure Privileged Identity Management | Just‑in‑Time Zugriff, MFA |
|
||||
| **SQL / NoSQL / Blob / Vektor‑DB / Redis / Graph** | Azure SQL, Cosmos DB (Core & Gremlin), Blob Storage, Qdrant in AKS, Azure Cache for Redis | Native Speicher‑Dienste, S3‑Kompatibilität via Blob API |
|
||||
| **Big‑Data Pipeline** | Synapse, Databricks, Kafka (AKS), Event Hubs | Unified Analytics Plattform |
|
||||
| **Logging & Monitoring** | Azure Monitor, Application Insights, Grafana | Metriken, Logs, Dashboards |
|
||||
| **Vulnerability Management** | Defender for Cloud + Azure Security Center | Kontinuierliche Bewertung, Compliance‑Scans |
|
||||
| **Queue‑Services** | Service Bus / Event Hubs | Zuverlässige Messaging |
|
||||
| **Build/Test/Deploy KI‑Agenten** | Azure DevOps Pipelines, Terraform | CI/CD + IaC |
|
||||
| **Bastion Host** | Azure Bastion | Sicherer RDP/SSH Zugriff |
|
||||
| **Splunk SIEM** | Optional: Splunk Enterprise auf AKS oder Azure Sentinel (SIEM) |
|
||||
| **Public/private Zertifikate** | Key Vault + Azure Front Door | Managed Zertifikate |
|
||||
|
||||
## 4. Konfigurationshinweise
|
||||
|
||||
### 4.1 Azure Policy & Blueprints
|
||||
| Richtlinie | Ziel | Durchsetzung |
|
||||
|------------|------|--------------|
|
||||
| **Erlaubte Standorte** | Alle Ressourcen | Verhindert Deployments außerhalb von EU‑Regionen |
|
||||
| **Tagging‑Anforderung** | Alle Ressourcen | Erfordert `Owner`, `Environment`, `Compliance` Tags |
|
||||
| **Erlaubte SKUs** | AKS, Azure SQL, Cosmos DB | Beschränkt auf EU‑Datencenter SKUs |
|
||||
| **Datenresidenz** | Storage Accounts | Erzwingt `DataLocation=EU` |
|
||||
| **Key Vault‑Secret‑Schutz** | Key Vault | Erzwingt `SoftDelete`, `PurgeProtection` |
|
||||
|
||||
Verwende **Azure Blueprints**, um die Basis (VNET, NSG, Key Vault, AAD Connect) vor‑bereit zu stellen.
|
||||
|
||||
### 4.2 RBAC & Managed Identities
|
||||
- **AKS‑Cluster**: Aktiviere `Azure AD Integration` und weise die Rolle *Azure Kubernetes Service RBAC* AAD‑Gruppen zu.
|
||||
- **Service Principals**: Nutze *Azure AD App‑Registrierungen* für API Management und DevOps Pipelines. Erteile minimalen Rollenumfang (z.B. `Reader`, `Contributor` auf spezifische Resource Groups).
|
||||
- **Managed Identities**: Aktiviere sie für AKS‑Nodes, Databricks‑Workspaces und Synapse‑Pipelines, um Key Vault‑Secrets, Storage Accounts und Datenbanken zu nutzen.
|
||||
- **Privileged Identity Management**: Aktiviere JIT für *Owner* Rollen auf Produktions‑Resource Groups.
|
||||
|
||||
### 4.3 Key Vault Secrets & Zertifikate
|
||||
- Speichere alle Verbindungszeichenketten, API‑Keys (Azure OpenAI) und TLS‑Zertifikate im **Key Vault**.
|
||||
- Aktiviere *SoftDelete* + *PurgeProtection*.
|
||||
- Verwende **Key Vault‑References** in ARM/Terraform (z.B. `@Microsoft.KeyVault(????)`) zur Laufzeit‑Injektion.
|
||||
- Für TLS‑Terminierung importiere Zertifikate in Key Vault und referenziere sie im Front Door oder Application Gateway.
|
||||
|
||||
### 4.4 Netzwerke & Isolation
|
||||
- Stelle alle Ressourcen in ein **VNet** mit Subnetzen: `api`, `k8s`, `storage`, `data‑lake`, `monitor`.
|
||||
- Nutze **Network Security Groups** (NSGs) und **Azure Firewall**, um Egress/Ingress zu beschränken. Erlaube nur benötigte Ports (80, 443, 6443 für AKS etc.).
|
||||
- Aktiviere **Private Endpoints** für alle Storage Accounts und Datenbanken, um Traffic ins öffentliche Internet zu vermeiden.
|
||||
- Verwende **Service Tags** (z.B. `AzureCloud`, `AzureKeyVault`) in NSGs.
|
||||
|
||||
### 4.5 Logging & Retention
|
||||
- **Azure Monitor**: Aktiviere Diagnose‑Logs für alle Ressourcen. Speichere Logs in einem dedizierten Log Analytics Workspace mit Retention von 90 Tagen (oder länger, falls EU‑AI Act erfordert).
|
||||
- **Application Insights**: Aktiviere Telemetrie für API Gateway und AKS‑Workloads. Nutze benutzerdefinierte Dimensionen, um Anfragen nach `model_id` zu taggen.
|
||||
- **Azure Sentinel**: Ingestiere Logs von Key Vault, Defender, APIM und AKS. Erstelle Playbooks für automatisierte Incident‑Response.
|
||||
- **Splunk**: Falls nötig, betreibe Splunk Enterprise auf separatem AKS‑Cluster und ingestiere Daten über Splunk Connect for Microsoft Azure.
|
||||
|
||||
## 5. Compliance‑Check‑Plan
|
||||
|
||||
| Aspekt | Check | Tool / Artefakt |
|
||||
|--------|-------|-----------------|
|
||||
| **EU‑AI Act** | Modell‑Governance, Audit‑Trail, Bias‑Testing | Azure Machine Learning Model Registry, benutzerdefinierte Logging in APIM |
|
||||
| **DSGVO** | Datenminimierung, Consent‑Management | Azure Key Vault für Verschlüsselungsschlüssel, Azure AD Consent Framework |
|
||||
| **DORA** | Release‑Frequency, Deployment‑Automation | Azure DevOps Pipelines Metriken, Git Commit History |
|
||||
| **NIS 2** | Incident‑Response, Supply‑Chain‑Security | Azure Sentinel Playbooks, Defender for Cloud Alerts |
|
||||
| **ISO 27001** | Informationssicherheits‑Management | ISO‑27001 Audit‑Templates, Azure Policy Compliance Dashboard |
|
||||
|
||||
### 5.1 Periodische Audits
|
||||
- **Quartalsweise**: Führe Azure Policy Compliance Scans durch, überprüfe IAM‑Rollenvergabe.
|
||||
- **Halbjährlich**: Führe Penetration‑Tests am API Gateway und AKS Cluster durch, verifiziere Key Vault Secret Rotation.
|
||||
- **Jährlich**: Führe vollständigen ISO 27001 Audit durch, EU‑AI Act Modell‑Compliance Review.
|
||||
|
||||
### 5.2 Monitoring & Alerting
|
||||
- **Security Alerts**: Defender for Cloud + Azure Sentinel erzeugen Alarme bei anomalen Logins, Schwachstellen‑Ergebnissen.
|
||||
- **Compliance Alerts**: Policy‑Verletzungen lösen Alarme in Azure Monitor aus und senden Benachrichtigungen an das Compliance‑Team.
|
||||
- **Operational Alerts**: APIM Throttling, AKS Node‑Fehler, Datenbankverbindungsfehler.
|
||||
|
||||
## 6. Bereitstellungs‑Blueprint (IaC)
|
||||
- **Terraform‑Module** für VNet, Subnetze, NSGs, Key Vault, AKS, APIM, Cosmos DB.
|
||||
- **ARM‑Templates** für Azure AD Connect und Key Vault‑References.
|
||||
- **Azure DevOps Pipelines**: getrennte Pipelines für Infrastruktur (IaC) und Anwendung (Container‑Build, Push zu ACR, Deploy zu AKS).
|
||||
- **CI Secrets**: gespeichert im Key Vault und über Azure DevOps Service‑Connections abgerufen.
|
||||
|
||||
## 7. Nächste Schritte
|
||||
1. Erstelle das **Azure Blueprint** für Basis‑Compliance.
|
||||
2. Deploye **VNet** und **NSGs** mit den oben genannten Regeln.
|
||||
3. Erstelle **Key Vault**, importiere Zertifikate, erstelle Secrets für OpenAI‑Keys.
|
||||
4. Deploye **AKS** mit Azure AD Integration und Managed Identities.
|
||||
5. Richte **Azure APIM** ein, konfiguriere Policies (Rate‑Limit, JWT‑Validierung).
|
||||
6. Deploye **KI‑Engine** Container‑Images zu AKS.
|
||||
7. Konfiguriere **Azure Sentinel** mit Log‑Connectors.
|
||||
8. Führe Compliance‑Scan-Suite aus und behebe eventuelle Lücken.
|
||||
|
||||
---
|
||||
|
||||
> *Alle Dienste werden in EU‑Regionen (z. B. West Europe, North Europe) gehostet, um Daten‑Residency‑Anforderungen zu erfüllen.*
|
||||
|
||||
Reference in new issue
Block a user