Kontext

Jedes Objekt innerhalb von DTZ muss einen übergeordneten Kontext haben. Dieser repräsentiert die Organisationsstruktur, die ein Objekt hält, ermöglicht Zugriffskontrolle und bietet Abrechnung sowie Buchführung. Jedem Benutzer ist standardmäßig ein Kontext an seine Sitzung angehängt. Wenn ein Benutzer also angemeldet ist, unabhängig von der Methode (apikey, oauth, etc.), ist der Sitzung bereits ein Kontext zugeordnet.

flowchart LR 
  uid[User Identity] -- "has access" --> context
  subgraph context
  Context[Context Core] -- "owns" --> Objectstore
  Context -- "owns" --> Containers
  Context -- "owns" --> Rss2Email
  Context -- "owns" --> E@{ shape: processes, label: "Other Services"}
  end

Der aktuelle Kontext wird immer in der Titelleiste oben links angezeigt.

DTZ Kontext

Der Wechsel des Kontexts erfolgt durch Auswahl des neuen Kontexts im Drop-down-Menü.

Ein neuer Kontext kann über die Hauptseite oder den folgenden Link erstellt werden.

https://dtz.rocks/new/ | Neuer Kontext

In Terraform wird der Kontext implizit aus der Benutzersitzung abgeleitet oder mittels der Datenquelle dtz_context abgefragt—even wenn er nicht explizit im Resource-Block deklariert ist.

Kontext-Admin

Der Kontext-Admin ist eine Rolle, die der Eigentümer-Identität das Recht gibt, Berechtigungen und Rollen bezüglich des Kontexts zu steuern. Der Ersteller des Kontexts erhält stets die Rolle des Kontext-Admins.

Außerdem wird eine neue Identität für den Kontext erstellt, die innerhalb des Kontexts als Service Principal dient. Die Identität wird mit folgendem Alias erstellt.

admin@{context_id}.dtz.rocks

Alle Kontext-Admins erhalten automatisch Zugriff auf alle innerhalb des Kontexts genutzten Dienste.