AWS Accounts — Inventar
Org-Struktur
Org o-p197skdqva (Master 343241684374)
└── Root r-2stg
├── 343241684374 marvinkuehlmann (Mgmt)
├── 425924867359 av-production
├── 210948569534 mk-privat
└── 084400305827 av-becker
Keine OUs — alle Accounts direkt unter Root. Wenn die Account-Zahl waechst (>~6) macht ein einfaches OU-Layout Sinn (z.B. Customers, Internal, Personal). Heute ueberbauend.
Mgmt-Account
| Feld | Wert |
|---|---|
| Account-ID | 343241684374 |
| Name | marvinkuehlmann |
| marvinkuehlmann@gmail.com | |
| Joined Org | 2026-05-07 (als Master) |
| Default Region | eu-central-1 |
Bestand (2026-05-07):
S3 Buckets:
agentic-os-memory— Memory-Bucket fuer Plugins / Skills (Zweck genauer spezifizieren wenn benutzt)av-cloudtrail-logs-343241684374— Org-Trail-Logs aller Accounts (CloudTrail-Bucket)marvinkuehlmann.com— eigene Websitevideos.marvinkuehlmann.com— Video-Hostingheygustavo-de-redirect— Domain-Redirect
CloudTrail:
av-mgmt-trail— Organization-Trail, multi-region, all-events (ReadWriteType: All), Log-File-Validation aktiviert. Loggt jeden Account in der Org in den Mgmt-Bucket.
IAM-User:
mkuehlmann— Marvin als IAM-User (fuerdefault-CLI-Profile + AssumeRole-Source)
Was nicht hier rein gehoert: Kunden-Workloads. Mgmt bleibt Org-Admin + zentrales Logging + eigene Web-Properties. Keine Production-Apps.
av-production
| Feld | Wert |
|---|---|
| Account-ID | 425924867359 |
| Name | av-production |
| aws+av-production@agenticventures.de | |
| Erstellt | 2026-05-07 |
Bestand (Stand 2026-05-11):
S3 Buckets (Detail-Konvention in buckets):
av-business-eu-central-1— AV-Geschaeftsvault: Vertraege pro Kunde, Firmen-Stammdokumente, AWS-Compliance-Nachweise. Konvention:firma/<bereich>/(multi-customer-shared) undcustomers/<slug>/<projekt>/(kundenspezifisch). Encryptionaws:kmsmit CMKalias/av-business. Versioning enabled, Public Access geblockt, Object-Lock available (per-Objekt setzbar). Lifecycle: Glacier 30d, Expire 2555d (7y), Multipart 7d.av-finanzen-eu-central-1— UG-Belege/Rechnungen (absetzbar), GoBD-Aufbewahrung. Konvention:<jahr>/<monat>/<sender-slug>-<datum>-<betrag>.pdf. Encryptionaws:kmsmit CMKalias/av-finanzen. Object-Lock Governance Default 2555d, Versioning, Public Access geblockt, Lifecycle (Glacier 30d, Expire 2555d, Multipart 7d). Angelegt 2026-05-12.cdk-hnb659fds-assets-425924867359-eu-central-1— CDK Bootstrap-Bucket (auto-managed durch AWS CDK)
KMS:
- CMK
alias/av-business(KeyId15c18f3b-fd45-49ab-a77f-b3b61753b519) — Symmetric, ENCRYPT_DECRYPT, Auto-Rotation aktiv - CMK
alias/av-finanzen(KeyId64fafaf9-5959-4029-80a2-d0d9bc8a4935) — Symmetric, ENCRYPT_DECRYPT, Auto-Rotation aktiv. Fuerav-finanzen-eu-central-1.
IAM:
- Role
agent-beleg-pipeline-exec(arn:aws:iam::425924867359:role/agent-beleg-pipeline-exec) — Lambda-Execution-Role fuer denagent-beleg-pipelineLambda. Auto-managed durch CDK-StackBelegPipelineStack. Permissions: Bedrock-Invoke (Haiku 4.5 EU), S3-Write aufav-finanzen-eu-central-1, KMS-Encrypt aufalias/av-finanzen,sts:AssumeRoleauf Cross-Account-Role in mk-privat, Secrets-Read fuer 3 Secrets, CloudWatch-Logs. Angelegt 2026-05-12 viacdk deploy. Detail: agents-platform. - (deprecated) User
email-agent-beleg-writer— am 2026-05-12 angelegt fuer Cloudflare-Path, am gleichen Tag geloescht nach Lambda-Pivot. Access Key invalidiert, Inline-Policy entfernt, User gone.
Vorgesehen fuer:
- AV-eigene Geschaeftsdokumente und Vertragsverwaltung (laufend, av-business-Bucket)
- MCP-as-a-Service-Hub (mittelfristig — alle eigenen MCPs als hosted Services)
- Domain-Hosting wenn UG-eigen (vs. privat im Mgmt-Account)
mk-privat
| Feld | Wert |
|---|---|
| Account-ID | 210948569534 |
| Name | mk-privat |
| aws+privat@marvinkuehlmann.com | |
| Erstellt | 2026-05-07 |
Bestand (Stand 2026-05-12):
S3 Buckets:
mk-finanzen-eu-central-1— Privat-Belege Marvin (nicht absetzbar), GoBD-Aufbewahrung. Konvention:<jahr>/<monat>/<sender-slug>-<datum>-<betrag>.pdf. Encryptionaws:kmsmit CMKalias/mk-finanzen. Object-Lock Governance Default 2555d, Versioning, Public Access geblockt, Lifecycle (Glacier 30d, Expire 2555d, Multipart 7d). Angelegt 2026-05-12.
KMS:
- CMK
alias/mk-finanzen(KeyId5c6b3389-fc83-45dd-b2eb-98d41b436a29) — Symmetric, ENCRYPT_DECRYPT, Auto-Rotation aktiv.
IAM:
- Role
email-agent-beleg-writer-cross-account(arn:aws:iam::210948569534:role/email-agent-beleg-writer-cross-account) — Cross-Account-Schreibzugriff fuer denagent-beleg-pipelineLambda in av-production. Trust: nurarn:aws:iam::425924867359:role/agent-beleg-pipeline-execdarfsts:AssumeRole. Inline-PolicyBelegWriterMkFinanzen:s3:PutObject/Get/Tagging/ListBucketaufmk-finanzen-eu-central-1,kms:Encrypt/Decrypt/GenerateDataKeyaufalias/mk-finanzen. MaxSessionDuration 3600s. Angelegt 2026-05-12, Trust nach Lambda-Pivot am gleichen Tag auf Lambda-Role umgestellt.
Vorgesehen fuer: Marvin-Privat-Stuff, klar getrennt von UG-Sphaere. Steuerlich sauber. Account-Grenze ist die UG-Grenze — alles was nicht absetzbar ist landet hier.
av-becker
Detail-Bestand in eigenem File: av-becker.
Kurzfassung:
- 3 S3 Buckets (
bas-twin-data,bas-twin-data-test,bas-twin-artifacts) - 1 IAM-User (
bas-bedrock-pilot) - Bedrock breit aktiviert (EU-Profile)
- Compute leer
CLI-Profile
Lokale ~/.aws/config. Zwei Mechanismen parallel — SSO als Daily-Default, AssumeRole als Fallback.
SSO-Profile (preferred)
Login: aws sso login --profile mgmt einmal pro 8h, danach alle SSO-Profile in der gleichen Session nutzbar ohne erneuten Login.
[sso-session agentic]
sso_start_url = https://d-996749743e.awsapps.com/start
sso_region = eu-central-1
sso_registration_scopes = sso:account:access
[profile mgmt] # 343241684374, AdministratorAccess
[profile av-prod] # 425924867359, AdministratorAccess
[profile becker] # 084400305827, AdministratorAccess
[profile mk-priv] # 210948569534, AdministratorAccess
AssumeRole-Profile (Fallback)
Nutzt IAM-User mkuehlmann (default-Profile) als Source und assumiert OrganizationAccountAccessRole im Ziel-Account. Funktioniert ohne SSO-Login.
[default] # IAM-User mkuehlmann, region eu-central-1
[profile av-becker]
role_arn = arn:aws:iam::084400305827:role/OrganizationAccountAccessRole
source_profile = default
[profile av-production] # 425924867359
[profile mk-privat] # 210948569534
Externer Account (Icking)
Icking betreibt seinen eigenen AWS-Account 063507503859 ausserhalb unserer Org — Marvin hat dort Gast-Zugriff per SSO. Komplett getrennt von der Agentic-Org.
Dort laeuft die AI-Pipeline fuer Smart Dach Next (5.500 EUR Festpreis-Projekt, Mistral als fachlicher Judge, siehe projekte). HeyJulia laeuft noch nicht — Vertrag v4 wurde 2026-05-06 versendet und wartet auf Antwort. Wenn HeyJulia kommt laeuft das bei uns (in einem av-icking-Sub-Account oder av-production, noch nicht entschieden), nicht im Icking-Account.
[sso-session aicking]
sso_start_url = https://d-9967562255.awsapps.com/start
sso_region = eu-central-1
[profile icking] # 063507503859, PowerUserAccess
Setup fuer einen neuen Sub-Account
Schritt-fuer-Schritt fuer den naechsten av-<kunde>:
- Im Mgmt-Account-Console: Organizations → Add an account → Create
- Account-Name:
av-<kunde-slug>(Naming siehe naming-konvention) - Email:
aws+av-<kunde-slug>@agenticventures.de(Plus-Alias, kein neues Postfach noetig) - IAM-Role-Name: Default
OrganizationAccountAccessRolelassen - Warten ~1 Min bis Status ACTIVE
- Identity Center → AWS Accounts → neuen Account waehlen → Assign users or groups →
mkuehlmannmitAdministratorAccesszuweisen - Im Mgmt-Account einmalig
~/.aws/configergaenzen:[profile <kunde>] sso_session = agentic sso_account_id = <new-account-id> sso_role_name = AdministratorAccess region = eu-central-1 output = json [profile av-<kunde>] role_arn = arn:aws:iam::<new-account-id>:role/OrganizationAccountAccessRole source_profile = default region = eu-central-1 - Verifizieren:
aws --profile <kunde> sts get-caller-identity(nachaws sso login --profile <kunde>falls Session abgelaufen) - Pro-Kunden-Datei
intern/capabilities/aws/av-<kunde>.mdanlegen, Bestand pflegen - In accounts Tabelle ergaenzen
- Erste Ressourcen anlegen (S3-Buckets, IAM-User, Bedrock-Aktivierung) und in pro-Kunde-Datei dokumentieren
Related
- _index — Capability-Dashboard
- identity-center — SSO-Permission-Sets
- aws-multi-account-strategie — warum Multi-Account