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
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
-
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
Wenn Sie Ihre Anwendung mit den aktuellen IAM-Benutzerberechtigungen konfiguriert haben, müssen Sie die
AwsResilienceHubAssessmentEKSAccessRoleIAM-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_rolewird im aktuellen Konto verwendet, für das die APIs aufgerufen werden. AWS Resilience HubAnmerkung
Das
caller_IAM_roleist 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
AwsResilienceHubAssessmentEKSAccessRoleIAM-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).
-
Erstellen Sie Rollen
ClusterRoleundClusterRoleBinding(oderRoleBinding) für die AWS Resilience Hub Anwendung.ClusterRoleBindingSie erstellenClusterRoleund 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:
-
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.
ClusterRoleClusterRoleBinding-
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 eineresilience-hub-eks-access-groupin 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 -
-
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.
RoleBindingUm 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
ClusterRoleeiner 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 -
-
RoleBindingRolle — 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 NamespaceRoleBindingeine 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 erstellenRoleBinding.kube-systemDies ist notwendig, um IhrenClusterAutoscaler, der Teil deskube-systemNamespaces ist, zu beurteilen.Auf diese Weise gewähren Sie AWS Resilience Hub die erforderlichen Berechtigungen, um die Ressourcen innerhalb des
kube-systemNamespace zu bewerten und gleichzeitig Ihren Amazon EKS-Cluster zu bewerten.Die Vorlage zum Erstellen einer
RoleBindingRolle 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 -
ClusterRoleBindingRolle — Diese Rolle gewährt die erforderlichen Berechtigungen für den AWS Resilience Hub Zugriff auf Cluster-Ressourcen.Die Vorlage zum Erstellen einer
ClusterRoleBindingRolle 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
-
-
-
Aktualisieren Sie die
aws-auth ConfigMap, um sie derresilience-hub-eks-access-groupIAM-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-NAMEbezieht 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-IDsollte die AWS Konto-ID des Amazon EKS-Clusters sein.
Sie können das auf
aws-authConfigMapeine der folgenden Arten erstellen:-
Verwenden von
eksctlVerwenden Sie den folgenden Befehl, um Folgendes zu aktualisieren
aws-authConfigMap: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-authConfigMapindem Sie die IAM-Rollendetails zummapRolesAbschnitt derConfigMapUnterdaten hinzufügen. Verwenden Sie den folgenden Befehl, um das zu bearbeiten.aws-authConfigMapkubectl edit -n kube-system configmap/aws-authmapRolesAbschnitt besteht aus den folgenden Parametern:-
rolearn— Der Amazon-Ressourcenname (ARN) 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
mapRolesAbschnitt nicht existiert, müssen Sie diesen Abschnitt manuell hinzufügen.Verwenden Sie die folgende Vorlage, um die IAM-Rollendetails zum
mapRolesAbschnitt derConfigMapUnterdaten hinzuzufügen.- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME> username: AwsResilienceHubAssessmentEKSAccessRole -
-