Anmeldedaten für Hybridknoten vorbereiten - Amazon EKS

Hilf mit, diese Seite zu verbessern

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.

Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, 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.

Anmeldedaten für Hybridknoten vorbereiten

Amazon EKS-Hybridknoten verwenden temporäre IAM-Anmeldeinformationen, die durch AWS SSM-Hybrid-Aktivierungen oder AWS IAM Roles Anywhere bereitgestellt werden, um sich beim Amazon EKS-Cluster zu authentifizieren. Sie müssen entweder AWS SSM-Hybrid-Aktivierungen oder AWS IAM Roles Anywhere mit der Amazon EKS Hybrid Nodes CLI () verwenden. nodeadm Sie sollten nicht sowohl AWS SSM-Hybrid-Aktivierungen als auch IAM-Rollen Anywhere verwenden. AWS Es wird empfohlen, AWS SSM-Hybrid-Aktivierungen zu verwenden, wenn Sie nicht über eine bestehende Public Key-Infrastruktur (PKI) mit einer Zertifizierungsstelle (CA) und Zertifikaten für Ihre lokalen Umgebungen verfügen. Wenn Sie bereits über PKI und Zertifikate vor Ort verfügen, verwenden Sie IAM Roles Anywhere. AWS

IAM-Rolle für Hybridknoten

Bevor Sie Hybridknoten mit Ihrem Amazon EKS-Cluster verbinden können, müssen Sie eine IAM-Rolle erstellen, die mit AWS SSM-Hybrid-Aktivierungen oder AWS IAM Roles Anywhere für Ihre Hybridknoten-Anmeldeinformationen verwendet wird. Nach der Clustererstellung verwenden Sie diese Rolle mit einem Amazon EKS-Zugriffseintrag oder aws-auth ConfigMap einem Eintrag, um die IAM-Rolle Kubernetes Role-Based Access Control (RBAC) zuzuordnen. Weitere Informationen zur Verknüpfung der IAM-Rolle Hybrid Nodes mit Kubernetes RBAC finden Sie unter. Clusterzugriff für Hybridknoten vorbereiten

Die IAM-Rolle Hybrid Nodes muss über die folgenden Berechtigungen verfügen.

Richten Sie SSM-Hybrid-Aktivierungen AWS ein

Bevor Sie AWS SSM-Hybrid-Aktivierungen einrichten, müssen Sie eine IAM-Rolle für Hybrid Nodes erstellt und konfiguriert haben. Weitere Informationen finden Sie unter Erstellen Sie die IAM-Rolle Hybrid Nodes. Folgen Sie den Anweisungen unter Hybrid-Aktivierung erstellen, um Knoten bei Systems Manager zu registrieren im AWS Systems Manager Manager-Benutzerhandbuch, um eine AWS SSM-Hybrid-Aktivierung für Ihre Hybridknoten zu erstellen. Der Aktivierungscode und die ID, die Sie erhalten, werden zusammen verwendet, nodeadm wenn Sie Ihre Hosts als Hybridknoten in Ihrem Amazon EKS-Cluster registrieren. Sie können zu einem späteren Zeitpunkt zu diesem Schritt zurückkehren, nachdem Sie Ihre Amazon EKS-Cluster für Hybridknoten erstellt und vorbereitet haben.

Wichtig

Systems Manager übergibt den Aktivierungscode und die ID sofort an die Konsole oder das Befehlsfenster, je nachdem, wie Sie die Aktivierung erstellt haben. Kopieren Sie diese Informationen und speichern Sie sie an einem sicheren Ort. Wenn Sie die Konsole verlassen oder das Befehlsfenster schließen, können diese Informationen verloren gehen. Wenn Sie die Informationen verlieren, müssen Sie eine neue Aktivierung erstellen.

