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.
Referenz zu IAM-Rollen und -Berechtigungen
Die Rolle des IAM für Bewertungen und Resilienztests
Um eine Bewertung oder einen Resilienztest durchführen zu können, muss die nächste Generation des Resilience Hubs in der Lage sein, eine IAM-Rolle zu übernehmen. Für Assessments sind Leseberechtigungen erforderlich, um die Konfiguration Ihrer Ressourcen zu ermitteln und zu verstehen. AWS Für Resilienztests sind außerdem Berechtigungen erforderlich, um AWS Fault Injection Service (AWS FIS) -Experimente in Ihrem Namen zu starten und zu verwalten.
Sie können eine IAM-Rolle in der AWS IAM-Konsole erstellen. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie und verwenden Sie eine Vertrauensrichtlinie wie diese:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resiliencehub.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Hängen Sie die AWSResilienceHubV2AssessmentExecutionPolicy verwaltete Richtlinie an, um Berechtigungen zu erhalten. Diese Richtlinie gewährt schreibgeschützten Zugriff auf AWS Dienste zur Erkennung, Bewertung und Verwaltung der Resilienz.
Anmerkung
Der AWSResilienceHubV2AssessmentExecutionPolicy ersetzt den vorherigen AWSResilienceHubAsssessmentExecutionPolicy und wird mit der nächsten Generation des Resilience Hubs verwendet. Details zu Berechtigungen dieser Richtlinie finden Sie unter AWSResilienceHubV2AssessmentExecutionPolicy.
Wenn Sie Resilienztests verwenden, fügen Sie auch die AWSResilienceHubResilienceTestingPolicy verwaltete Richtlinie hinzu. Diese Richtlinie gewährt Resilience Hub die erforderlichen AWS FIS Berechtigungen, um Experimente in Ihrem Namen zu starten und zu verwalten.
Anmerkung
Wenn die verwaltete Richtlinie in Ihrem Konto nicht verfügbar ist, erstellen Sie eine Inline-Richtlinie mit denselben Berechtigungen. Den Inhalt der Richtlinie finden Sie unterAWSResilienceHubResilienceTestingPolicy.
IAM-Rolle Service-Linked
Resilience Hub der nächsten Generation erstellt automatisch eine Service-Linked Rolle mit der AWSResilienceHubServiceRolePolicy verwalteten Richtlinie.
Zugriffsberechtigungen für Terraform-Statusdateien
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-Bucket mit einer Richtlinie wie dieser:
{ "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" } ] }
IAM-Ausführungsrolle für Resilienztests
Resilienztests werden unter einer IAM-Rolle ausgeführt, die AWS Fault Injection Service davon ausgeht, Fehler in Ihre Ressourcen einzuschleusen. Die erforderlichen Berechtigungen hängen von der Testvorlage ab. Tests mit einem Konto und mehreren Konten verwenden unterschiedliche Rollenstrukturen. Die Vertrauens- und Berechtigungsrichtlinien für jeden Test finden Sie unter. IAM-Ausführungsrollen für Resilienztests
Amazon EKS-Berechtigungen
Wenn Sie Amazon EKS-Cluster in Ihren Resilience Hub-Service der nächsten Generation aufnehmen, folgen Sie dem folgenden dreistufigen 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 erhält Resilience Hub der nächsten Generation schreibgeschützten Zugriff auf die Kubernetes-Ressourcen, die er in allen Namespaces benötigt:
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 verwendenAPI.
aws eks create-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --type STANDARD \ --kubernetes-groups '["resilience-hub-eks-access-group"]'
Option B: Verwenden von aws-auth ConfigMap
Wenn Ihr Cluster unseren API_AND_CONFIG_MAP Authentifizierungsmodus verwendetCONFIG_MAP, können Sie stattdessen aws-auth bearbeiten: ConfigMap
Mit eksctl:
eksctl create iamidentitymapping \ --clustercluster-name\ --regionregion\ --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 mapRoles im Datenbereich hinzu:
- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole username: AwsResilienceHubAssessmentEKSAccessRole
Schritt 3: Verifizieren
Stellen Sie sicher, dass die RBAC-Ressourcen vorhanden sind und die Rollenzuordnung vorhanden ist:
kubectl get clusterrole resilience-hub-eks-access-cluster-role kubectl describe clusterrolebinding resilience-hub-eks-access-cluster-role-binding
Bei Verwendung von Zugriffseinträgen (Option A):
aws eks describe-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole
Wenn Sie aws-auth verwenden ConfigMap (Option B):
kubectl get configmap aws-auth -n kube-system -o yaml | grep -A 3 "ResilienceHubRole"