IAM-Berechtigungen für die Verwendung des EC2-Instance-Connect-Endpunkts erteilen
IAM-Entitäten sind standardmäßig nicht berechtigt, EC2-Instance-Connect-Endpunkte zu erstellen, zu beschreiben oder zu ändern. Ein IAM-Administrator kann IAM-Richtlinien erstellen, die Benutzern und Rollen die Berechtigung erteilen, Aktionen für die Ressourcen auszuführen, die sie benötigen.
Informationen zum Erstellen und Bearbeiten von IAM-Richtlinien finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.
Die folgenden Beispielrichtlinien veranschaulichen, wie Sie die Berechtigungen kontrollieren können, die Benutzer für EC2-Instance-Connect-Endpunkte haben.
Beispiele
Berechtigungen zum Erstellen, Beschreiben, Ändern und Löschen von EC2-Instance-Connect-Endpunkten
Um einen EC2-Instance-Connect-Endpunkt zu erstellen und zu ändern, benötigen Benutzer Berechtigungen für die folgenden Aktionen:
-
ec2:CreateInstanceConnectEndpoint -
ec2:CreateNetworkInterface -
ec2:CreateTags -
ec2:ModifyInstanceConnectEndpoint -
iam:CreateServiceLinkedRole
Um einen EC2-Instance-Connect-Endpunkt zu erstellen, benötigen Benutzer Berechtigungen für die folgenden Aktionen:
-
ec2:DescribeInstanceConnectEndpoints -
ec2:DeleteInstanceConnectEndpoint
Sie können eine Richtlinie erstellen, die Berechtigungen zum Erstellen, Beschreiben, Ändern und Löschen von EC2-Instance-Connect-Endpunkten in allen Subnetzen erteilt. Alternativ können Sie die Aktionen nur für bestimmte Subnetze einschränken, indem Sie die ARNs der Subnetze als zulässige Resource angeben oder den Bedingungsschlüssel ec2:SubnetID verwenden. Sie können den aws:ResourceTag-Bedingungsschlüssel auch verwenden, um die Erstellung von Endpunkten mit bestimmten Tags explizit zuzulassen oder zu verweigern. Weitere Informationen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.
Beispiel für eine IAM-Richtlinie
In der folgenden Beispiel-IAM-Richtlinie erteilt der Abschnitt Resource die Berechtigung zum Erstellen, Ändern und Löschen von Endpunkten in allen Subnetzen, die durch das Sternchen (*) angegeben sind. ec2:Describe*-API-Aktionen unterstützen keine Berechtigungen auf Ressourcenebene. Aus diesem Grund ist in der obigen Anweisung der *-Platzhalter im Resource-Element erforderlich.
Berechtigungen, EC2-Instance-Connect-Endpunkt zu verwenden, um eine Verbindung zu Instances herzustellen
Die ec2-instance-connect:OpenTunnel Aktion erteilt die Berechtigung, eine TCP-Verbindung zu einer Instance herzustellen, um eine Verbindung über den EC2-Instance-Connect-Endpunkt herzustellen. Sie können den zu verwendenden EC2-Instance-Connect-Endpunkt angeben. Alternativ ermöglicht ein Resource mit einem Sternchen (*) versehenes Zeichen Benutzern, jeden verfügbaren EC2-Instance-Connect-Endpunkt zu verwenden. Sie können den Zugriff auf Instances auch einschränken, wenn Ressourcen-Tags als Bedingungsschlüssel vorhanden oder nicht vorhanden sind.
Bedingungen
-
ec2-instance-connect:remotePort– Gibt den Port auf der Instance an, der für den Aufbau einer TCP-Verbindung verwendet werden kann. Wenn dieser Bedingungsschlüssel verwendet wird, führt der Versuch, eine Verbindung zu einer Instance an einem anderen Port als dem in der Richtlinie angegebenen Port herzustellen, zu einem Fehler. -
ec2-instance-connect:privateIpAddress– Gibt die private Ziel-IP-Adresse an, die der Instance zugeordnet ist, mit der Sie eine TCP-Verbindung herstellen möchten. Sie können eine einzelne IP-Adresse, z. B.10.0.0.1/32oder einen Bereich von IP-Adressen über CIDRs angeben, wie z. B.10.0.1.0/28. Wenn dieser Bedingungsschlüssel verwendet wird, führt der Versuch, eine Verbindung zu einer Instance mit einer anderen privaten IP-Adresse oder außerhalb des CIDR-Bereichs herzustellen, zu einem Fehler. -
ec2-instance-connect:maxTunnelDuration– Gibt die maximale Dauer für eine hergestellte TCP-Verbindung an. Die Einheit ist Sekunden und die Dauer reicht von mindestens 1 Sekunde bis maximal 3 600 Sekunden (1 Stunde). Wenn die Bedingung nicht angegeben ist, ist die Standarddauer auf 3 600 Sekunden (1 Stunde) festgelegt. Der Versuch, länger als die in der IAM-Richtlinie angegebene Dauer oder länger als das Standardmaximum eine Verbindung zu einer Instance herzustellen, führt zu einem Fehler. Die Verbindung wird nach Ablauf der angegebenen Dauer getrennt.Wenn
maxTunnelDurationin der IAM-Richtlinie angegeben ist und der angegebene Wert weniger als 3 600 Sekunden beträgt (Standard), müssen Sie--max-tunnel-durationim Befehl angeben, wenn Sie eine Verbindung zu einer Instance herstellen. Weitere Information über das Verbinden mit einer Instance finden Sie unter Verbindung zu einer Amazon-EC2-Instance mit einem EC2-Instance-Connect-Endpunkt.
Sie können auch einem Benutzer Zugriff gewähren, um Verbindungen zu Instances herzustellen, basierend auf dem Vorhandensein von Ressourcen-Tags auf dem EC2-Instance-Connect-Endpunkt. Weitere Informationen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.
Für Linux-Instances gewährt die Aktion ec2-instance-connect:SendSSHPublicKey die Erlaubnis, den öffentlichen Schlüssel auf eine Instance zu übertragen. Die ec2:osuser-Bedingung gibt den Namen des Betriebssystembenutzers an, der den öffentlichen Schlüssel per Push an die Instance übertragen kann. Verwenden Sie den Standardbenutzernamen der AMI, den Sie beim Starten der Instance verwendet haben. Weitere Informationen finden Sie unter Erteilen Sie IAM-Berechtigungen für EC2 Instance Connect.
Beispiel für eine IAM-Richtlinie
Die folgende Beispiel-IAM-Richtlinie ermöglicht es einem IAM-Prinzipal, eine Verbindung zu einer Instance herzustellen, indem er nur den angegebenen EC2-Instance-Connect-Endpunkt verwendet, der durch die angegebene Endpunkt-ID eice-123456789abcdef identifiziert wird. Die Verbindung wird nur erfolgreich hergestellt, wenn alle Bedingungen erfüllt sind.
Anmerkung
ec2:Describe*-API-Aktionen unterstützen keine Berechtigungen auf Ressourcenebene. Aus diesem Grund ist in der obigen Anweisung der *-Platzhalter im Resource-Element erforderlich.
Herstellen von Verbindungen nur von einem bestimmten IP-Adressbereich berechtigen
Die folgende Beispiel-IAM-Richtlinie ermöglicht es einem IAM-Prinzipal, eine Verbindung zu einer Instance herzustellen, sofern er von einer IP-Adresse innerhalb des in der Richtlinie angegebenen IP-Adressbereichs aus eine Verbindung herstellt. Wenn der IAM-Prinzipal OpenTunnel von einer IP-Adresse aufruft, die nicht innerhalb des Bereichs 192.0.2.0/24 liegt (der Beispiel-IP-Adressbereich in dieser Richtlinie), wird die Antwort Access Denied sein. Weitere Informationen finden Sie unter aws:SourceIp im IAM-Benutzerhandbuch.