Standardmäßig sind AWS SSM-Hybrid-Aktivierungen 24 Stunden lang aktiv. Alternativ können Sie --expiration-date bei der Erstellung Ihrer Hybrid-Aktivierung eine im Zeitstempelformat angeben, z. B. 2024-08-01T00:00:00 Wenn Sie AWS SSM als Ihren Anmeldeinformationsanbieter verwenden, ist der Knotenname für Ihre Hybridknoten nicht konfigurierbar und wird automatisch von SSM generiert. AWS Sie können die von AWS SSM verwalteten Instanzen in der AWS Systems Manager-Konsole unter Fleet Manager anzeigen und verwalten. Sie können bis zu 1.000 standardmäßige, hybridaktivierte Knoten pro Konto und AWS Region ohne zusätzliche Kosten registrieren. Um mehr als 1 000 Hybrid-Knoten zu registrieren, müssen Sie jedoch das Advanced-Instances-Kontingent aktivieren. Für die Nutzung des Advanced-Instance-Tarifs fällt eine Gebühr an, die nicht in den Preisen für Amazon EKS Hybrid Nodes enthalten ist. Weitere Informationen finden Sie unter AWS Systems Manager Manager-Preise.

Im folgenden Beispiel erfahren Sie, wie Sie eine AWS SSM-Hybrid-Aktivierung mit Ihrer Hybrid Nodes IAM-Rolle erstellen. Wenn Sie AWS SSM-Hybrid-Aktivierungen für Ihre Hybridknoten-Anmeldeinformationen verwenden, haben die Namen Ihrer Hybridknoten das gleiche Format mi-012345678abcdefgh und die von AWS SSM bereitgestellten temporären Anmeldeinformationen sind 1 Stunde lang gültig. Sie können den Knotennamen oder die Dauer der Anmeldeinformationen nicht ändern, wenn Sie AWS SSM als Ihren Anmeldeinformationsanbieter verwenden. Die temporären Anmeldeinformationen werden von AWS SSM automatisch rotiert, und die Rotation hat keine Auswirkungen auf den Status Ihrer Knoten oder Anwendungen.

Es wird empfohlen, eine AWS SSM-Hybrid-Aktivierung pro EKS-Cluster zu verwenden, um die AWS ssm:DeregisterManagedInstance SSM-Berechtigungen der IAM-Rolle Hybrid Nodes so zu definieren, dass nur Instances deregistriert werden können, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind. AWS In dem Beispiel auf dieser Seite wird ein Tag mit dem EKS-Cluster-ARN verwendet, das verwendet werden kann, um Ihre AWS SSM-Hybridaktivierung dem EKS-Cluster zuzuordnen. Sie können alternativ Ihr bevorzugtes Tag und Ihre bevorzugte Methode verwenden, um den Umfang der AWS SSM-Berechtigungen auf der Grundlage Ihrer Berechtigungsgrenzen und Anforderungen festzulegen. Die REGISTRATION_LIMIT Option im folgenden Befehl ist eine Ganzzahl, die verwendet wird, um die Anzahl der Maschinen zu begrenzen, die die AWS SSM-Hybridaktivierung verwenden können (zum Beispiel) 10

aws ssm create-activation \ --region AWS_REGION \ --default-instance-name eks-hybrid-nodes \ --description "Activation for EKS hybrid nodes" \ --iam-role AmazonEKSHybridNodesRole \ --tags Key=EKSClusterARN,Value=arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME \ --registration-limit REGISTRATION_LIMIT

Weitere Informationen zu den verfügbaren Konfigurationseinstellungen für AWS SSM-Hybrid-Aktivierungen finden Sie in den Anweisungen unter Hybrid-Aktivierung erstellen, um Knoten bei Systems Manager zu registrieren.

Richten Sie AWS IAM-Rollen überall ein

Folgen Sie den Anweisungen unter Erste Schritte mit IAM Roles Anywhere im IAM Roles Anywhere-Benutzerhandbuch, um den Vertrauensanker und das Profil einzurichten, die Sie für temporäre IAM-Anmeldeinformationen für Ihre Hybrid Nodes IAM-Rolle verwenden werden. Wenn Sie Ihr Profil erstellen, können Sie es erstellen, ohne Rollen hinzuzufügen. Sie können dieses Profil erstellen, zu diesen Schritten zurückkehren, um Ihre Hybrid Nodes IAM-Rolle zu erstellen, und Ihre Rolle dann Ihrem Profil hinzufügen, nachdem sie erstellt wurde. Sie können auch die AWS CloudFormation Schritte weiter unten auf dieser Seite verwenden, um Ihr IAM Roles Anywhere-Setup für Hybridknoten abzuschließen.

