ORACLE CLOUD → STACKIT · SECURITY-DIENSTE

OCI Vault, KMS, Logging und Security auf STACKIT

Schlüssel, Secrets und Logs entscheiden, wer was lesen darf; deshalb gehören sie im Review nach vorn. In einer bewerteten OCI-Umgebung wird ein Vault-Schlüssel zu STACKIT KMS, ein Vault-Secret zu Secrets Manager und eine Log Group zu STACKIT Logs, während der Vault-Container, das Log-Objekt, die IAM-Policy und Cloud Guard bei einem Architekten bleiben. Dieser Leitfaden folgt den Abhängigkeiten, die der Lauf gefunden hat, und benennt, was Sie entscheiden.

Die Migration in sieben Schritten

Antwort vorweg: erst Identität, dann Schlüssel, dann Secrets, dann Logs, und jeden Schritt prüfen, bevor die Quelle stillgelegt wird.

  1. 1. Die Security-Umgebung erfassen

    Listen Sie Vaults, Schlüssel, Secrets, Log Groups, Logs, IAM-Policies und Erkennungseinstellungen aus Ihrem Terraform auf. Der Lauf erledigt das für die Ressourcentypen, die er kennt, und markiert den Rest als unbekannte Quelltypen.

  2. 2. Bewerten und die Verantwortlichen lesen

    Starten Sie die Bewertung und öffnen Sie execution/manual/actions.md. Dort steht je Arbeitspaket eine verantwortliche Rolle, und Schritte ohne Rolle sind markiert.

  3. 3. Zuerst die Identität klären

    Eine OCI-Policy hat bei STACKIT kein Gegenstück auf Dokumentebene. Ordnen Sie Personen und Workloads STACKIT-Rollen und Service Accounts zu, bevor etwas davon abhängt.

  4. 4. Schlüssel anlegen und neu verschlüsseln

    Legen Sie STACKIT-KMS-Schlüssel an. Das Schlüsselmaterial der Quelle zieht nicht um; deshalb werden damit verschlüsselte Daten neu verschlüsselt.

  5. 5. Secrets übertragen

    Legen Sie Secrets in Secrets Manager an. Die Werte überträgt eine Person, und Anwendungen ändern, wie sie die Werte lesen.

  6. 6. Logging und Audit neu aufbauen

    Legen Sie eine STACKIT-Logs-Instanz an, richten Sie die Agents darauf aus und entscheiden Sie, wie Audit-Streams geleitet werden.

  7. 7. Prüfen, dann stilllegen

    Prüfen Sie, dass jeder Verbraucher mit neuem Schlüssel, Secret und Log-Speicher funktioniert, und deaktivieren Sie erst dann die OCI-Objekte.

Ein Vault-Schlüssel und ein Secret, bewertet

Eine kleine Security-Umgebung, für diese Seite geschrieben und am 4. November 2026 von StackToIT bewertet. Links Vault, Schlüssel und Secret wie geschrieben, Zeilen 16 bis 45 der main.tf. Rechts das Ergebnis für Schlüssel und Secret, ein Auszug aus assessment.json mit den Werten, wie der Lauf sie geschrieben hat. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.

Beispieleingabemain.tf
resource "oci_kms_vault" "main" {
  compartment_id = var.compartment_id
  display_name   = "platform-vault"
  vault_type     = "DEFAULT"
}

resource "oci_kms_key" "data" {
  compartment_id      = var.compartment_id
  display_name        = "data-key"
  management_endpoint = oci_kms_vault.main.management_endpoint

  key_shape {
    algorithm = "AES"
    length    = 32
  }

  protection_mode = "HSM"
}

