

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.

# Erforderliche IAM-Berechtigungen und -Rollen
<a name="next-gen-iam-permissions"></a>

**AWS Verwaltete Richtlinie**

Sie können die `AWSResilienceHubV2AssessmentExecutionPolicy` an Ihre IAM-Identitäten anhängen. Während der Durchführung einer Bewertung gewährt diese Richtlinie anderen AWS Diensten zur Ermittlung, Bewertung und Verwaltung der Resilienz schreibgeschützte Zugriffsberechtigungen. Details zu Berechtigungen dieser Richtlinie finden Sie unter [AWSResilienceHubV2AssessmentExecutionPolicy](next-gen-security-iam-awsmanpol.md#next-gen-security_iam_aws-v2-assessment-policy).

**IAM-Rolle für die Bewertung**

Um eine Bewertung durchführen zu können, muss die nächste Generation von Resilience Hub eine IAM-Rolle mit Leseberechtigungen annehmen. Diese Rolle erkennt und liest die Konfiguration Ihrer Ressourcen. AWS 

Sie können eine IAM-Rolle in der AWS IAM-Konsole erstellen. Wählen Sie **Benutzerdefinierte Vertrauensrichtlinie** und verwenden Sie eine Vertrauensrichtlinie wie die folgende:

```
{
  "Version": "2012-10-17"		 	 	 ,
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "resiliencehub.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}
```

Wählen Sie für Berechtigungen die `AWSResilienceHubV2AssessmentExecutionPolicy` verwaltete Richtlinie und die `ReadOnlyAccess` verwaltete Richtlinie aus. Die `ReadOnlyAccess` Richtlinie ist erforderlich, um die Fehlermodusbeurteilung optimal durchführen zu können.

**IAM-Rolle Service-Linked **

Resilience Hub der nächsten Generation erstellt automatisch eine Service-Linked Rolle mit der `AWSResilienceHubServiceRolePolicy` verwalteten Richtlinie. Diese Rolle ist nur für den Support von AWS Organizations erforderlich.

**Dateizugriffsberechtigungen im Terraform-Status**

Wenn Sie Terraform-Statusdateien in Ihren Resilience Hub-Service der nächsten Generation aufnehmen, gewähren Sie Berechtigungen zum Lesen der Terraform-Dateien aus Ihrem Amazon S3 S3-Bucket mit einer Richtlinie wie der folgenden:

```
{
  "Version": "2012-10-17"		 	 	 ,
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::{{s3-bucket-name}}/{{path-to-state-file}}"
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::{{s3-bucket-name}}"
    }
  ]
}
```

**Amazon EKS-Berechtigungen**

Wenn Sie Amazon EKS-Cluster in Ihren Resilience Hub-Service der nächsten Generation aufnehmen, folgen Sie dem folgenden 3-stufigen Prozess, um Resilience Hub-Berechtigungen der nächsten Generation zum Lesen von Konfigurationsdaten für Ihre Amazon EKS-Cluster mithilfe der rollenbasierten Zugriffskontrolle (RBAC) von Kubernetes bereitzustellen.

**Schritt 1: Wenden Sie Folgendes auf Ihren Amazon EKS-Cluster an**

Dadurch wird Resilience Hub der nächsten Generation schreibgeschützten Zugriff auf die benötigten Kubernetes-Ressourcen in allen Namespaces gewährt:

```
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
    - services
  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
```

**Schritt 2: Ordnen Sie die IAM-Rolle der Kubernetes-Gruppe zu**

Ordnen Sie die von Ihnen erstellte IAM-Rolle der Kubernetes-Gruppe zu. `resilience-hub-eks-access-group` Sie können entweder Amazon EKS-Zugriffseinträge (empfohlen) oder die verwenden `aws-auth` ConfigMap.

**Option A: Verwendung von EKS-Zugriffseinträgen (empfohlen)**

EKS-Zugriffseinträge sind die bevorzugte Methode zur Verwaltung der Cluster-Authentifizierung. Ihr Cluster muss unseren `API_AND_CONFIG_MAP` Authentifizierungsmodus verwenden`API`.

```
aws eks create-access-entry \
  --cluster-name {{cluster-name}} \
  --principal-arn arn:aws:iam::{{ACCOUNT-ID}}:role/ResilienceHubRole \
  --type STANDARD \
  --kubernetes-groups '["resilience-hub-eks-access-group"]'
```

**Option B: Verwendung von aws-auth ConfigMap**

Wenn Ihr Cluster den `API_AND_CONFIG_MAP` Authentifizierungsmodus verwendet`CONFIG_MAP`, können Sie stattdessen aws-auth bearbeiten: ConfigMap 

Mit eksctl:

```
eksctl create iamidentitymapping \
  --cluster {{cluster-name}} \
  --region {{region}} \
  --arn arn:aws:iam::{{ACCOUNT-ID}}:role/ResilienceHubRole \
  --group resilience-hub-eks-access-group \
  --username AwsResilienceHubAssessmentEKSAccessRole
```

Oder bearbeiten Sie manuell: ConfigMap

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

Fügen Sie dies unter `mapRoles` dem Datenbereich hinzu:

```
- groups:
    - resilience-hub-eks-access-group
  rolearn: arn:aws:iam::{{ACCOUNT-ID}}:role/ResilienceHubRole
  username: AwsResilienceHubAssessmentEKSAccessRole
```

**Schritt 3: Überprüfen**

Vergewissern Sie sich, dass die RBAC-Ressourcen vorhanden sind und die Rollenzuweisung vorhanden ist:

```
kubectl get clusterrole resilience-hub-eks-access-cluster-role
kubectl describe clusterrolebinding resilience-hub-eks-access-cluster-role-binding
```

Wenn Sie Zugriffseinträge verwenden (Option A):

```
aws eks describe-access-entry \
  --cluster-name {{cluster-name}} \
  --principal-arn arn:aws:iam::{{ACCOUNT-ID}}:role/ResilienceHubRole
```

Bei Verwendung von aws-auth ConfigMap (Option B):

```
kubectl get configmap aws-auth -n kube-system -o yaml | grep -A 3 "ResilienceHubRole"
```