Wenn Sie Ihrem Profil die IAM-Rolle Hybrid Nodes hinzufügen, wählen Sie im Bereich Sitzungsname für benutzerdefinierte Rolle unten auf der Seite Profil bearbeiten in der AWS IAM Roles Anywhere-Konsole die Option Sitzungsname der benutzerdefinierten Rolle akzeptieren aus. Dies entspricht dem Feld „acceptRoleSessionName“ der CreateProfile API. Auf diese Weise können Sie in der Konfiguration, an die Sie nodeadm während des Bootstrap-Prozesses übergeben, einen benutzerdefinierten Knotennamen für Ihre Hybridknoten angeben. Die Übergabe eines benutzerdefinierten Knotennamens während des nodeadm init Vorgangs ist erforderlich. Sie können Ihr Profil nach der Erstellung Ihres Profils so aktualisieren, dass es einen Sitzungsnamen mit einer benutzerdefinierten Rolle akzeptiert.

Sie können die Gültigkeitsdauer der Anmeldeinformationen mit AWS IAM Roles Anywhere über das Feld DurationSeconds Ihres AWS IAM Roles Anywhere-Profils konfigurieren. Die Standarddauer beträgt 1 Stunde mit einem Maximum von 12 Stunden. Die MaxSessionDuration Einstellung in Ihrer IAM-Rolle Hybrid Nodes muss größer sein als die durationSeconds Einstellung in Ihrem AWS IAM Roles Anywhere-Profil. Weitere Informationen dazu finden Sie in der MaxSessionDuration UpdateRole API-Dokumentation.

Die Zertifikate und Schlüssel pro Computer, die Sie von Ihrer Zertifizierungsstelle (CA) generieren, müssen in dem /etc/iam/pki Verzeichnis auf jedem Hybridknoten mit den Dateinamen server.pem für das Zertifikat und server.key für den Schlüssel abgelegt werden.

Erstellen Sie die IAM-Rolle Hybrid Nodes

Um die Schritte in diesem Abschnitt auszuführen, muss der IAM-Principal, der die AWS Konsole oder AWS CLI verwendet, über die folgenden Berechtigungen verfügen.

  • iam:CreatePolicy

  • iam:CreateRole

  • iam:AttachRolePolicy

  • Wenn Sie AWS IAM Roles Anywhere verwenden

    • rolesanywhere:CreateTrustAnchor

    • rolesanywhere:CreateProfile

    • iam:PassRole

AWS CloudFormation

Installieren und konfigurieren Sie die AWS CLI, falls Sie dies noch nicht getan haben. Siehe Installation oder Aktualisierung auf die letzte Version der AWS CLI.

Schritte für AWS SSM-Hybrid-Aktivierungen

Der CloudFormation Stack erstellt die IAM-Rolle Hybrid Nodes mit den oben beschriebenen Berechtigungen. Die CloudFormation Vorlage erstellt die AWS SSM-Hybrid-Aktivierung nicht.

  1. Laden Sie die AWS CloudFormation SSM-Vorlage für Hybridknoten herunter:

    curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ssm-cfn.yaml'
  2. Erstellen Sie eine cfn-ssm-parameters.json mit den folgenden Optionen:

    1. ROLE_NAMEErsetzen Sie es durch den Namen für Ihre Hybrid Nodes IAM-Rolle. Standardmäßig verwendet AmazonEKSHybridNodesRole die CloudFormation Vorlage den Namen der Rolle, die sie erstellt, wenn Sie keinen Namen angeben.

    2. TAG_KEYErsetzen Sie es durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur die IAM-Rolle Hybrid Nodes die Registrierung der mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf. ssm:DeregisterManagedInstance AWS In der Vorlage ist der Standardwert CloudFormation . TAG_KEY EKSClusterARN

    3. TAG_VALUEErsetzen Sie es durch den Wert des AWS SSM-Ressourcen-Tags, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur die IAM-Rolle Hybrid Nodes die Registrierung der mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf. ssm:DeregisterManagedInstance AWS Wenn Sie den Standard TAG_KEY von verwendenEKSClusterARN, übergeben Sie Ihren EKS-Cluster-ARN alsTAG_VALUE. EKS-Cluster ARNs haben das Formatarn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME.

      { "Parameters": { "RoleName": "ROLE_NAME", "SSMDeregisterConditionTagKey": "TAG_KEY", "SSMDeregisterConditionTagValue": "TAG_VALUE" } }
  3. Stellen Sie den CloudFormation Stack bereit. STACK_NAMEErsetzen Sie ihn durch Ihren Namen für den CloudFormation Stack.

    aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ssm-cfn.yaml \ --parameter-overrides file://cfn-ssm-parameters.json \ --capabilities CAPABILITY_NAMED_IAM