resource "oci_vault_secret" "db_password" {
  compartment_id = var.compartment_id
  vault_id       = oci_kms_vault.main.id
  key_id         = oci_kms_key.data.id
  secret_name    = "db-password"

  secret_content {
    content_type = "BASE64"
    content      = base64encode("change-me")
  }
}
StackToIT-Bewertungassessment.json
[
  {
    "id": "oci_kms_key.data",
    "result": {
      "class": "RECONFIGURE",
      "confidence": "LOW",
      "target": {
        "service": "STACKIT KMS"
      },
      "reason": "A Vault key becomes a STACKIT KMS key. Key material of the source does not move, so data encrypted with it is re-encrypted."
    }
  },
  {
    "id": "oci_vault_secret.db_password",
    "result": {
      "class": "RECONFIGURE",
      "confidence": "LOW",
      "target": {
        "service": "STACKIT Secrets Manager"
      },
      "reason": "A Vault secret becomes a secret in STACKIT Secrets Manager. Values are moved by an operator, and applications change how they read them."
    }
  }
]
  • Schlüsselmaterial bleibt zurück

    Oracle dokumentiert, dass ein HSM-geschützter Schlüssel das HSM nicht verlassen kann; das passt zum Lauf: Der Schlüssel wird neu erzeugt, die Daten werden neu verschlüsselt. Der Demo-Schlüssel ist ein AES-Schlüssel mit Schutzmodus HSM; seine Einstellungen sind Eingaben für Ihren Schlüsselentwurf.

  • Import ist der andere Weg

    In STACKIT KMS wählen Sie, einen Schlüssel zu erzeugen oder zu importieren. Import ist möglich; ein Export erzeugter Schlüssel ist nicht vorgesehen. Ob Import für Sie in Frage kommt, hängt vom Schlüsselmaterial ab, das Sie besitzen, und das gibt ein HSM-geschützter Oracle-Schlüssel nicht her.

  • Secrets sind Werte

    Der Lauf spricht davon, dass eine Person Werte überträgt. Tun Sie das aus einer kontrollierten Shell und nicht aus einer Datei, die in der Versionskontrolle landet; das Beispiel-Secret in der Eingabe ist ein Platzhalter.

Eine Log Group und ein Log, bewertet

Eine Log Group mit einem Service-Log, das Object-Storage-Ereignisse mit 90 Tagen Aufbewahrung schreibt. Zeilen 47 bis 68 der main.tf und das Ergebnis für beide Ressourcen, ein Auszug aus assessment.json mit den Werten, wie der Lauf sie geschrieben hat; die Begründung zur Log Group ist unten zusammengefasst statt zitiert. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.

Beispieleingabemain.tf
resource "oci_logging_log_group" "platform" {
  compartment_id = var.compartment_id
  display_name   = "platform-logs"
}

