av-becker — Bestand
| Feld | Wert |
|---|---|
| Account-ID | 084400305827 |
| Account-Name | av-becker |
| aws+av-becker@agenticventures.de | |
| Erstellt | 2026-05-07 13:48 |
| Region | eu-central-1 (Default) |
| Kunde | becker |
| Projekt | _index |
Was drin ist (Stand 2026-05-07)
S3 Buckets
| Bucket | Erstellt | Zweck |
|---|---|---|
bas-twin-data-eu-central-1 | 2026-05-07 11:53 | Production-Daten BAS-Twin (Stammdaten, Auftraege, Coil-Verschnitt) |
bas-twin-data-test-eu-central-1 | 2026-05-07 11:53 | Test/Staging-Daten BAS-Twin |
bas-twin-artifacts-eu-central-1 | 2026-05-07 11:53 | Artefakte (Reports, PDFs, Modell-Outputs) |
becker-bedrock-logs-eu-central-1 | 2026-05-07 18:11 | Bedrock-Invocation-Logs (Volltext I/O), versioned, SSE-S3, Bucket-Policy auf bedrock.amazonaws.com, Lifecycle 90d→Deep Archive, 7 Jahre Retention |
Contract-Storage liegt NICHT hier. Vertragsdokumente (Angebote, AVV, Vertragsbedingungen, Gruendungsurkunde, AWS DPA) sind AV-eigene Geschaeftsdaten und liegen in av-production unter s3://av-business-eu-central-1/customers/becker/2026-bas-twin/. Convention nach Vault-Konvention “Kunden-Sub-Account = nur Kunden-Workload, AV-eigene Sachen = av-production”.
Daten-Struktur in bas-twin-data + bas-twin-data-test (Stand 2026-05-11):
Beide Buckets haben identisches Skeleton mit Top-Level-Prefixes inbound/, curated/, exports/, _archive/ plus Kategorien stammdaten/, auftraege/, coil-verschnitt/, speedzone/, lme/ unter inbound + curated. README am Bucket-Root erklaert Convention + Tag-Schema (data-class, source, customer, confidentiality). Test-Bucket ist Alex’ Sandbox (RW via SSO BeckerBasOperator), Prod ist read-only fuer Alex.
Erste Real-Daten in bas-twin-data (Stand 2026-05-20, von Marvin manuell hochgeladen via Console, Wegsortierung 2026-05-20):
| Pfad | Inhalt | Quelle |
|---|---|---|
inbound/stammdaten/2026-05-20/artikel-stamm.xlsx | Artikelstamm BAS (4.9 MB) | BAS-IT Export |
inbound/stammdaten/2026-05-11/vormaterial-txltc.xlsx | Vormaterial-Stamm txltc1505m000_200 (1.3 MB) | BAS-IT Export 2026-05-11 |
inbound/auftraege/2026-05-11/offene-pas-tisfc.xlsx | Offene Produktionsauftraege tisfc0501m000_200 (23 KB) | BAS-IT Export 2026-05-11 |
inbound/auftraege/2026-05-20/anfragen-bundle.zip | Original-Lieferungs-Bundle (4.2 MB, 7 eml) | BAS — entpackt 2026-05-20, Bundle bleibt als Lieferungs-Stand |
inbound/auftraege/2026-05-20/anfragen/2026-00177-rolls-royce-structuurdelen.eml | RFQ Rolls Royce Strukturteile | |
inbound/auftraege/2026-05-20/anfragen/26-0599-aluminium.eml | Anfrage 26-0599 Aluminium | |
inbound/auftraege/2026-05-20/anfragen/26-0567-mp-6146.eml | Anfrage 26-0567 MP-6146 | |
inbound/auftraege/2026-05-20/anfragen/materialanfrage-3x72mm-guete-3-3535.eml | Materialanfrage 3,0 x 72 mm Guete 3.3535 | |
inbound/auftraege/2026-05-20/anfragen/rfq-materials.eml | Generische RFQ | |
inbound/auftraege/2026-05-20/anfragen/rfq-materials-2s-2026-valencia-vigo-szolnok.eml | RFQ 2S 2026 — Valencia/Vigo/Szolnok | |
inbound/auftraege/2026-05-20/anfragen/anfrage-101342-kalk-ref-26-0269-00.eml | Anfrage 101342 Kalk-Ref 26-0269-00 | |
inbound/coil-verschnitt/2026-05-05/coil-trim-stockdemands.xlsx | Coil-Trim StockDemands 20260505_13005801 (938 KB) | BAS-IT Export 2026-05-05 |
inbound/lme/2026-05/lme-metallpraemie-bas-mai.eml | LME + Metall-Praemie Mai 2026 (161 KB) | Email-Forward |
Alle 6 Objekte mit Pflicht-Tags customer=becker, data-class=raw, source=marvin, confidentiality=sensitive. Initiale Ablage war in inbound/inbox/ (Sammel-Ordner ausserhalb Konvention) — Wegsortierung 2026-05-20 verschoben in die richtigen Kategorien, alte Keys soft-deleted (Versioning behaelt Rollback-Stand).
Settings auf allen vier Buckets (verifiziert 2026-05-10 nach KMS-Migration):
- Versioning: Enabled
- Encryption:
aws:kmsmit Customer-Managed-Keyalias/bas-twin-data(Bucket-Key enabled fuer Cost-Optimization, SSE-C blockiert). KMS-Migration 2026-05-10 — Altobjekte (Stand vor Migration) bleiben mitAES256lesbar, neue Objekte mit CMK. - Public Access Block: alle 4 Flags
true - Lifecycle (
bas-twin-*): Noncurrent-Versions → Glacier nach 30d, MultipartUpload-Abort nach 7d - Lifecycle (
becker-bedrock-logs): Current-Objects → Deep Archive nach 90d, Expiration nach 2555d (7 Jahre HGB-konform), Noncurrent-Versions → Deep Archive nach 30d, Noncurrent-Expiration nach 365d, MultipartUpload-Abort nach 7d
IAM
User:
bas-bedrock-pilot(Service-Account) — fuer programmatischen Bedrock-Zugriff aus der BAS-Twin-App. Kein Console-Zugriff. Active Access Key seit 2026-05-07 11:51 (Key-ID + Secret in SSM Parameter Store, Regioneu-central-1, Profilav-becker:/agentic-ventures/av-becker/bas-bedrock-pilot/access-key-id(String) +/secret-access-key(SecureString). Konvention siehe aws-ssm-secrets-konvention).- Inline-Policy
BasTwinBedrockS3(verifiziert 2026-05-07): least-privilege, nurbedrock:InvokeModel/InvokeModelWithResponseStream/Converse/ConverseStreamaufanthropic.claude-*in 6 EU-Regionen +eu.anthropic.claude-*-Inference-Profile, plusbedrock:List/GetFoundationModels/InferenceProfiles(read-only Discovery), plus S3-Object-RW (Get/Put/Delete/GetObjectVersion) auf die 3bas-twin-*-Buckets und Bucket-Listing. Keine IAM-, keine Org-, keine Cross-Account-Permissions - Keine Group-Membership, keine Managed Policies attached
- Inline-Policy
Roles (custom, nicht service-linked):
OrganizationAccountAccessRole— automatisch von Org-SetupAWSReservedSSO_AdministratorAccess_*— Identity-Center-Generated fuer MarvinAWSReservedSSO_BeckerBasOperator_*— Identity-Center-Generated fuer Alex Gross
KMS
Customer-Managed-Key (CMK):
| Feld | Wert |
|---|---|
| Alias | alias/bas-twin-data |
| Key-ID | 01813a9d-bde7-434c-9d70-c94ba9176a9a |
| ARN | arn:aws:kms:eu-central-1:084400305827:key/01813a9d-bde7-434c-9d70-c94ba9176a9a |
| KeyUsage | ENCRYPT_DECRYPT, SYMMETRIC_DEFAULT |
| Origin | AWS_KMS |
| Auto-Rotation | Enabled (jaehrlich, naechste Rotation 2027-05-10) |
| Erstellt | 2026-05-10 |
Wer darf den Key benutzen (Key-Policy):
arn:aws:iam::084400305827:root— Account-Admin via IAM-Permissions (deckt Marvin-SSOAdministratorAccessab)- IAM-User
bas-bedrock-pilot—Encrypt/Decrypt/ReEncrypt*/GenerateDataKey*/DescribeKey - Service-Principal
bedrock.amazonaws.com—GenerateDataKey/Decrypt, eingeschraenkt aufaws:SourceAccount=084400305827undarn:aws:bedrock:eu-central-1:084400305827:*(fuer Invocation-Logs in denbecker-bedrock-logs-Bucket) - Service-Principal
s3.amazonaws.com—GenerateDataKey/Decrypt, eingeschraenkt aufaws:SourceAccount=084400305827(fuer Bucket-Key-Mechanik)
Verwendung: Default-Encryption auf allen 4 S3-Buckets (bas-twin-data, bas-twin-data-test, bas-twin-artifacts, becker-bedrock-logs). Smoke-Test 2026-05-10: write+read+head erfolgreich, Object-Header zeigt aws:kms mit korrektem KeyId.
Notbremse: aws kms disable-key --key-id alias/bas-twin-data --profile av-becker --region eu-central-1 — alle 4 Buckets sind sofort fuer neue Decrypt-Operationen tot, bis enable-key. Loeschung mit 7–30d Schedule (schedule-key-deletion), in der Zeit per cancel-key-deletion rueckgaengig.
Bedrock
EU-Inference-Profile aktiviert (Auswahl):
eu.anthropic.claude-sonnet-4-6,claude-sonnet-4-5,claude-sonnet-4-20250514,claude-3-sonnet-20240229eu.anthropic.claude-opus-4-7,claude-opus-4-6-v1,claude-opus-4-5,eu.anthropic.claude-haiku-4-5-20251001,claude-3-haiku-20240307eu.amazon.nova-pro/lite/micro/2-liteeu.meta.llama3-2-1b/3b-instructeu.mistral.pixtral-large-2502eu.cohere.embed-v4eu.twelvelabs.pegasus-1-2
Plus global.* Profile fuer einige Modelle (cross-region inference). Komplette Liste in CloudTrail / Bedrock-Console.
Default-Modell fuer BAS-Twin: TBD festlegen (Vorschlag: eu.anthropic.claude-sonnet-4-6 als fachlicher Judge, eu.amazon.nova-lite als billige Vorfilter-Stufe).
GuardDuty
Aktiviert 2026-05-11 — Detector cecf0b6d9fd55eeeed523b1f0f3a7870 in eu-central-1, S3-Protection enabled, Finding-Publishing-Frequency SIX_HOURS. Kosten ~10 EUR/Monat. Findings landen in CloudTrail/EventBridge — separate Alarmierung noch nicht konfiguriert (kommt bei erstem Finding oder vor Production-Go-Live).
Networking
- Default-VPC
vpc-0ee239e710645502d(172.31.0.0/16) — bisher unbenutzt - Keine Custom-VPC angelegt
Compute
Leer (verifiziert 2026-05-10):
- App Runner: 0
- ECS: 0
- Lambda: 0
- EC2: 0 (
aws ec2 describe-instances --profile av-becker --region eu-central-1liefert leer)
Sonstiges
- DynamoDB: 0 Tabellen
- RDS: 0 Instanzen
- Secrets Manager: 0 Secrets
- SSM Parameter Store: 2 Parameters (eu-central-1, verifiziert 2026-05-10):
/agentic-ventures/av-becker/bas-bedrock-pilot/access-key-id(String, v1)/agentic-ventures/av-becker/bas-bedrock-pilot/secret-access-key(SecureString mitalias/aws/ssm, v1)- Tags:
customer=becker,service=bas-bedrock-pilot,managed-by=marvin - Lokale Dev-Spiegelung in
~/source/bas-twin/.env(gitignored). SSM ist Source-of-Truth — bei Rotation hier ändern, dann lokale.envaktualisieren.
- Route53: 0 Hosted Zones
- KMS: 1 Customer-Managed-Key (
alias/bas-twin-data, siehe KMS-Abschnitt) plus AWS-managed Default-Keys (alias/aws/ssmfuer SSM-SecureString) - GuardDuty: nicht aktiviert
- AWS Config: nicht aktiviert
Audit-Trail
Management-Events: zentral via Org-Trail av-mgmt-trail (Mgmt-Account). Keine separate Trail-Konfiguration im Becker-Account noetig.
Bedrock-Invocation-Logs (LLM-Calls): aktiv seit 2026-05-07 18:11. Vollstaendige Inputs + Outputs (Text, Image, Embedding, Video) werden in s3://becker-bedrock-logs-eu-central-1/AWSLogs/084400305827/BedrockModelInvocationLogs/ geschrieben. Konfiguration via bedrock put-model-invocation-logging-configuration (siehe Setup-Files in aws-api-mcp/workdir/bedrock-*.json). Bucket-Setup:
- Versioning: enabled
- Encryption:
aws:kmsmit CMKalias/bas-twin-dataund Bucket-Key (Migration 2026-05-10) - Public Access Block: alle 4 Flags true
- Bucket-Policy: nur
bedrock.amazonaws.comdarfs3:PutObjectmitaws:SourceAccount=084400305827undaws:SourceArn=arn:aws:bedrock:eu-central-1:084400305827:* - KMS-Permission fuer Bedrock-Service-Principal in der Key-Policy von
alias/bas-twin-data(GenerateDataKey/Decrypt, gleiche Source-Conditions)
Damit ist der DSGVO-Audit-Trail fuer LLM-Calls strukturell erfuellt — jede InvokeModel/Converse-Anfrage hinterlaesst eine Spur mit Request-ID, Modell, Timestamp, vollem Prompt und vollem Output.
Optional spaeter: CloudWatch-Log-Group fuer leichteres Browsing der Metadaten (RequestId, ModelId, Latency) ohne Volltext. Heute bewusst weggelassen — S3 alleine reicht fuer Audit-Pflicht.
Wer hat Zugriff
| Wer | Wie | Was |
|---|---|---|
mkuehlmann (Marvin) | SSO Identity Center | AdministratorAccess (alles) |
alex-gross (Alex Gross) | SSO Identity Center | BeckerBasOperator (S3-RW auf -test, S3-Read auf prod, Bedrock-Invoke Claude) |
bas-bedrock-pilot (Service) | IAM Access Key | Inline-Policy BasTwinBedrockS3 (siehe IAM-Abschnitt oben) — Bedrock-Invoke auf eu.anthropic.claude-* + S3-RW auf bas-twin-*-Buckets |
default IAM-User in Mgmt | AssumeRole OrganizationAccountAccessRole | Admin (Fallback wenn SSO down) |
Offene Punkte
Erledigt 2026-05-07:
- Bedrock-Invocation-Logging aktivieren — Bucket
becker-bedrock-logs-eu-central-1mit Bucket-Policy aufbedrock.amazonaws.com, Logging-Config aktiv (Text + Image + Embedding + Video Delivery) - Lifecycle-Policy
becker-bedrock-logs-eu-central-1— 90d → Deep Archive, 2555d Expiration, Noncurrent-Versions 30d → Deep Archive / 365d Expiration - S3-Versionierung auf
bas-twin-data-eu-central-1(war schon Enabled) - S3-Verschluesselung pruefen — alle Buckets AES256 + SSE-C blocked, sauber
- Lifecycle
bas-twin-*— war schon (Noncurrent → Glacier, MultipartCleanup) - Policy
bas-bedrock-pilotreviewen — sehr sauber, keine Aenderung - Cost-Alarm — AWS Budget
becker-monthly-costim Mgmt-Account mitLinkedAccount=084400305827-Filter, 110 USD/Monat (~100 EUR), Notifications an hello@marvinkuehlmann.com bei 80 %/100 % Actual und 100 % Forecasted
Erledigt 2026-05-11:
- GuardDuty aktiviert — Detector
cecf0b6d9fd55eeeed523b1f0f3a7870eu-central-1, S3-Protection + 6h Publishing-Frequency - AWS GDPR DPA dokumentiert — Standalone-PDF (
2026-05-11-aws-gdpr-dpa.pdf) inav-business-eu-central-1/firma/compliance/(av-production-Account) abgelegt. Akzeptanz erfolgt automatisch via AWS Service Terms § 12 seit Account-Erstellung — kein separater Klick-Workflow mehr seit Maerz 2018. PDF dient Becker-DSB als Sub-Auftragsverarbeiter-Nachweis. - Daten-Bucket-Skeleton aufgebaut —
inbound/,curated/,exports/,_archive/mit Sub-Kategorienstammdaten/,auftraege/,coil-verschnitt/,speedzone/,lme/in beiden Buckets (test + prod). README + .keep-Marker hochgeladen. - Vertrags-Storage umgezogen — Initiale Ablage in
bas-twin-artifacts/contracts/war falscher Account (Kunden-Sub statt AV-eigen). Migration nachs3://av-business-eu-central-1/im av-production-Account erledigt. Alter Pfad mit Versioning soft-deleted (Noncurrent-Versions bleiben fuer Rollback).
Offen:
- AWS Config aktivieren? — Cost-Trade-off (~5–15 EUR/Monat, Compliance-Snapshots aller Resource-Aenderungen). Lohnt sich erst bei mehr Resources
- Access-Key von
bas-bedrock-pilotrotieren — Reminder Q3 2026 (90-Tage-Rotation ist ueblich, akut nicht noetig) - GuardDuty-Findings-Alarmierung (SNS → Email) — vor Production-Go-Live einrichten
- HRB-Auszug nach UG-Eintragung in
05-unternehmensnachweise/nachpflegen - Versicherungs-Bestaetigungen (LVM IT-Berufshaft + Hiscox Cyber) im Pre-Sprint hochladen Erledigt 2026-05-20:
- Bedrock-Logging Pfad-Bug gefixt —
keyPrefixaus Logging-Config entfernt. Neue Logs landen ab jetzt direkt unterAWSLogs/{acct}/BedrockModelInvocationLogs/eu-central-1/...(Bedrock-Default-Pattern). Alt-Files mit doppeltem Prefix (87 Stueck, 585 KB) bleiben — Glacier nach 90d, Expiration nach 7y greift normal. - Anfragen.zip entpackt — 7 .eml-Files aus
anfragen-bundle.zipextrahiert und mit sauberen Slugs nachinbound/auftraege/2026-05-20/anfragen/hochgeladen. Bundle bleibt als Original-Lieferungs-Stand daneben. Alle Files mit Pflicht-Tags.
Erledigt 2026-05-10:
- SSM-Parameter-Store-Diskrepanz aufgeloest — beide Parameter (
access-key-idString +secret-access-keySecureString) in eu-central-1 angelegt, Tags gesetzt, Konvention erfuellt. Lokale.envist jetzt Spiegelung, SSM ist Source-of-Truth. - KMS-CMK-Migration auf alle 4 S3-Buckets —
alias/bas-twin-dataangelegt (Symmetric, ENCRYPT_DECRYPT), Auto-Rotation jaehrlich, Key-Policy mit Marvin-Admin +bas-bedrock-pilot+bedrock.amazonaws.com+s3.amazonaws.com. Default-Encryption auf allen 4 Buckets vonAES256aufaws:kmsumgestellt mit Bucket-Key. Smoke-Test gruen. Patternaws-stack-pattern.mdjetzt erfuellt.