Muster-IAM-Richtlinien für Session Manager - AWS Systems Manager

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.

Muster-IAM-Richtlinien für Session Manager

Verwenden Sie die Beispiele in diesem Abschnitt, um Ihnen bei der Erstellung von AWS Identity and Access Management (IAM-) Richtlinien zu helfen, die die am häufigsten benötigten Zugriffsberechtigungen Session Manager bereitstellen.

Anmerkung

Sie können auch eine AWS KMS key Richtlinie verwenden, um zu kontrollieren, welche IAM-Entitäten (Benutzer oder Rollen) Zugriff auf Ihren KMS-Schlüssel erhalten. AWS-Konten Weitere Informationen finden Sie im AWS Key Management Service Entwicklerhandbuch unter Überblick über die Verwaltung des Zugriffs auf Ihre AWS KMS Ressourcen und die Verwendung wichtiger Richtlinien. AWS KMS

Kurzeinführung in Endbenutzerrichtlinien für Session Manager

Verwenden Sie die folgenden Beispiele, um IAM-Endbenutzerrichtlinien für Session Manager zu erstellen.

Sie können eine Richtlinie erstellen, die es Benutzern ermöglicht, Sitzungen nur von der Session Manager Konsole und AWS Command Line Interface (AWS CLI), nur von der Amazon Elastic Compute Cloud (Amazon EC2) -Konsole oder von allen drei aus zu starten.

Diese Richtlinien bieten Endbenutzern die Möglichkeit, eine Sitzung zu einem bestimmten verwalteten Knoten zu starten und nur ihre eigenen Sitzungen zu beenden. Beispiele für Anpassungen, die Sie möglicherweise für die Richtlinie ausführen sollten, finden Sie unter Zusätzliche IAM-Beispielrichtlinien für Session Manager.

Ersetzen Sie in den folgenden Beispielrichtlinien jeden Beispiel-Platzhalter für Ressourcen mit Ihren eigenen Informationen.

Wählen Sie die folgenden Registerkarten, um die Beispielrichtlinie für den Bereich des Sitzungszugriffs anzuzeigen, den Sie bereitstellen möchten.

Session Manager and Fleet Manager

Verwenden Sie diese Beispielrichtlinie, um Benutzern die Möglichkeit zu geben, Sitzungen nur über die Fleet Manager Konsolen Session Manager und wieder aufzunehmen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" Footnote callout 2 to explain a line in a JSON policy } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 3 to explain a line in a JSON policy ], "Resource": "key-name" } ] }
Amazon EC2

Verwenden Sie diese Beispielrichtlinie für Provider-Benutzer, die Sitzungen nur über die Amazon EC2-Konsole starten und wiederaufnehmen können. Diese Richtlinie bietet nicht alle Berechtigungen, die zum Starten von Sitzungen über die Session ManagerKonsole und die AWS CLI Konsole erforderlich sind.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 4 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
AWS CLI

Verwenden Sie diese Beispielrichtlinie, um Benutzern die Möglichkeit zu geben, Sitzungen von der aus zu starten und fortzusetzen AWS CLI.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 4 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/instance-id", "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" Footnote callout 1 to explain a line in a JSON policy ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" Footnote callout 2 to explain a line in a JSON policy } } }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" Footnote callout 3 to explain a line in a JSON policy ], "Resource": "key-name" } ] }

1 SSM-SessionManagerRunShell ist der Standardname des SSM-Dokuments, das Session Manager zum Speichern Ihrer Sitzungskonfiguration erstellt. Sie können stattdessen ein benutzerdefiniertes Sitzungsdokument erstellen und es in dieser Richtlinie angeben. Sie können das AWS bereitgestellte Dokument auch AWS-StartSSHSession für Benutzer angeben, die Sitzungen mit SSH starten. Informationen zu den Konfigurationsschritten, die zur Unterstützung von SSH-Sitzungen erforderlich sind, finden Sie unter (Optional) Zulassen und Steuern von Berechtigungen für SSH-Verbindungen über. Session Manager

2 Wenn Sie das Bedingungselement ssm:SessionDocumentAccessCheck auf true festlegen, prüft das System, ob ein Benutzer expliziten Zugriff auf das definierte Sitzungsdokument, in diesem Beispiel SSM-SessionManagerRunShell, hat, bevor eine Sitzung eingerichtet wird. Weitere Informationen finden Sie unter Erzwingen Sie beim Starten einer Sitzung eine Berechtigungsprüfung für das Sitzungsdokument.