resource "oci_logging_log" "audit" {
  display_name = "app-service-log"
  log_group_id = oci_logging_log_group.platform.id
  log_type     = "SERVICE"

  configuration {
    source {
      category    = "write"
      resource    = "shop-bucket"
      service     = "objectstorage"
      source_type = "OCISERVICE"
    }
  }

  is_enabled         = true
  retention_duration = 90
}
StackToIT-Bewertungassessment.json
[
  {
    "id": "oci_logging_log_group.platform",
    "result": {
      "class": "RECONFIGURE",
      "confidence": "LOW",
      "target": {
        "service": "STACKIT Logs"
      }
    }
  },
  {
    "id": "oci_logging_log.audit",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "oci_logging_log is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  }
]
  • Gruppe wird abgebildet, Log nicht

    Die Log Group wird eine STACKIT-Logs-Instanz; laut Begründung des Laufs werden Collection-Agents, Abfragen und die darauf aufbauenden Ansichten neu geschrieben. Das Log-Objekt selbst steht nicht im Katalog des Laufs und ist MANUAL_REVIEW.

  • Der Agent ändert sich

    Oracle nimmt eigene Logs mit dem Unified Monitoring Agent auf, der auf fluentd basiert. STACKIT Logs akzeptiert Grafana Alloy, den OpenTelemetry Collector, Vector und Fluent Bit; die Agent-Konfiguration wird also neu geschrieben.

  • Aufbewahrung ist zu bestätigen

    Das Demo-Log verlangt 90 Tage. Die STACKIT-Logs-Seite nennt individuelle Aufbewahrungsfristen als Funktion, inzwischen auch in der Region eu02. Setzen Sie die Aufbewahrung an der Instanz und prüfen Sie sie, bevor Sie sich darauf verlassen.

Die Policy, der Vault und Cloud Guard

Eine IAM-Policy für die Operatoren, der Vault-Container, in dem Schlüssel und Secret liegen, und die Cloud-Guard-Konfiguration. Zeilen 70 bis 84 der main.tf; der Lauf markiert alle drei für einen Architekten. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.

Beispieleingabemain.tf
resource "oci_identity_policy" "vault_use" {
  compartment_id = var.compartment_id
  name           = "vault-use"
  description    = "Let the app group read secrets and use the data key"
  statements = [
    "Allow group app-operators to read secret-family in compartment platform",
    "Allow group app-operators to use keys in compartment platform"
  ]
}

resource "oci_cloud_guard_cloud_guard_configuration" "main" {
  compartment_id   = var.compartment_id
  reporting_region = "eu-frankfurt-1"
  status           = "ENABLED"
}
StackToIT-Bewertungassessment.json
[
  {
    "id": "oci_identity_policy.vault_use",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "OCI policies have no document-level counterpart on STACKIT. Map people and workloads to STACKIT roles and service accounts."
    }
  },
  {
    "id": "oci_kms_vault.main",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "oci_kms_vault is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  },
  {
    "id": "oci_cloud_guard_cloud_guard_configuration.main",
    "result": {
      "class": "MANUAL_REVIEW",
      "confidence": "LOW",
      "reason": "oci_cloud_guard_cloud_guard_configuration is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
    }
  }
]
  • Policy zu Rollen

    Die zwei Statements erlauben einer Gruppe, Secrets zu lesen und Schlüssel zu nutzen. Bei STACKIT drücken Sie dieselbe Absicht über Rollen und Service Accounts aus, die Ihr Identity Architect entwirft.

  • Der Vault-Container

    Der Vault-Typ steht nicht im Katalog des Laufs. Seine Aufgabe, Schlüssel und Secrets zu halten, verteilt sich auf KMS-Keyrings und eine Secrets-Manager-Instanz; entscheiden Sie diese Aufteilung einmal.

  • Für Cloud Guard gibt es hier keine Zuordnung

    Die Cloud-Guard-Konfiguration ist für den Lauf ein unbekannter Quelltyp. Entscheiden Sie, welche Erkennungen Sie weiter brauchen und wo sie laufen; es wird nichts vorgeschlagen.

So wird die Security-Umgebung zugeordnet

OCI-RessourceSTACKIT-ZielMigrationsklasse
Vault-SchlüsselSTACKIT-KMS-Schlüssel in einem Keyring; Daten neu verschlüsseltRekonfigurieren
Vault-SecretSecret in STACKIT Secrets Manager; Werte von einer Person übertragenRekonfigurieren
Log GroupSTACKIT-Logs-Instanz; Agents, Abfragen und Ansichten neu geschriebenRekonfigurieren
LogEntscheidung eines Architekten; nicht im Katalog des LaufsArchitekturentscheidung
VaultEntscheidung eines Architekten; nicht im Katalog des LaufsArchitekturentscheidung
IAM-PolicySTACKIT-Rollen und Service Accounts, von Ihrem Architekten zugeordnetArchitekturentscheidung
Cloud-Guard-KonfigurationEntscheidung eines Architekten; nicht im Katalog des LaufsArchitekturentscheidung

Sieben Ressourcen, sieben Einheiten: drei RECONFIGURE und vier MANUAL_REVIEW. Alle sieben tragen in diesem Lauf die Konfidenz LOW, und der Lauf schreibt keinen STACKIT-Ressourcenblock dafür.

Wer was tut: die Liste der Verantwortlichen

Die Datei mit den manuellen Schritten beginnt mit den Schritten ohne verantwortliche Rolle. Fünf der sieben Schritte haben in diesem Lauf keine; das ist das Erste, was Sie zuweisen.

Zuweisung der Verantwortlichenexecution/manual/actions.md
## Assign an owner

5 manual steps have no owner role: no role follows from the plan for it, so nobody is named to carry it out. Assign an owner to each; until then the migration is not ready (each shows "Owner assignment required" under Who below).

- the owner table has no role for the category "security" of the unit (2 manual steps): the manual migration of oci_kms_key.data, the manual migration of oci_vault_secret.db_password
- the assessment gives the unit no category, so no owner role follows from it (3 manual steps): the manual migration of oci_cloud_guard_cloud_guard_configuration.main, the manual migration of oci_kms_vault.main, the manual migration of oci_logging_log.audit
  • Security hat keine voreingestellte verantwortliche Rolle

    Die Tabelle der Verantwortlichen kennt keine Rolle für die Kategorie security; deshalb warten Schlüssel und Secret auf einen Namen. Geben Sie sie der Person, die für Verschlüsselung und Secrets verantwortlich ist.

  • Einheiten ohne Kategorie

    Vault, Log und Cloud-Guard-Konfiguration tragen in der Bewertung keine Kategorie; daraus folgt auch hier keine Rolle. Weisen Sie sie von Hand zu.

  • Die Policy hat eine verantwortliche Rolle

    Die IAM-Policy geht an einen Identity Architect, in ein Arbeitspaket, das eine Person sofort beginnen kann.

Die vorgeschlagene Reihenfolge

Die Wellen folgen den Abhängigkeiten. Eine Einheit zieht nach allem um, wovon sie abhängt.

  1. Welle 1

    Die Cloud-Guard-Konfiguration, die IAM-Policy, der Vault und die Log Group.

  2. Welle 2

    Der Schlüssel und das Log, die vom Vault und der Log Group abhängen.

  3. Welle 3

    Das Secret, das vom Vault und vom Schlüssel abhängt.

Fragen von Security-Teams

Können wir Vault-Schlüssel unverändert nach STACKIT KMS bringen?

Der Lauf sagt, das Schlüsselmaterial der Quelle ziehe nicht um, damit verschlüsselte Daten würden neu verschlüsselt. Oracle hält fest, dass HSM-geschützte Schlüssel nicht exportiert werden können. STACKIT KMS unterstützt den Import von Schlüsselmaterial; dafür brauchen Sie aber Material, das Sie besitzen.

Welche Schlüsseltypen bietet STACKIT KMS?

Die STACKIT-FAQ nennt AES-256 mit GCM und RSA mit 2048, 3072 und 4096 Bit. Gleichen Sie Ihre Schlüsselformen damit ab. Die Seite sagt nicht, ob Schlüssel in einem Hardwaremodul liegen; fragen Sie nach, wenn Sie diese Aussage brauchen.

Funktioniert Secrets Manager wie OCI-Vault-Secrets?

Es ist ein Key-Value-Speicher mit versionierten Secrets, und Workloads können sich per AppRole anmelden und ein Vault-kompatibles Token erhalten. Laut STACKIT (Stand November 2026) ist die AppRole-Anmeldung seit dem 31. August 2026 öffentlich zum Testen freigegeben; rechnen Sie also damit, dass sie sich noch ändert. Der Lauf sagt, dass Anwendungen das Lesen von Secrets ändern; planen Sie also Codeänderungen ein.

Was ist mit Audit-Logs?

Oracle-Audit-Logs erfassen API-Aufrufe an öffentlichen Endpunkten. STACKIT beschreibt den Telemetry Router als zentralen Dienst für Audit-Streams; seine Seite nennt keinen Reifegrad; bestätigen Sie ihn also, bevor Sie darauf aufbauen.

Quellen

Ihr nächster Schritt: STACKIT.

Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.