Schritte für AWS IAM Roles Anywhere

Der CloudFormation Stack erstellt den AWS IAM Roles Anywhere-Vertrauensanker mit der von Ihnen konfigurierten Zertifizierungsstelle (CA), erstellt das AWS IAM Roles Anywhere-Profil und erstellt die IAM-Rolle Hybrid Nodes mit den zuvor beschriebenen Berechtigungen.

  1. Um eine Zertifizierungsstelle (CA) einzurichten

    1. Um eine AWS private CA-Ressource zu verwenden, öffnen Sie die AWS Private Certificate Authority-Konsole. Folgen Sie den Anweisungen im AWS Private CA-Benutzerhandbuch.

    2. Um eine externe Zertifizierungsstelle zu verwenden, folgen Sie den Anweisungen der Zertifizierungsstelle. Sie geben die Zertifizierungsstelle in einem späteren Schritt an.

    3. Öffentlich ausgestellte Zertifikate CAs können nicht als Vertrauensanker verwendet werden.

  2. Laden Sie die AWS IAM Roles CloudFormation Anywhere-Vorlage für Hybridknoten herunter

    curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ira-cfn.yaml'
  3. Erstellen Sie eine cfn-iamra-parameters.json mit den folgenden Optionen:

    1. ROLE_NAMEErsetzen Sie es durch den Namen für Ihre Hybrid Nodes IAM-Rolle. Standardmäßig verwendet AmazonEKSHybridNodesRole die CloudFormation Vorlage den Namen der Rolle, die sie erstellt, wenn Sie keinen Namen angeben.

    2. CERT_ATTRIBUTEErsetzen Sie es durch das Zertifikatsattribut pro Computer, das Ihren Host eindeutig identifiziert. Das von Ihnen verwendete Zertifikatsattribut muss mit dem NodeName übereinstimmen, den Sie für die nodeadm Konfiguration verwenden, wenn Sie Hybridknoten mit Ihrem Cluster verbinden. Weitere Informationen hierzu finden Sie unter nodeadmReferenz für Hybridknoten. Standardmäßig verwendet die CloudFormation Vorlage ${aws:PrincipalTag/x509Subject/CN} asCERT_ATTRIBUTE, was dem CN-Feld Ihrer Computerzertifikate entspricht. Sie können es auch $(aws:PrincipalTag/x509SAN/Name/CN} als Ihr CERT_ATTRIBUTE Passwort übergeben.

    3. CA_CERT_BODYErsetzen Sie es durch die Zertifizierungsstelle Ihrer Zertifizierungsstelle ohne Zeilenumbrüche. Das CA_CERT_BODY muss im PEM-Format (Privacy Enhanced Mail) vorliegen. Wenn Sie über ein CA-Zertifikat im PEM-Format verfügen, entfernen Sie die Zeilenumbrüche und die Zeilen BEGIN CERTIFICATE und END CERTIFICATE, bevor Sie den Hauptteil des CA-Zertifikats in Ihre cfn-iamra-parameters.json Datei einfügen.

      { "Parameters": { "RoleName": "ROLE_NAME", "CertAttributeTrustPolicy": "CERT_ATTRIBUTE", "CABundleCert": "CA_CERT_BODY" } }
  4. Stellen Sie die CloudFormation Vorlage bereit. STACK_NAMEErsetzen Sie es durch Ihren Namen für den CloudFormation Stack.

    aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ira-cfn.yaml \ --parameter-overrides file://cfn-iamra-parameters.json --capabilities CAPABILITY_NAMED_IAM

AWS CLI

