From 55c010fd8090c78a66591ba405aa38067ce9add4 Mon Sep 17 00:00:00 2001 From: Anja Kammer Date: Fri, 5 Apr 2024 19:16:58 +0200 Subject: [PATCH] Permissions Management (#28) --- CHANGELOG.md | 1 + .../01-duration-terms.adoc | 4 +- .../02-learning-goals.adoc | 79 ++++++++++++------- 3 files changed, 55 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d84102..09e0297 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - definition, methods, and challenges of Site Reliability Engineering - DevOps, DevSecOps, and SRE - Abstraction Layers of Container Managers +- Permissions Management - Secrets Management ## Naming concepts more explicitly diff --git a/docs/06-Automation-and-Operation/01-duration-terms.adoc b/docs/06-Automation-and-Operation/01-duration-terms.adoc index 43b4e71..c3c0841 100644 --- a/docs/06-Automation-and-Operation/01-duration-terms.adoc +++ b/docs/06-Automation-and-Operation/01-duration-terms.adoc @@ -4,7 +4,7 @@ |=== === Begriffe und Konzepte -DevOps, DevSecOps, Site Reliability Engineering (SRE), Mean Time To Recovery (MTTR), Konfiguration, Provisionierung, Infrastructure as Code, Cloud Provider APIs, Abstraktionsebenen von Container-Managern, Berechnung von Verfügbarkeit, Logging, Monitoring, Metriken, Distributed Tracing, Time Series Queries, Alerting, Berechnung Cluster Größe +DevOps, DevSecOps, Site Reliability Engineering (SRE), Konfiguration, Provisionierung, Infrastructure as Code, Cloud Provider APIs, Berechtigungsverwaltung, Abstraktionsebenen von Container-Managern, Berechnung Verfügbarkeit, Logging, Monitoring, Metriken, Distributed Tracing, Time Series Queries, Alerting, Berechnung Cluster Größe // end::DE[] // tag::EN[] @@ -13,7 +13,7 @@ DevOps, DevSecOps, Site Reliability Engineering (SRE), Mean Time To Recovery (MT |=== === Terms and Principles -DevOps, DevSecOps, Site Reliability Engineering (SRE), Mean Time To Recovery (MTTR), configuration, provisioning, Infrastructure as Code, Cloud Provider APIs, abstraction levels of container manager, calculate availability, logging, monitoring, metrics, distributed tracing, time series queries, alerting, calculate cluster size +DevOps, DevSecOps, Site Reliability Engineering (SRE), configuration, provisioning, Infrastructure as Code, Cloud Provider APIs, Permissions Management, abstraction levels of container manager, calculate availability, logging, monitoring, metrics, distributed tracing, time series queries, alerting, calculate cluster size // end::EN[] diff --git a/docs/06-Automation-and-Operation/02-learning-goals.adoc b/docs/06-Automation-and-Operation/02-learning-goals.adoc index 3f269ff..aa10432 100644 --- a/docs/06-Automation-and-Operation/02-learning-goals.adoc +++ b/docs/06-Automation-and-Operation/02-learning-goals.adoc @@ -17,26 +17,26 @@ Softwarearchitekt:innen verstehen die Möglichkeiten zur Schaffung skalierbarer Sie kennen die Definition, Methoden und die Herausforderungen des Site Reliability Engineerings. [[LZ-6-3]] -==== LZ 6-3: Wege der Beobachtbarkeit von verteilten Applikationen kennen +==== LZ 6-3: Automatisierungskonzepte zum vorhersehbaren Erzeugen, Verändern und Verbessern der Infrastruktur verstehen -Softwarearchitekt:innen wissen, dass es durch die verteilte Ausführung von Prozessen neue Herausforderungen an die Beobachtbarkeit verteilter Applikationen gibt. - -Sie kennen die besonderen Rahmenbedingungen verteilter Anwendung und den Einfluss auf die Beobachtbarkeit mittels: +Softwarearchitekt:innen verstehen, dass Automatisierung durch Infrastructure as Code eine Schlüsselmethode modernen Betriebs und eine Komponente des Continuous Delivery ist. -* Monitoring/Metriken und Alerting -* Logging -* Distributed Tracing +Sie kennen die Möglichkeiten der Automatisierung und verstehen, wie dies mit Werkzeuge zur automatisierten Bereitstellung von Cloud Infrastruktur über die APIs unterschiedlicher Cloud-Anbieter realisiert werden kann. -Sie kennen Wege und Verantwortlichkeiten zur Erstellung möglichst fehlervorhersagenden Time Series Queries für Alerts. +Sie kennen den Unterschied zwischen Infrastrukturkonfiguration und -Provisionierung, sowie etablierte Vorgehensweisen der Infrastruktur-Verwaltung. [[LZ-6-4]] -==== LZ 6-4: Automatisierungskonzepte zum vorhersehbaren Erzeugen, Verändern und Verbessern der Infrastruktur verstehen +==== LZ 6-4: Grundprinzipien der Berechtigungsverwaltung verstehen -Softwarearchitekt:innen verstehen, dass Automatisierung durch Infrastructure as Code eine Schlüsselmethode modernen Betriebs und eine Komponente des Continuous Delivery ist. +Softwarearchitekt:innen verstehen die Bedeutung und Implementierung des Prinzips der minimalen Rechtevergabe (Least Privilege) in der Cloud-Umgebung. +Sie erkennen die Notwendigkeit, jedem Nutzenden und Service-Account nur die minimalen Berechtigungen zu erteilen, die zur Ausführung ihrer spezifischen Aufgaben notwendig sind. -Sie kennen die Möglichkeiten der Automatisierung und verstehen, wie dies mit Werkzeuge zur automatisierten Bereitstellung von Cloud Infrastruktur über die APIs unterschiedlicher Cloud-Anbieter realisiert werden kann. +Dabei können sie folgende Herausforderungen benennen: -Sie kennen den Unterschied zwischen Infrastrukturkonfiguration und -Provisionierung, sowie etablierte Vorgehensweisen der Infrastruktur-Verwaltung. +* Automatisiertes Ausrollen von Berechtigungseinstellungen +* Verwaltung von konsistenten Berechtigungen in einem Hybrid/Multi-Cloud Setup +* Balance finden zwischen der minimalen Rechtevergabe (Least Privilege) und autonomen Entwicklungsteams +* Durchsetzung von Compliance Vorgaben bei der Berechtigungsverwaltung z.B. über Policy Enforcement [[LZ-6-5]] ==== LZ 6-5: Verschiedene Abstraktionsebenen von Container-Managern unterscheiden und verstehen @@ -46,7 +46,20 @@ Softwarearchitekt:innen wissen, dass sich durch Container-Manager die Grundfunkt Sie kennen die Einsatzmöglichkeiten vom Container-Managern und können ihre Abstraktionsebenen unterscheiden. [[LZ-6-6]] -==== LZ 6-6: Berechnungsmethoden zur Dimensionierung von Ressourcen kennen +==== LZ 6-6: Wege der Beobachtbarkeit von verteilten Applikationen kennen + +Softwarearchitekt:innen wissen, dass es durch die verteilte Ausführung von Prozessen neue Herausforderungen an die Beobachtbarkeit verteilter Applikationen gibt. + +Sie kennen die besonderen Rahmenbedingungen verteilter Anwendung und den Einfluss auf die Beobachtbarkeit mittels: + +* Monitoring/Metriken und Alerting +* Logging +* Distributed Tracing + +Sie kennen Wege und Verantwortlichkeiten zur Erstellung möglichst fehlervorhersagenden Time Series Queries für Alerts. + +[[LZ-6-7]] +==== LZ 6-7: Berechnungsmethoden zur Dimensionierung von Ressourcen kennen Softwarearchitekt:innen kennen Methoden zur Berechnung des Ressourcenbedarfs für: @@ -63,7 +76,6 @@ Software architects are familiar with the new roles that have become popular in They understand the challenges of adapting these new roles in traditional organizational structures. - [[LG-6-2]] ==== LG 6-2: Understand Ways to Create Scalable and Highly Reliable Systems @@ -72,26 +84,26 @@ Software architects understand the possibilities for creating scalable and highl They are familiar with the definition, methods, and challenges of Site Reliability Engineering. [[LG-6-3]] -==== LG 6-3: Understanding approaches for observability of distributed applications +==== LG 6-3: Understand Automation Concepts for Predictable Infrastructure Creation, Modification, and Improvement -Software architects know that the distributed execution of processes presents new challenges for observability of distributed applications. - -They understand the unique conditions of distributed applications and their impact on observability through: +Software architects understand that automation through Infrastructure as Code is a key method of modern operations and a component of Continuous Delivery. -* Monitoring/metrics and alerting -* Logging -* Distributed tracing +They are familiar with the possibilities of automation and understand how this can be realized using tools for automated provisioning of cloud infrastructure through the APIs of different cloud providers. -They are familiar with approaches and responsibilities for creating predictive time series queries for alerts. +They understand the difference between infrastructure configuration and provisioning, as well as established practices for infrastructure management. [[LG-6-4]] -==== LG 6-4: Understand Automation Concepts for Predictable Infrastructure Creation, Modification, and Improvement +==== LG 6-4: Understand the Fundamental Principles of Permissions Management -Software architects understand that automation through Infrastructure as Code is a key method of modern operations and a component of Continuous Delivery. +Software architects understand the importance and implementation of the least privilege principle in cloud environments. +They understand the need to grant each user and service account only the minimum permissions required to perform their specific tasks. -They are familiar with the possibilities of automation and understand how this can be realized using tools for automated provisioning of cloud infrastructure through the APIs of different cloud providers. +They can name the following challenges: -They understand the difference between infrastructure configuration and provisioning, as well as established practices for infrastructure management. +* Automated roll-out of permissions settings +* Managing consistent permissions in a hybrid/multi-cloud setup +* Striking a balance between least-privilege and autonomous development teams +* Enforcement of compliance requirements in permissions management, e.g. via policy enforcement [[LG-6-5]] ==== LG 6-5: Differentiate and Understand Different Abstraction Layers of Container Managers @@ -101,7 +113,20 @@ Software architects are aware that container managers can extend the basic funct They are familiar with the use cases for container managers and can differentiate their abstraction layers. [[LG-6-6]] -==== LG 6-6: Understand Resource Sizing Calculation Methods +==== LG 6-6: Understanding approaches for observability of distributed applications + +Software architects know that the distributed execution of processes presents new challenges for observability of distributed applications. + +They understand the unique conditions of distributed applications and their impact on observability through: + +* Monitoring/metrics and alerting +* Logging +* Distributed tracing + +They are familiar with approaches and responsibilities for creating predictive time series queries for alerts. + +[[LG-6-7]] +==== LG 6-7: Understand Resource Sizing Calculation Methods Software architects are familiar with methods for calculating resource requirements for: