

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.

# Gewährung AWS Resilience Hub Zugriff auf Ressourcen in Ihrem Amazon EKS-Cluster
<a name="grant-permissions-to-eks-in-arh"></a>

AWS Resilience Hub ermöglicht Ihnen den Zugriff auf Ressourcen, die sich auf Amazon EKS-Clustern befinden, sofern Sie die erforderlichen Berechtigungen konfiguriert haben.

**Um die erforderlichen Berechtigungen zu gewähren für AWS Resilience Hub zur Erkennung und Bewertung von Ressourcen innerhalb des Amazon EKS-Clusters**

1. Konfigurieren Sie eine IAM-Rolle für den Zugriff auf den Amazon EKS-Cluster.

   Wenn Sie Ihre Anwendung mit rollenbasiertem Zugriff konfiguriert haben, können Sie diesen Schritt überspringen und mit Schritt 2 fortfahren und die Rolle verwenden, die Sie für die Erstellung der Anwendung verwendet haben. Weitere Informationen zur AWS Resilience Hub Verwendung von IAM-Rollen finden Sie unter. [Wie AWS Resilience Hub funktioniert mit IAM](security_iam_service-with-iam.md)

   Wenn Sie Ihre Anwendung mit den aktuellen IAM-Benutzerberechtigungen konfiguriert haben, müssen Sie die `AwsResilienceHubAssessmentEKSAccessRole` IAM-Rolle in demselben Konto wie das des Amazon EKS-Clusters erstellen. Diese IAM-Rolle wird dann beim Zugriff auf Ihren Amazon EKS-Cluster verwendet.

    AWS Resilience Hub Verwendet beim Importieren und Bewerten Ihrer Anwendung eine IAM-Rolle, um auf die Ressourcen in Ihrem Amazon EKS-Cluster zuzugreifen. Diese Rolle sollte in demselben Konto wie Ihr Amazon EKS-Cluster erstellt werden. Sie wird einer Kubernetes-Gruppe zugeordnet, die die für die Bewertung Ihres Amazon EKS-Clusters erforderlichen Berechtigungen enthält. AWS Resilience Hub 

   Wenn sich Ihr Amazon EKS-Cluster im selben Konto wie das AWS Resilience Hub Anruferkonto befindet, sollte die Rolle mithilfe der folgenden IAM-Vertrauensrichtlinie erstellt werden. In dieser IAM-Vertrauensrichtlinie `caller_IAM_role` wird im aktuellen Konto verwendet, für das die APIs aufgerufen werden. AWS Resilience Hub
**Anmerkung**  
Das `caller_IAM_role` ist die Rolle, die Ihrem AWS Benutzerkonto zugeordnet ist.

   Wenn sich Ihr Amazon EKS-Cluster in einem Cross-Konto befindet (ein anderes Konto als das AWS Resilience Hub Anruferkonto), müssen Sie die `AwsResilienceHubAssessmentEKSAccessRole` IAM-Rolle mithilfe der folgenden IAM-Vertrauensrichtlinie erstellen:
**Anmerkung**  
Als Voraussetzung für den Zugriff auf den Amazon EKS-Cluster, der in einem anderen Konto als dem Konto des AWS Resilience Hub Benutzers bereitgestellt wird, müssen Sie den Zugriff auf mehrere Konten konfigurieren. Die Ausgabe des obigen Befehls sieht in etwa folgendermaßen aus (JSON format). 