Installieren und konfigurieren Sie die AWS CLI, falls Sie dies noch nicht getan haben. Siehe Installation oder Aktualisierung auf die letzte Version der AWS CLI.

Erstellen Sie die EKS Describe Cluster-Richtlinie

  1. Erstellen Sie eine Datei eks-describe-cluster-policy.json mit dem folgenden Inhalt:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "*" } ] }
  2. Erstellen Sie die Richtlinie mit dem folgenden Befehl:

    aws iam create-policy \ --policy-name EKSDescribeClusterPolicy \ --policy-document file://eks-describe-cluster-policy.json

Schritte für AWS SSM-Hybrid-Aktivierungen

  1. Erstellen Sie eine Datei mit dem Namen eks-hybrid-ssm-policy.json und dem folgenden Inhalt. Die Richtlinie gewährt die Genehmigung für zwei Aktionen ssm:DescribeInstanceInformation und. ssm:DeregisterManagedInstance Die Richtlinie beschränkt die ssm:DeregisterManagedInstance Berechtigung auf AWS SSM-verwaltete Instanzen, die mit Ihrer AWS SSM-Hybrid-Aktivierung verknüpft sind, basierend auf dem Ressourcen-Tag, das Sie in Ihrer Vertrauensrichtlinie angeben.

    1. Ersetzen Sie es AWS_REGION durch die AWS Region für Ihre AWS SSM-Hybrid-Aktivierung.

    2. Ersetzen Sie AWS_ACCOUNT_ID durch Ihre AWS Konto-ID.

    3. TAG_KEYErsetzen Sie es durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur die IAM-Rolle Hybrid Nodes die Registrierung der mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf. ssm:DeregisterManagedInstance AWS In der Vorlage ist der Standardwert CloudFormation . TAG_KEY EKSClusterARN

    4. TAG_VALUEErsetzen Sie es durch den Wert des AWS SSM-Ressourcen-Tags, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur die IAM-Rolle Hybrid Nodes die Registrierung der mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf. ssm:DeregisterManagedInstance AWS Wenn Sie den Standard TAG_KEY von verwendenEKSClusterARN, übergeben Sie Ihren EKS-Cluster-ARN alsTAG_VALUE. EKS-Cluster ARNs haben das Formatarn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
  2. Erstellen Sie die Richtlinie mit dem folgenden Befehl

    aws iam create-policy \ --policy-name EKSHybridSSMPolicy \ --policy-document file://eks-hybrid-ssm-policy.json
  3. Erstellen Sie eine Datei namens eks-hybrid-ssm-trust.json. AWS_REGIONErsetzen Sie es durch die AWS Region Ihrer AWS SSM-Hybrid-Aktivierung und AWS_ACCOUNT_ID durch Ihre AWS Konto-ID.

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
  4. Erstellen Sie die Rolle mit dem folgenden Befehl.

    aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-ssm-trust.json
  5. Hängen Sie das EKSDescribeClusterPolicy und das anEKSHybridSSMPolicy, das Sie in den vorherigen Schritten erstellt haben. AWS_ACCOUNT_IDErsetzen Sie es durch Ihre AWS Konto-ID.

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSHybridSSMPolicy
  6. Hängen Sie die AmazonEC2ContainerRegistryPullOnly und die AmazonSSMManagedInstanceCore AWS verwalteten Richtlinien an.

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

Schritte für AWS IAM Roles Anywhere

Um AWS IAM Roles Anywhere verwenden zu können, müssen Sie Ihren AWS IAM Roles Anywhere-Vertrauensanker einrichten, bevor Sie die IAM-Rolle Hybrid Nodes erstellen. Detaillierte Anweisungen finden Sie unter Richten Sie AWS IAM-Rollen überall ein.

  1. Erstellen Sie eine Datei namens eks-hybrid-iamra-trust.json. TRUST_ANCHOR ARNErsetzen Sie ihn durch den ARN des Vertrauensankers, den Sie in den Richten Sie AWS IAM-Rollen überall ein Schritten erstellt haben. Die Bedingung in dieser Vertrauensrichtlinie schränkt die Fähigkeit von AWS IAM Roles Anywhere ein, die IAM-Rolle Hybrid Nodes anzunehmen und temporäre IAM-Anmeldeinformationen nur auszutauschen, wenn der Name der Rollensitzung mit dem CN im x509-Zertifikat übereinstimmt, das auf Ihren Hybridknoten installiert ist. Sie können auch andere Zertifikatsattribute verwenden, um Ihren Knoten eindeutig zu identifizieren. Das Zertifikatsattribut, das Sie in der Vertrauensrichtlinie verwenden, muss dem entsprechen, das nodeName Sie in Ihrer nodeadm Konfiguration festgelegt haben. Weitere Informationen hierzu finden Sie unter nodeadmReferenz für Hybridknoten.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
  2. Erstellen Sie die Rolle mit dem folgenden Befehl.

    aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-iamra-trust.json
  3. Hängen EKSDescribeClusterPolicy Sie die an, die Sie in den vorherigen Schritten erstellt haben. AWS_ACCOUNT_IDErsetzen Sie es durch Ihre AWS Konto-ID.

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
  4. Hängen Sie die AmazonEC2ContainerRegistryPullOnly AWS verwaltete Richtlinie an

    aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly

AWS Management Console

Erstellen Sie die EKS Describe Cluster-Richtlinie

  1. Öffnen Sie die Amazon IAM-Konsole

  2. Wählen Sie im linken Navigationsbereich die Option Policies aus.

  3. Wählen Sie auf der Seite Richtlinien die Option Richtlinie erstellen.

  4. Wählen Sie auf der Seite „Berechtigungen angeben“ im Bereich Service auswählen die Option EKS aus.

    1. Filtern Sie Aktionen nach DescribeClusterund wählen Sie die Aktion DescribeClusterLesen aus.

    2. Wählen Sie Weiter.

  5. Auf der Seite Überprüfen und erstellen

    1. Geben Sie einen Richtliniennamen für Ihre Richtlinie ein, EKSDescribeClusterPolicy z. B.

    2. Wählen Sie Create Policy (Richtlinie erstellen) aus.

Schritte für AWS SSM-Hybrid-Aktivierungen

  1. Öffnen Sie die Amazon IAM-Konsole

  2. Wählen Sie im linken Navigationsbereich die Option Policies aus.

  3. Wählen Sie auf der Seite Richtlinien die Option Richtlinie erstellen.

  4. Wählen Sie auf der Seite „Berechtigungen angeben“ im Richtlinien-Editor oben rechts die Option JSON aus. Fügen Sie das folgende Snippet ein. AWS_REGIONErsetzen Sie es durch die AWS Region Ihrer AWS SSM-Hybrid-Aktivierung und AWS_ACCOUNT_ID ersetzen Sie es durch Ihre AWS Konto-ID. Ersetzen Sie TAG_KEY und TAG_VALUE durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung verwendet haben.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
    1. Wählen Sie Weiter.

  5. Auf der Seite Überprüfen und erstellen.

    1. Geben Sie einen Richtliniennamen für Ihre Richtlinie ein, z. B. EKSHybridSSMPolicy

    2. Wählen Sie Create Policy (Richtlinie erstellen) aus.

  6. Wählen Sie im linken Navigationsbereich Roles aus.

  7. Klicken Sie auf der Seite Roles (Rollen) auf Create role (Rolle erstellen).

  8. Gehen Sie auf der Seite Select trusted entity (Vertrauenswürdige Entität auswählen) wie folgt vor:

    1. Wählen Sie im Abschnitt Vertrauenswürdiger Entitätstyp die Option Benutzerdefinierte Vertrauensrichtlinie aus. Fügen Sie Folgendes in den Editor für benutzerdefinierte Vertrauensrichtlinien ein. AWS_REGIONErsetzen Sie es durch die AWS Region Ihrer AWS SSM-Hybrid-Aktivierung und AWS_ACCOUNT_ID durch Ihre AWS Konto-ID.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
    2. Wählen Sie Weiter.

  9. Führen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die folgenden Schritte aus:

    1. Geben Sie in das Feld Richtlinien filtern den Namen der Richtlinie einEKSDescribeClusterPolicy, die Sie oben erstellt haben. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben Ihrem Richtliniennamen.

    2. Geben Sie in das Feld Richtlinien filtern den Namen der Richtlinie einEKSHybridSSMPolicy, die Sie oben erstellt haben. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben Ihrem Richtliniennamen.

    3. Geben Sie im Feld Filter policies (Filterrichtlinien) AmazonEC2ContainerRegistryPullOnly ein. Aktivieren Sie das Kontrollkästchen links neben AmazonEC2ContainerRegistryPullOnly den Suchergebnissen.

    4. Geben Sie im Feld Filter policies (Filterrichtlinien) AmazonSSMManagedInstanceCore ein. Aktivieren Sie das Kontrollkästchen links neben AmazonSSMManagedInstanceCore den Suchergebnissen.

    5. Wählen Sie Weiter.

  10. Gehen Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) wie folgt vor:

    1. Geben Sie unter Role name (Rollenname) einen eindeutigen Namen für die Rolle ein, z. B. AmazonEKSHybridNodesRole.

    2. Ersetzen Sie unter Description (Beschreibung) den aktuellen Text durch beschreibenden Text wie beispielsweise Amazon EKS - Hybrid Nodes role.

    3. Wählen Sie Rolle erstellen.