3 Die kms:GenerateDataKey-Berechtigung ermöglicht die Erstellung eines Datenverschlüsselungsschlüssels, der zur Verschlüsselung von Sitzungsdaten verwendet wird. Wenn Sie die AWS Key Management Service (AWS KMS) -Verschlüsselung für Ihre Sitzungsdaten verwenden, ersetzen Sie key-name durch den Amazon Resource Name (ARN) des KMS-Schlüssels, den Sie verwenden möchten, im Format. arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE Wenn Sie keine KMS-Schlüsselverschlüsselung für Ihre Sitzungsdaten verwenden möchten, entfernen Sie den folgenden Inhalt aus der Richtlinie.

, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "key-name" }

Informationen zur Verwendung AWS KMS zur Verschlüsselung von Sitzungsdaten finden Sie unter. So aktivieren Sie die KMS-Schlüsselverschlüsselung von Sitzungsdaten (Konsole)

4 Die Genehmigung für SendCommandist für Fälle erforderlich, in denen ein Benutzer versucht, eine Sitzung von der Amazon EC2 EC2-Konsole aus zu starten, die jedoch Session Manager zunächst auf die erforderliche Mindestversion aktualisiert werden SSM Agent muss. Run Commandwird verwendet, um einen Befehl an die Instance zu senden, um den Agenten zu aktualisieren.

Kurzeinführung in Administratorrichtlinien für Session Manager

Verwenden Sie die folgenden Beispiele, um IAM-Administratorrichtlinien für Session Manager zu erstellen.

Diese Richtlinien bieten Administratoren die Möglichkeit, eine Sitzung für verwaltete Knoten zu starten, die mit Key=Finance,Value=WebServers markiert sind, sowie die Berechtigung zum Erstellen, Aktualisieren und Löschen von Einstellungen und die Berechtigung, nur ihre eigenen Sitzungen zu beenden. Beispiele für Anpassungen, die Sie möglicherweise für die Richtlinie ausführen sollten, finden Sie unter Zusätzliche IAM-Beispielrichtlinien für Session Manager.

Sie können eine Richtlinie erstellen, die es Administratoren ermöglicht, diese Aufgaben nur von der Session Manager Konsole und AWS CLI nur von der Amazon EC2 EC2-Konsole aus oder von allen drei aus auszuführen.

Ersetzen Sie in den folgenden Beispielrichtlinien jeden Beispiel-Platzhalter für Ressourcen mit Ihren eigenen Informationen.

Wählen Sie die folgenden Registerkarten aus, um die Beispielrichtlinie für das zu unterstützende Zugriffsszenario anzuzeigen.

Session Manager and CLI

Verwenden Sie diese Beispielrichtlinie für Provider-Administratoren, die sitzungsbezogene Aufgaben nur über die Session Manager-Konsole und die AWS CLI ausführen können. Diese Richtlinie bietet nicht alle Berechtigungen, die für die Ausführung von sitzungsbezogenen Aufgaben über die Amazon EC2-Konsole erforderlich sind.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/Finance": [ "WebServers" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument", "ssm:StartSession" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Amazon EC2

Verwenden Sie diese Beispielrichtlinie für Provider-Administratoren, die sitzungsbezogene Aufgaben nur über die Amazon EC2-Konsole ausführen können. Diese Richtlinie bietet nicht alle Berechtigungen, die zum Ausführen von sitzungsbezogenen Aufgaben über die Session Manager-Konsole und die AWS CLI-Konsole erforderlich sind.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 1 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" ] }, { "Effect": "Allow", "Action": [ "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }
Session Manager, CLI, and Amazon EC2

Verwenden Sie diese Beispielrichtlinie für Provider-Administratoren, die sitzungsbezogene Aufgaben über die Session Manager-Konsole, die AWS CLI und die Amazon EC2-Konsole ausführen können.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:SendCommand" Footnote callout 1 to explain a line in a JSON policy ], "Resource": [ "arn:aws:ec2:region:account-id:instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag-key": [ "tag-value" ] } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeSessions", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssm:DescribeInstanceProperties", "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:CreateDocument", "ssm:UpdateDocument", "ssm:GetDocument", "ssm:StartSession" ], "Resource": "arn:aws:ssm:region:account-id:document/SSM-SessionManagerRunShell" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession", "ssm:ResumeSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:userid}-*" ] } ] }

1 Die Berechtigung für SendCommand wird für Fälle benötigt, in denen ein Benutzer versucht, eine Sitzung von der Amazon-EC2-Konsole aus zu starten, aber zuerst ein Befehl zur SSM Agent-Aktualisierung gesendet werden muss.