1. Erstellen Sie Rollen `ClusterRole` und `ClusterRoleBinding` (oder`RoleBinding`) für die AWS Resilience Hub Anwendung.

   `ClusterRoleBinding`Sie erstellen `ClusterRole` und gewähren die erforderlichen Leseberechtigungen für AWS Resilience Hub die Analyse und Bewertung von Ressourcen, die Teil bestimmter Namespaces in Ihrem Amazon EKS-Cluster sind.

   AWS Resilience Hub ermöglicht es Ihnen, den Zugriff auf Ihre Namespaces zur Generierung von Resilienzbewertungen einzuschränken, indem Sie eine der folgenden Aktionen ausführen:

   1. Gewähren Sie der Anwendung Lesezugriff über alle Namespaces hinweg. AWS Resilience Hub 

       AWS Resilience Hub Um die Resilienz der Ressourcen in allen Namespaces innerhalb eines Amazon EKS-Clusters zu bewerten, müssen Sie Folgendes erstellen und. `ClusterRole` `ClusterRoleBinding`
      + `resilience-hub-eks-access-cluster-role`(`ClusterRole`) — Definiert die Berechtigungen, die für die Bewertung Ihres Amazon AWS Resilience Hub EKS-Clusters erforderlich sind.
      +  `resilience-hub-eks-access-cluster-role-binding`(`ClusterRoleBinding`) — Definiert eine `resilience-hub-eks-access-group` in Ihrem Amazon EKS-Cluster benannte Gruppe, die ihren Benutzern die erforderlichen Berechtigungen zur Durchführung von Resilienzbewertungen gewährt. AWS Resilience Hub

      Die Vorlage, um der AWS Resilience Hub Anwendung Lesezugriff über alle Namespaces hinweg zu gewähren, lautet wie folgt:

      ```
      cat << EOF | kubectl apply -f -
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: resilience-hub-eks-access-cluster-role
      rules:
      - apiGroups:
          - ""
        resources:
          - pods
          - replicationcontrollers
          - nodes
        verbs:
          - get
          - list
      - apiGroups:
          - apps
        resources:
          - deployments
          - replicasets
        verbs:
          - get
          - list
      - apiGroups:
          - policy
        resources:
          - poddisruptionbudgets
        verbs:
          - get
          - list
      - apiGroups:
          - autoscaling.k8s.io
        resources:
          - verticalpodautoscalers
        verbs:
          - get
          - list
      - apiGroups:
          - autoscaling
        resources:
          - horizontalpodautoscalers
        verbs:
          - get
          - list
      - apiGroups:
          - karpenter.sh
        resources:
          - provisioners
          - nodepools
        verbs:
          - get
          - list
      - apiGroups:
          - karpenter.k8s.aws
        resources:
          - awsnodetemplates
          - ec2nodeclasses
        verbs:
          - get
          - list
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: resilience-hub-eks-access-cluster-role-binding
      subjects:
        - kind: Group
          name: resilience-hub-eks-access-group
          apiGroup: rbac.authorization.k8s.io
      roleRef:
        kind: ClusterRole
        name: resilience-hub-eks-access-cluster-role
        apiGroup: rbac.authorization.k8s.io
      ---
      EOF
      ```

   1. Gewähren AWS Resilience Hub des Lesezugriffs auf bestimmte Namespaces.

      Sie können AWS Resilience Hub den Zugriff auf Ressourcen innerhalb eines bestimmten Satzes von Namespaces einschränken, indem Sie. `RoleBinding` Um dies zu erreichen, müssen Sie die folgenden Rollen erstellen:
      + `ClusterRole`— AWS Resilience Hub Um auf die Ressourcen in bestimmten Namespaces innerhalb eines Amazon EKS-Clusters zuzugreifen und dessen Resilienz zu bewerten, müssen Sie die folgenden Rollen erstellen. `ClusterRole`
        + `resilience-hub-eks-access-cluster-role`— Gibt die erforderlichen Berechtigungen an, um die Ressourcen in bestimmten Namespaces zu bewerten.
        + `resilience-hub-eks-access-global-cluster-role`— Gibt die erforderlichen Berechtigungen an, um Ressourcen im Clusterbereich, die keinem bestimmten Namespace zugeordnet sind, in Ihren Amazon EKS-Clustern zu bewerten. AWS Resilience Hub benötigt Berechtigungen für den Zugriff auf Cluster-Ressourcen (wie Knoten) in Ihrem Amazon EKS-Cluster, um die Stabilität Ihrer Anwendung zu beurteilen.

        Die Vorlage zum Erstellen `ClusterRole` einer Rolle lautet wie folgt:

        ```
        cat << EOF | kubectl apply -f -
        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRole
        metadata:
          name: resilience-hub-eks-access-cluster-role
        rules:
          - apiGroups:
              - ""
            resources:
              - pods
              - replicationcontrollers
            verbs:
              - get
              - list
          - apiGroups:
              - apps
            resources:
              - deployments
              - replicasets
            verbs:
              - get
              - list
          - apiGroups:
              - policy
            resources:
              - poddisruptionbudgets
            verbs:
              - get
              - list
          - apiGroups:
              - autoscaling.k8s.io
            resources:
              - verticalpodautoscalers
            verbs:
              - get
              - list
          - apiGroups:
              - autoscaling
            resources:
              - horizontalpodautoscalers
            verbs:
              - get
              - list
        
        ---
        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRole
        metadata:
          name: resilience-hub-eks-access-global-cluster-role
        rules:
          - apiGroups:
              - ""
            resources:
              - nodes
            verbs:
              - get
              - list
          - apiGroups:
              - karpenter.sh
            resources:
              - provisioners
              - nodepools
            verbs:
              - get
              - list
          - apiGroups:
              - karpenter.k8s.aws
            resources:
              - awsnodetemplates
              - ec2nodeclasses
            verbs:
              - get
              - list
        
        ---
        EOF
        ```
      + `RoleBinding`Rolle — Diese Rolle gewährt die erforderlichen Berechtigungen für den AWS Resilience Hub Zugriff auf Ressourcen in bestimmten Namespaces. Das heißt, Sie müssen in jedem Namespace `RoleBinding` eine Rolle erstellen, um den Zugriff auf Ressourcen innerhalb des angegebenen Namespace AWS Resilience Hub zu ermöglichen. 