Schritte für AWS IAM Roles Anywhere

Um AWS IAM Roles Anywhere verwenden zu können, müssen Sie Ihren AWS IAM Roles Anywhere-Vertrauensanker einrichten, bevor Sie die IAM-Rolle Hybrid Nodes erstellen. Detaillierte Anweisungen finden Sie unter Richten Sie AWS IAM-Rollen überall ein.

  1. Öffnen Sie die Amazon IAM-Konsole

  2. Wählen Sie im linken Navigationsbereich Roles aus.

  3. Klicken Sie auf der Seite Roles (Rollen) auf Create role (Rolle erstellen).

  4. Gehen Sie auf der Seite Select trusted entity (Vertrauenswürdige Entität auswählen) wie folgt vor:

    1. Wählen Sie im Abschnitt Vertrauenswürdiger Entitätstyp die Option Benutzerdefinierte Vertrauensrichtlinie aus. Fügen Sie Folgendes in den Editor für benutzerdefinierte Vertrauensrichtlinien ein. TRUST_ANCHOR ARNErsetzen Sie ihn durch den ARN des Vertrauensankers, den Sie in den Richten Sie AWS IAM-Rollen überall ein Schritten erstellt haben. Die Bedingung in dieser Vertrauensrichtlinie schränkt die Fähigkeit von AWS IAM Roles Anywhere ein, die IAM-Rolle Hybrid Nodes anzunehmen und temporäre IAM-Anmeldeinformationen nur auszutauschen, wenn der Name der Rollensitzung mit dem CN im x509-Zertifikat übereinstimmt, das auf Ihren Hybridknoten installiert ist. Sie können auch andere Zertifikatsattribute verwenden, um Ihren Knoten eindeutig zu identifizieren. Das Zertifikatsattribut, das Sie in der Vertrauensrichtlinie verwenden, muss dem NodeName entsprechen, den Sie in Ihrer nodeadm-Konfiguration festgelegt haben. Weitere Informationen hierzu finden Sie unter nodeadmReferenz für Hybridknoten.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
    2. Wählen Sie Weiter.

  5. Führen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die folgenden Schritte aus:

    1. Geben Sie in das Feld Richtlinien filtern den Namen der Richtlinie einEKSDescribeClusterPolicy, die Sie oben erstellt haben. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben Ihrem Richtliniennamen.

    2. Geben Sie im Feld Filter policies (Filterrichtlinien) AmazonEC2ContainerRegistryPullOnly ein. Aktivieren Sie das Kontrollkästchen links neben AmazonEC2ContainerRegistryPullOnly den Suchergebnissen.

    3. Wählen Sie Weiter.

  6. Gehen Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) wie folgt vor:

    1. Geben Sie unter Role name (Rollenname) einen eindeutigen Namen für die Rolle ein, z. B. AmazonEKSHybridNodesRole.

    2. Ersetzen Sie unter Description (Beschreibung) den aktuellen Text durch beschreibenden Text wie beispielsweise Amazon EKS - Hybrid Nodes role.

    3. Wählen Sie Rolle erstellen.