

 **Unterstützung für die Verbesserung dieser Seite beitragen** 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link **Diese Seite bearbeiten auf**, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Kro-Berechtigungen konfigurieren
<a name="kro-permissions"></a>

Im Gegensatz zu ACK und Argo CD benötigt kro keine IAM-Berechtigungen. kro arbeitet vollständig in Ihrem Kubernetes-Cluster und führt keine API-Aufrufe durch. AWS Steuern Sie den Zugriff auf Kro-Ressourcen mithilfe des Standard-Kubernetes-RBAC.

## Wie funktionieren Berechtigungen mit Kro
<a name="_how_permissions_work_with_kro"></a>

kro verwendet zwei Arten von Kubernetes-Ressourcen mit unterschiedlichen Bereichen:

 **ResourceGraphDefinitions**: Ressourcen im Clusterbereich, die benutzerdefinierte definieren. APIs In der Regel von Plattformteams verwaltet, die organisatorische Standards entwerfen und einhalten.

 **Instanzen: Benutzerdefinierte** Ressourcen mit Namespace-Gültigkeitsbereich, die aus erstellt wurden. ResourceGraphDefinitions Kann von Anwendungsteams mit entsprechenden RBAC-Berechtigungen erstellt werden.

Standardmäßig verfügt die KRO-Funktion über die Zugriffsrichtlinie über Berechtigungen zum Verwalten ResourceGraphDefinitions und Verwalten ihrer Instanzen. `AmazonEKSKROPolicy` Für Kro sind jedoch zusätzliche Berechtigungen erforderlich, um die zugrunde liegenden Kubernetes-Ressourcen zu erstellen und zu verwalten, die in Ihrem System definiert sind ResourceGraphDefinitions (z. B. Bereitstellungen, Dienste oder ACK-Ressourcen). Sie müssen diese Berechtigungen über Zugriffsrichtlinien oder Kubernetes RBAC gewähren. Einzelheiten zur Erteilung dieser Berechtigungen finden Sie unter [Kro](capabilities-security.md#kro-resource-permissions) Arbitrary Resource Permissions.

## Berechtigungen für Plattformteams
<a name="_platform_team_permissions"></a>

Plattformteams benötigen Berechtigungen zum Erstellen und Verwalten ResourceGraphDefinitions.

 **Beispiel ClusterRole für Plattformteams**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kro-platform-admin
rules:
- apiGroups: ["kro.run"]
  resources: ["resourcegraphdefinitions"]
  verbs: ["*"]
```

 **Binden Sie sich an Mitglieder des Plattform-Teams**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: platform-team-kro-admin
subjects:
- kind: Group
  name: platform-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: kro-platform-admin
  apiGroup: rbac.authorization.k8s.io
```

## Berechtigungen des Anwendungsteams
<a name="_application_team_permissions"></a>

Anwendungsteams benötigen Berechtigungen, um Instanzen benutzerdefinierter Ressourcen in ihren Namespaces zu erstellen.

 **Beispielrolle für Anwendungsteams**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: kro-app-developer
  namespace: my-app
rules:
- apiGroups: ["kro.run"]
  resources: ["webapps", "databases"]
  verbs: ["create", "get", "list", "update", "delete", "patch"]
```

 An **Mitglieder des Anwendungsteams binden**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: app-team-kro-developer
  namespace: my-app
subjects:
- kind: Group
  name: app-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: kro-app-developer
  apiGroup: rbac.authorization.k8s.io
```

**Anmerkung**  
Die API-Gruppe in der Rolle (`kro.run`in diesem Beispiel) muss der in Ihrem ResourceGraphDefinition Schema `apiVersion` definierten entsprechen.

## Schreibgeschützter Zugriff
<a name="_read_only_access"></a>

Gewähren Sie schreibgeschützten Zugriff auf Ansicht ResourceGraphDefinitions und Instanzen ohne Änderungsberechtigungen.

 **Schreibgeschützt: ClusterRole**

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kro-viewer
rules:
- apiGroups: ["kro.run"]
  resources: ["resourcegraphdefinitions"]
  verbs: ["get", "list", "watch"]
```

 **Schreibgeschützte Rolle für Instanzen**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: kro-instance-viewer
  namespace: my-app
rules:
- apiGroups: ["kro.run"]
  resources: ["webapps", "databases"]
  verbs: ["get", "list", "watch"]
```

## Zugriff auf mehrere Namespaces
<a name="_multi_namespace_access"></a>

Gewähren Sie Anwendungsteams mithilfe von with Zugriff auf mehrere Namespaces. ClusterRoles RoleBindings

 **ClusterRole für** den Zugriff auf mehrere Namespaces:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kro-multi-namespace-developer
rules:
- apiGroups: ["kro.run"]
  resources: ["webapps"]
  verbs: ["create", "get", "list", "update", "delete"]
```

 An **bestimmte Namespaces binden**:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: app-team-dev-access
  namespace: development
subjects:
- kind: Group
  name: app-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: kro-multi-namespace-developer
  apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: app-team-staging-access
  namespace: staging
subjects:
- kind: Group
  name: app-team
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: kro-multi-namespace-developer
  apiGroup: rbac.authorization.k8s.io
```

## Best Practices
<a name="_best_practices"></a>

 **Prinzip der geringsten Rechte**: Erteilen Sie nur die Mindestberechtigungen, die für die jeweiligen Aufgaben der einzelnen Teams erforderlich sind.

 **Verwenden Sie Gruppen statt einzelner Benutzer**: Binden Sie Rollen eher an Gruppen als an einzelne Benutzer, um die Verwaltung zu vereinfachen.

 **Getrennte Plattform- und Anwendungsaspekte**: Plattformteams verwalten ResourceGraphDefinitions, Anwendungsteams verwalten Instanzen.

 **Namespace-Isolierung**: Verwenden Sie Namespaces, um verschiedene Teams oder Umgebungen zu isolieren, wobei RBAC den Zugriff auf jeden Namespace steuert.

 **Schreibgeschützter Zugriff für Auditzwecke: Gewähren Sie Sicherheits- und Compliance-Teams zu Prüfungszwecken nur** Lesezugriff.

## Nächste Schritte
<a name="_next_steps"></a>
+  [Kro-Konzepte](kro-concepts.md)- Verstehen Sie die KRO-Konzepte und die Zusammensetzung der Ressourcen
+  [Kro-Konzepte](kro-concepts.md)- Verstehen Sie SimpleSchema CEL-Ausdrücke und Kompositionsmuster
+  [Sicherheitsüberlegungen für EKS-Funktionen](capabilities-security.md)- Informieren Sie sich über bewährte Sicherheitsverfahren im Hinblick auf Funktionen