**Anmerkung**  
Wenn Sie Autoscaling verwenden`ClusterAutoscaler`, müssen Sie zusätzlich im erstellen`RoleBinding`. `kube-system` Dies ist notwendig, um Ihren`ClusterAutoscaler`, der Teil des `kube-system` Namespaces ist, zu beurteilen.  
Auf diese Weise gewähren Sie AWS Resilience Hub die erforderlichen Berechtigungen, um die Ressourcen innerhalb des `kube-system` Namespace zu bewerten und gleichzeitig Ihren Amazon EKS-Cluster zu bewerten.

        Die Vorlage zum Erstellen einer `RoleBinding` Rolle lautet wie folgt:

        ```
        cat << EOF | kubectl apply -f -
        apiVersion: rbac.authorization.k8s.io/v1
        kind: RoleBinding
        metadata:
          name: resilience-hub-eks-access-cluster-role-binding
          namespace: <namespace>
        subjects:
          - kind: Group
            name: resilience-hub-eks-access-group
            apiGroup: rbac.authorization.k8s.io
        roleRef:
          kind: ClusterRole
          name: resilience-hub-eks-access-cluster-role
          apiGroup: rbac.authorization.k8s.io
        
        ---
        EOF
        ```
      + `ClusterRoleBinding`Rolle — Diese Rolle gewährt die erforderlichen Berechtigungen für den AWS Resilience Hub Zugriff auf Cluster-Ressourcen.

        Die Vorlage zum Erstellen einer `ClusterRoleBinding` Rolle lautet wie folgt:

        ```
        cat << EOF | kubectl apply -f - 
        ---
        apiVersion: rbac.authorization.k8s.io/v1
        kind: ClusterRoleBinding
        metadata:
          name: resilience-hub-eks-access-global-cluster-role-binding
        subjects:
          - kind: Group
            name: resilience-hub-eks-access-group
            apiGroup: rbac.authorization.k8s.io
        roleRef:
          kind: ClusterRole
          name: resilience-hub-eks-access-global-cluster-role
          apiGroup: rbac.authorization.k8s.io
        
        ---
        EOF
        ```

1. Aktualisieren Sie die`aws-auth ConfigMap`, um sie der `resilience-hub-eks-access-group` IAM-Rolle zuzuordnen, die für den Zugriff auf den Amazon EKS-Cluster verwendet wird.

   In diesem Schritt wird eine Zuordnung zwischen der in Schritt 1 verwendeten IAM-Rolle und der in Schritt 2 erstellten Kubernetes-Gruppe erstellt. Diese Zuordnung gewährt IAM-Rollen Berechtigungen für den Zugriff auf Ressourcen innerhalb des Amazon EKS-Clusters.
**Anmerkung**  
`ROLE-NAME`bezieht sich auf die IAM-Rolle, die für den Zugriff auf den Amazon EKS-Cluster verwendet wird.  
Wenn Ihre Anwendung für den rollenbasierten Zugriff konfiguriert ist, sollte es sich bei der Rolle entweder um die Aufruferrolle oder um die sekundäre Kontorolle handeln, an die bei der Erstellung der Anwendung übergeben AWS Resilience Hub wird.
Wenn Ihre Anwendung so konfiguriert ist, dass sie den aktuellen IAM-Benutzer für den Zugriff auf Ressourcen verwendet, muss es sich um den handeln. `AwsResilienceHubAssessmentEKSAccessRole`
`ACCOUNT-ID`sollte die AWS Konto-ID des Amazon EKS-Clusters sein.

   Sie können das auf `aws-auth` `ConfigMap` eine der folgenden Arten erstellen:
   + Verwenden von `eksctl`

     Verwenden Sie den folgenden Befehl, um Folgendes zu aktualisieren `aws-auth``ConfigMap`:

     ```
     eksctl create iamidentitymapping \
      --cluster <cluster-name> \
      --region=<region-code> \
      --arn arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>\
      --group resilience-hub-eks-access-group \
      --username AwsResilienceHubAssessmentEKSAccessRole
     ```
   + Sie können dies manuell bearbeiten, `aws-auth` `ConfigMap` indem Sie die IAM-Rollendetails zum `mapRoles` Abschnitt der `ConfigMap` Unterdaten hinzufügen. Verwenden Sie den folgenden Befehl, um das zu bearbeiten. `aws-auth` `ConfigMap`

     `kubectl edit -n kube-system configmap/aws-auth`

     `mapRoles`Abschnitt besteht aus den folgenden Parametern:
     + `rolearn`— Der [ Amazon-Ressourcenname (ARN) ](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) der IAM-Rolle, die hinzugefügt werden soll. 
       + ARN-Syntax —`arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>`.
     + `username`— Der Benutzername in Kubernetes, der der IAM-Rolle () zugeordnet werden soll. `AwsResilienceHubAssessmentEKSAccessRole`
     + `groups`— Die Gruppennamen sollten mit den in ** Schritt 2 () erstellten Gruppennamen übereinstimmen. ** `resilience-hub-eks-access-group`
**Anmerkung**  
Wenn ein `mapRoles` Abschnitt nicht existiert, müssen Sie diesen Abschnitt manuell hinzufügen.

     Verwenden Sie die folgende Vorlage, um die IAM-Rollendetails zum `mapRoles` Abschnitt der `ConfigMap` Unterdaten hinzuzufügen.

     ```
         - groups:
           - resilience-hub-eks-access-group
           rolearn: arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>
           username: AwsResilienceHubAssessmentEKSAccessRole
     ```