Erstellen Sie die für Systems Manager in Hybrid- und Multi-Cloud-Umgebungen erforderliche IAM-Servicerolle
Nicht-EC2-Maschinen (Amazon Elastic Compute Cloud) in einer Hybrid- und Multi-Cloud-Umgebung benötigen eine AWS Identity and Access Management (IAM)-Servicerolle, um mit dem AWS Systems Manager-Service zu kommunizieren. Die Rolle gewährt AWS Security Token Service (AWS STS) AssumeRole Zugriff auf den Systems Manager-Dienst. Sie müssen nur einmal eine Servicerolle für eine Hybrid- und Multi-Cloud-Umgebung erstellen, und zwar für jedes AWS-Konto. Sie können jedoch mehrere Servicerollen für verschiedene Hybrid- und Multi-Cloud-Aktivierungen erstellen, wenn Maschinen in Ihrer Hybrid-Umgebung unterschiedliche Berechtigungen benötigen.
Im Folgenden wird beschrieben, wie Sie die erforderliche Servicerolle mit der Systems-Manager-Konsole oder Ihrem bevorzugten Befehlszeilen-Tool erstellen.
Verwenden von AWS Management Console, um eine IAM-Servicerolle für Systems-Manager-Hybrid-Aktivierungen zu erstellen
Verwenden Sie das folgende Verfahren zum Erstellen einer Servicerolle für eine Hybrid-Aktivierung. Dieses Verfahren verwendet die AmazonSSMManagedInstanceCore-Richtlinie für die Kernfunktionalität von Systems Manager. Je nach Anwendungsfall müssen Sie Ihrer Servicerolle möglicherweise zusätzliche Richtlinien hinzufügen, damit Ihre On-Premises-Maschinen auf andere Systems-Manager-Tools oder AWS-Services zugreifen können. Zum Beispiel, ohne Zugriff auf das erforderliche AWS-verwalteten Amazon Simple Storage Service (Amazon S3)-Buckets schlagen Patch Manager-Patch-Operationen fehl.
So erstellen Sie eine -Servicerolle (Konsole)
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.
-
Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).
-
Wählen Sie für Select trusted entity (Vertrauenswürdige Entität auswählen) die folgenden Optionen:
-
Wählen Sie für Vertrauenswürdige Entität die Option AWS-Service aus.
-
Für Anwendungsfälle für andere AWS-Services wählen Sie Systems Manager aus.
-
Wählen Sie Systems Manager aus.
In der folgenden Abbildung wird die Position der Systems-Manager-Option hervorgehoben.
-
Wählen Sie Weiter aus.
-
Gehen Sie auf der Seite Berechtigungen hinzufügen wie folgt vor:
-
Verwenden Sie das Feld Suchen, um nach AmazonSSMManagedInstanceCore zu suchen. Aktivieren Sie das Kontrollkästchen neben dem Namen, wie in der folgenden Abbildung gezeigt.
Die Konsole behält Ihre Auswahl auch dann bei, wenn Sie nach anderen Richtlinien suchen.
-
Wenn Sie im Verfahren (Optional) Erstellen einer benutzerdefinierten Richtlinie für den Zugriff auf einen S3-Bucket, eine benutzerdefinierte S3-Bucket-Richtlinie erstellt haben, suchen Sie danach und aktivieren Sie das Kontrollkästchen neben ihrem Namen.
-
Wenn Sie planen, dass Nicht-EC2-Maschinen einem von AWS Directory Service verwalteten Active Directory beitreten sollen, suchen Sie nach AmazonSSMDirectoryServiceAccess und aktivieren Sie das Kontrollkästchen neben dem entsprechenden Namen.
-
Wenn Sie vorhaben, Ihren verwalteten Knoten mit EventBridge oder CloudWatch Logs zur verwalten oder zu überwachen, suchen Sie nach CloudWatchAgentServerPolicy und aktivieren Sie das Kontrollkästchen neben dem Namen.
-
Wählen Sie Weiter aus.
-
Geben Sie unter Rollenname einen Namen für Ihre neue IAM-Serverrolle ein, z. B. SSMServerRole.
Notieren Sie sich den Rollennamen. Sie wählen diese Rolle, wenn Sie neue Maschinen registrieren, die Sie mit Systems Manager verwalten möchten.
-
(Optional) Aktualisieren Sie für Beschreibung die Beschreibung für diese IAM-Serverrolle.
-
(Optional) Fügen Sie für Tags ein oder mehrere Tag-Schlüssel-Wert-Paare hinzu, um den Zugriff für diese Rolle zu organisieren, nachzuverfolgen oder zu steuern.
-
Wählen Sie Create role (Rolle erstellen) aus. Das System leitet Sie zur Seite Rollen zurück.
Verwenden von AWS CLI, um eine IAM-Servicerolle für Systems-Manager-Hybrid-Aktivierungen zu erstellen
Verwenden Sie das folgende Verfahren zum Erstellen einer Servicerolle für eine Hybrid-Aktivierung. Dieses Verfahren verwendet die AmazonSSMManagedInstanceCore-Richtlinie für die Kernfunktionalität von Systems Manager. Je nach Anwendungsfall müssen Sie Ihrer Servicerolle für Nicht-EC2-Maschinen in einer Hybrid- und Multi-Cloud-Umgebung möglicherweise zusätzliche Richtlinien hinzufügen, um auf andere Tools oder AWS-Services zugreifen zu können.
S3-Bucket-Richtlinienanforderung
Wenn einer der folgenden Fälle zutrifft, müssen Sie eine benutzerdefinierte IAM-Berechtigungsrichtlinie für Amazon Simple Storage Service (Amazon S3)-Buckets erstellen, bevor Sie dieses Verfahren durchführen:
-
Fall 1: Sie verwenden einen VPC-Endpunkt, um Ihre VPC privat mit unterstützten AWS-Services und VPC-Endpunkt-Services zu verbinden, die von AWS PrivateLink betrieben werden.
-
Fall 2: Sie beabsichtigen, einen Amazon-äS3-Bucket zu verwenden, den Sie als Teil Ihrer Systems-Manager-Operationen erstellen, z. B. zum Speichern der Ausgabe für Run Command-Befehle oder Session Manager-Sitzungen in einem S3-Bucket. Bevor Sie fortfahren, befolgen Sie die Schritte unter Eine benutzerdefinierte S3-Bucket-Richtlinie für ein Instance-Profil erstellen. Die Informationen über S3-Bucket-Richtlinien in diesem Thema gelten auch für Ihre Service-Rolle.
- AWS CLI
-
So erstellen Sie eine IAM-Servicerolle für eine Hybrid- und Multi-Cloud-Umgebung (AWS CLI)
Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), wenn noch nicht erfolgt.
Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.
-
Erstellen Sie eine Textdatei mit einem Namen wie z. B. SSMService-Trust.json mit der folgenden Vertrauensrichtlinie auf Ihrer lokalen Maschine. Stellen Sie sicher, dass Sie die Datei mit der Erweiterung .json speichern. Stellen Sie sicher, dass Sie Ihr AWS-Konto und die AWS-Region im ARN angeben, in dem Sie Ihre Hybrid-Aktivierung erstellt haben. Ersetzen Sie die Platzhalterwerte für Konto-ID und Region mit Ihren eigenen Informationen.
JSON
- JSON
-
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"",
"Effect":"Allow",
"Principal":{
"Service":"ssm.amazonaws.com"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"aws:SourceAccount":"123456789012"
},
"ArnEquals":{
"aws:SourceArn":"arn:aws:ssm:us-east-1:111122223333:*"
}
}
}
]
}
-
Öffnen Sie AWS CLI und führen Sie in dem Verzeichnis, in dem Sie die JSON-Datei erstellt haben, den create-role-Befehl aus, um die Servicerolle zu erstellen. In diesem Beispiel wird eine Rolle mit dem Namen SSMServiceRole erstellt. Sie können auf Wunsch einen anderen Namen wählen.
Linux & macOSWindows
- Linux & macOS
aws iam create-role \
--role-name SSMServiceRole \
--assume-role-policy-document file://SSMService-Trust.json
- Windows
aws iam create-role ^
--role-name SSMServiceRole ^
--assume-role-policy-document file://SSMService-Trust.json
-
Führen Sie den attach-role-policy-Befehl wie folgt, um es der gerade von Ihnen erstellten Servicerolle zu ermöglichen, ein Sitzungs-Token zu erstellen. Das Sitzungstoken erteilt Ihrem verwalteten Knoten die Berechtigung, Befehle mit Systems Manager auszuführen.
Die Richtlinien, die Sie für ein Serviceprofil für verwaltete Knoten in einer Hybrid- und Multi-Cloud-Umgebung hinzufügen, sind die gleichen Richtlinien, die zum Erstellen eines Instance-Profils für Amazon Elastic Compute Cloud (Amazon EC2)-Instances verwendet werden. Weitere Informationen zu den AWS-Richtlinien finden Sie unter Erforderliche Instance-Berechtigungen für Systems Manager konfigurieren.
(Erforderlich) Führen Sie den folgenden Befehl aus, um einem verwalteten Knoten die Verwendung der Kernfunktionalität des AWS Systems Manager-Services zu ermöglichen.
Linux & macOSWindows
- Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
- Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole ^
--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Wenn Sie eine benutzerdefinierte S3-Bucket-Richtlinie für Ihre Servicerolle erstellt haben, führen Sie den folgenden Befehl aus, um AWS Systems Manager Agent (SSM Agent) den Zugriff auf die Buckets zu ermöglichen, die Sie in der Richtlinie angegeben haben. Ersetzen Sie account-id und amzn-s3-demo-bucketdurch Ihre AWS-Konto-ID und Ihren Bucket-Namen.
Linux & macOSWindows
- Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::account-id:policy/amzn-s3-demo-bucket
- Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole ^
--policy-arn arn:aws:iam::account-id:policy/amzn-s3-demo-bucket
(Optional) Führen Sie den folgenden Befehl aus, um SSM Agent den Zugriff auf AWS Directory Service in Ihrem Namen für Anfragen zum Beitritt zur Domain durch den verwalteten Knoten zu gewähren. Ihre Servicerolle benötigt diese Richtlinie nur, wenn Sie Ihre Knoten mit einem Microsoft-AD-Verzeichnis verbinden.
Linux & macOSWindows
- Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
- Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole ^
--policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
(Optional) Führen Sie den folgenden Befehl aus, um die Ausführung des CloudWatch-Agenten auf Ihren verwalteten Knoten zu gewähren. Dieser Befehl ermöglicht es, Informationen auf einem Knoten zu lesen und in CloudWatch zu schreiben. Ihr Service-Profil benötigt diese Richtlinie nur, wenn Sie Services wie Amazon EventBridge oder Amazon CloudWatch Logs verwenden werden.
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
- Tools for PowerShell
-
So erstellen Sie eine IAM-Servicerolle für eine Hybrid- und Multi-Cloud-Umgebung (AWS Tools for Windows PowerShell)
Installieren und konfigurieren Sie die AWS -Tools für PowerShell (Tools für Windows PowerShell), falls Sie dies noch nicht getan haben.
Weitere Informationen finden Sie unter Installieren des AWS -Tools für PowerShell.
-
Erstellen Sie eine Textdatei mit einem Namen wie z. B. SSMService-Trust.json mit der folgenden Vertrauensrichtlinie auf Ihrer lokalen Maschine. Stellen Sie sicher, dass Sie die Datei mit der Erweiterung .json speichern. Stellen Sie sicher, dass Sie Ihr AWS-Konto und die AWS-Region im ARN angeben, in dem Sie Ihre Hybrid-Aktivierung erstellt haben.
JSON
- JSON
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "123456789012"
},
"ArnEquals": {
"aws:SourceArn": "arn:aws:ssm:us-east-1:123456789012:*"
}
}
}
]
}
-
Führen Sie PowerShell im Verwaltungsmodus aus, und führen Sie in dem Verzeichnis, in dem Sie die JSON-Datei erstellt haben, New-IAMRole wie folgt aus, um eine Servicerolle zu erstellen. In diesem Beispiel wird eine Rolle mit dem Namen SSMServiceRole erstellt. Sie können auf Wunsch einen anderen Namen wählen.
New-IAMRole `
-RoleName SSMServiceRole `
-AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
-
Verwenden Sie wie folgt Register-IAMRolePolicy, um es der von Ihnen erstellten Servicerolle zu ermöglichen, ein Sitzungstoken zu erstellen. Das Sitzungstoken erteilt Ihrem verwalteten Knoten die Berechtigung, Befehle mit Systems Manager auszuführen.
Die Richtlinien, die Sie für ein Serviceprofil für verwaltete Knoten in einer Hybrid- und Multi-Cloud-Umgebung hinzufügen, sind dieselben Richtlinien, die zum Erstellen eines Instance-Profils für EC2-Instances verwendet werden. Weitere Informationen zu den AWS-Richtlinien finden Sie unter Erforderliche Instance-Berechtigungen für Systems Manager konfigurieren.
(Erforderlich) Führen Sie den folgenden Befehl aus, um einem verwalteten Knoten die Verwendung der Kernfunktionalität des AWS Systems Manager-Services zu ermöglichen.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Wenn Sie eine benutzerdefinierte S3-Bucket-Richtlinie für Ihre Servicerolle erstellt haben, führen Sie den folgenden Befehl aus, um SSM Agent den Zugriff auf die Buckets zu ermöglichen, die Sie in der Richtlinie angegeben haben. Ersetzen Sie account-id und my-bucket-policy-name durch Ihre AWS-Konto-ID und Ihren Bucket-Namen.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::account-id:policy/my-bucket-policy-name
(Optional) Führen Sie den folgenden Befehl aus, um SSM Agent den Zugriff auf AWS Directory Service in Ihrem Namen für Anfragen zum Beitritt zur Domain durch den verwalteten Knoten zu gewähren. Ihre Servicerolle benötigt diese Richtlinie nur, wenn Sie Ihre Knoten mit einem Microsoft-AD-Verzeichnis verbinden.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
(Optional) Führen Sie den folgenden Befehl aus, um die Ausführung des CloudWatch-Agenten auf Ihren verwalteten Knoten zu gewähren. Dieser Befehl ermöglicht es, Informationen auf einem Knoten zu lesen und in CloudWatch zu schreiben. Ihr Service-Profil benötigt diese Richtlinie nur, wenn Sie Services wie Amazon EventBridge oder Amazon CloudWatch Logs verwenden werden.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Fahren Sie fort mit Eine Hybridaktivierung erstellen, um Knoten bei Systems Manager zu registrieren.