

• Das AWS Systems Manager CloudWatch Dashboard wird nach dem 30. April 2026 nicht mehr verfügbar sein. Kunden können weiterhin die CloudWatch Amazon-Konsole verwenden, um ihre CloudWatch Amazon-Dashboards anzusehen, zu erstellen und zu verwalten, so wie sie es heute tun. Weitere Informationen finden Sie in der [Amazon CloudWatch Dashboard-Dokumentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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.

# Produkt- und Service-Integrationen mit Systems Manager
<a name="integrations"></a>

AWS Systems Manager ist standardmäßig mit AWS-Services sowie andere Produkte und Services integriert. Die folgenden Informationen können Ihnen die Konfiguration von Systems Manager zum Integrieren in die von Ihnen verwendeten Produkte und Services erleichtern. 
+ [Integration mit AWS-Services](integrations-aws.md)
+  [Integration in andere Produkte und Services](integrations-partners.md)

# Integration mit AWS-Services
<a name="integrations-aws"></a>

Mithilfe von Systems Manager Manager-Befehlsdokumenten (SSM-Dokumenten) und Automation-Runbooks können Sie die Integration AWS Systems Manager mit verwenden. AWS-Services Weitere Informationen zu diesen Ressourcen finden Sie unter [AWS Systems Manager-Documents](documents.md).

Systems Manager ist in Folgendes integriert AWS-Services.

## Datenverarbeitung
<a name="integrations-aws-compute"></a>


|  |  | 
| --- |--- |
| Amazon Elastic Compute Cloud (Amazon EC2) |  [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/) stellt skalierbare Rechenkapazität in der AWS Cloud-Cloud bereit. Amazon EC2 beseitigt die Notwendigkeit, im Voraus in Hardware investieren zu müssen. Daher können Sie Anwendungen schneller entwickeln und bereitstellen. Mit Amazon EC2 können Sie so viele oder so wenige virtuelle Server starten, wie Sie benötigen, die Sicherheit und das Netzwerk konfigurieren und den Speicher verwalten. Systems Manager ermöglicht es Ihnen, mehrere Aufgaben auf EC2-Instances auszuführen. Sie können beispielsweise Ihre EC2-Instances starten, konfigurieren, verwalten, instandhalten, reparieren und eine sichere Verbindung zu Ihren EC2-Instances herstellen. Sie können Systems Manager auch verwenden, um Software bereitzustellen, den Compliance-Status zu ermitteln und Inventar aus Ihren EC2-Instances zu erfassen. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
| Amazon EC2 Auto Scaling |  [Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/) hilft Ihnen sicherzustellen, dass Sie die richtige Anzahl von EC2-Instances zur Verfügung haben, um die Auslastung Ihrer Anwendung zu bewältigen. Sie erstellen Sammlungen von EC2 Instances, die als Auto Scaling-Gruppen bezeichnet werden. Systems Manager ermöglicht es Ihnen, gängige Prozeduren wie das Patchen des Amazon Machine Image (AMI) zu automatisieren, die in Ihrer Auto Scaling-Vorlage für Ihre Auto-Scaling-Gruppe verwendet wird.  Weitere Informationen [Aktualisieren von AMIs für Auto-Scaling-Gruppen](automation-tutorial-update-patch-windows-ami-autoscaling.md)   | 
| Amazon Elastic Container Service (Amazon ECS) |  [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) ist ein hoch skalierbarer, schneller Container-Management-Service, der das Ausführen, Beenden und Verwalten von Docker-Containern in einem Cluster ermöglicht. Mit Systems Manager können Sie Container-Instance remote verwalten und sensible Daten in Ihre Container einspeisen, indem Sie Ihre sensiblen Daten in Parametern in Parameter Store speichern, ein Tool in Systems Manager, und dann in Ihrer Container-Definition darauf verweisen. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Lambda |  [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/) ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde. Systems Manager ermöglicht es Ihnen, Lambda-Funktionen in Automation-Runbook-Inhalten mithilfe der `aws:invokeLambdaFunction`-Aktion zu verwenden. Um Parameter aus Parameter Store AWS Lambda Funktionen zu verwenden, können Sie die Lambda-Erweiterung Parameters and Secrets verwenden, um Parameterwerte abzurufen und sie für die future Verwendung AWS zwischenzuspeichern.  Weitere Informationen [Aktualisieren Sie ein Golden AMI mithilfe von Automation, AWS Lambda, und Parameter Store](automation-tutorial-update-patch-golden-ami.md)  [Verwenden von Parameter Store Parametern in AWS Lambda Funktionen](ps-integration-lambda-extensions.md)  | 

## Internet of Things (IoT)
<a name="integrations-aws-IoT"></a>


|  |  | 
| --- |--- |
| AWS IoT Greengrass Kerngeräte |  [AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/) ist ein Open-Source IoT-Edge-Laufzeit- und Cloud-Service, mit dem Sie IoT-Anwendungen auf Ihren Geräten entwickeln, bereitstellen und verwalten können. Systems Manager bietet native Unterstützung für AWS IoT Greengrass Kerngeräte.   Weitere Informationen [Verwalten von Edge-Geräten mit Systems Manager](systems-manager-setting-up-edge-devices.md)   | 
| AWS IoT Kerngeräte |  [AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/)stellt die Cloud-Dienste bereit, die Ihre IoT-Geräte mit anderen Geräten und AWS Cloud-Diensten verbinden. AWS IoT bietet Gerätesoftware, mit der Sie Ihre IoT-Geräte in AWS IoT basierte Lösungen integrieren können. Wenn Ihre Geräte eine Verbindung herstellen können AWS IoT, AWS IoT können Sie sie mit den bereitgestellten Cloud-Diensten verbinden. AWS Systems Manager unterstützt AWS IoT Kerngeräte, sofern diese Geräte als *verwaltete Knoten* in einer [Hybrid- und Multi-Cloud-Umgebung](operating-systems-and-machine-types.md#supported-machine-types) konfiguriert sind.   Weitere Informationen [Verwalten von Knoten in Hybrid- und Multi-Cloud-Umgebungen mit Systems Manager](systems-manager-hybrid-multicloud.md)   | 

## Speicher
<a name="integrations-aws-productgroup"></a>


|  |  | 
| --- |--- |
| Amazon Simple Storage Service (Amazon-S3) |  Bei [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/) handelt es sich um Speicher für das Internet. Der Service ist darauf ausgelegt, Cloud Computing für Entwickler zu erleichtern. Amazon S3 besitzt eine einfache Web-Service-Schnittstelle zum Speichern und Abrufen einer beliebigen Datenmenge zu jeder Zeit und von jedem Ort im Internet aus. Mit Systems Manager können Sie Remote-Skripts und SSM-Dokumente ausführen, die in Amazon S3 gespeichert sind. Distributor, ein Tool in AWS Systems Manager, verwendet Amazon S3 zum Speichern von Paketen. Sie können auch eine Ausgabe an Amazon S3 für Run Command und Session Manager senden, Tools in AWS Systems Manager. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 

## Entwicklertools
<a name="integrations-aws-developer-tools"></a>


|  |  | 
| --- |--- |
| AWS CodeBuild |  [CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/)ist ein vollständig verwalteter Build-Service in der Cloud. CodeBuild kompiliert Ihren Quellcode, führt Komponententests durch und erzeugt Artefakte, die sofort einsatzbereit sind. CodeBuild macht die Bereitstellung, Verwaltung und Skalierung Ihrer eigenen Build-Server überflüssig. Mit Parameter Store können Sie vertrauliche Informationen für Ihre Build-Spezifikationen und Projekte speichern. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS CDK |  Das AWS Cloud Development Kit (AWS CDK) ist ein Framework für die Definition der Cloud-Infrastruktur als Code mit Programmiersprachen und deren Bereitstellung AWS CloudFormation. Application Manager ermöglicht es Ihnen, Ihre CDK-Konstrukte als Anwendungen gruppiert zu betrachten, die Anwendungsstruktur einschließlich der zugrundeliegenden Ressourcen einzusehen, Warnungen anzuzeigen, Betriebsprobleme zu untersuchen und zu beheben und Kosten in der Application Manager-Konsole zu verfolgen. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 

## Sicherheit, Identität und Compliance
<a name="integrations-aws-security-identify-compliance"></a>


|  |  | 
| --- |--- |
| AWS Identity and Access Management (IAM) |  [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/) ist ein Webservice, mit dem Sie den Zugriff auf Ressourcen sicher kontrollieren können. AWS Sie verwenden IAM, um zu steuern, wer authentifiziert (angemeldet) und autorisiert (Berechtigungen besitzt) ist, Ressourcen zu nutzen. Systems Manager ermöglicht es Ihnen, den Zugriff auf Dienste mithilfe von IAM zu steuern. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
|  AWS Secrets Manager  |  [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) bietet eine einfachere Verwaltung von Secrets. Bei den Secrets kann es sich um Datenbank-Anmeldeinformationen, Passwörter, API-Schlüssel von Drittanbietern und sogar beliebigen Text handeln. Mit Parameter Store können Sie Secrets-Manager-Geheimnisse abrufen, wenn Sie andere AWS-Services verwenden, die bereits Referenzen zu Parameter Store-Parametern unterstützen.  Weitere Informationen [Verweisen auf AWS Secrets Manager Geheimnisse aus Parametern Parameter Store](integration-ps-secretsmanager.md)   | 
| AWS Security Hub CSPM |  [Security Hub CSPM](https://docs.aws.amazon.com//securityhub/latest/userguide/what-is-securityhub.html) bietet Ihnen einen umfassenden Überblick über Ihre Sicherheitswarnungen mit hoher Priorität und den Compliance-Status in allen Bereichen. AWS-Konten Security Hub CSPM aggregiert, organisiert und priorisiert Ihre Sicherheitswarnungen oder Ergebnisse aus mehreren. AWS-Services Wenn Sie die Integration zwischen Security Hub CSPM und Security Hub CSPMPatch Manager, einem Tool in AWS Systems Manager, aktivieren, überwacht Security Hub CSPM den Patching-Status Ihrer Flotten aus Sicherheitsgründen. Details zur Patch-Konformität werden automatisch in Security Hub CSPM exportiert. Auf diese Weise können Sie mit einer einzigen Ansicht den Patch-Compliance-Status zentral überwachen und andere Sicherheitsergebnisse nachverfolgen. Sie können Benachrichtigungen erhalten, wenn Knoten in Ihrer Flotte die Patch-Konformität nicht mehr einhalten, und die Ergebnisse der Patch-Compliance in der Security Hub CSPM-Konsole überprüfen.  Sie können Security Hub CSPM auch mit Explorer undOpsCenter, Tools in integrieren. AWS Systems Manager Die Integration mit Security Hub CSPM ermöglicht es Ihnen, Ergebnisse von Security Hub CSPM in und zu erhalten. Explorer OpsCenter Die CSPM-Ergebnisse von Security Hub bieten Sicherheitsinformationen, die Sie verwenden können, OpsCenter um Ihre Sicherheits Explorer -, Leistungs- und Betriebsprobleme in zu aggregieren und Maßnahmen zu ergreifen. AWS Systems Manager Die Nutzung von Security Hub CSPM ist kostenpflichtig. Weitere Informationen finden Sie unter [Security Hub CSPM](https://aws.amazon.com/security-hub/pricing/) — Preise. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 

## Kryptografie und PKI
<a name="integrations-aws-cryptography-pki"></a>


|  |  | 
| --- |--- |
| AWS Key Management Service (AWS KMS) |  [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/) ist ein verwalteter Service, der es Ihnen ermöglicht, kundenverwaltete Schlüssel zu erstellen und zu kontrollieren, d. h. die Verschlüsselungsschlüssel, die zur Verschlüsselung Ihrer Daten verwendet werden. Mit Systems Manager können AWS KMS Sie `SecureString` Parameter erstellen und Session Manager Sitzungsdaten verschlüsseln. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 

## Verwaltung und Governance
<a name="integrations-aws-management-governance"></a>


|  |  | 
| --- |--- |
| AWS CloudFormation |  [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) ist ein Service, der die Entwicklung und Einrichtung von Amazon Web Services-Ressourcen erleichtert, sodass Sie weniger Zeit für die Verwaltung dieser Ressourcen aufwenden müssen und sich stattdessen mehr auf Ihre Anwendungen, die in AWS ausgeführt werden, konzentrieren können. Parameter Store ist eine Quelle für dynamische Referenzen. Dynamische Verweise bieten eine kompakte und leistungsstarke Möglichkeit, externe Werte anzugeben, die in anderen Diensten in Ihren CloudFormation Stack-Vorlagen gespeichert und verwaltet werden.  Weitere Informationen [Verwenden von dynamischen Referenzen zum Angeben von Vorlagenwerten](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)   | 
| AWS CloudTrail |  [CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)ist ein Programm AWS-Service , das Ihnen dabei hilft, Unternehmensführung, Compliance sowie Betriebs- und Risikoprüfungen Ihres AWS-Konto Unternehmens zu autorisieren. Von einem Benutzer, einer Rolle oder einem ausgeführte Aktionen AWS-Service werden als Ereignisse in CloudTrail aufgezeichnet. Zu den Ereignissen gehören Aktionen AWS-Managementkonsole, die in den Bereichen, AWS Command Line Interface (AWS CLI) und AWS SDKs und ausgeführt wurden APIs. Systems Manager ist integriert und erfasst CloudTrail die meisten Systems Manager Manager-API-Aufrufe als Ereignisse. Dazu gehören API-Aufrufe, die von der Systems Manager-Konsole aus initiiert werden, und Aufrufe an den Systems Manager APIs.  Weitere Informationen [AWS Systems Manager API-Aufrufe protokollieren mit AWS CloudTrail](monitoring-cloudtrail-logs.md)   | 
|  CloudWatch Amazon-Protokolle |  Mit [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/) können Sie die Protokolle all Ihrer Systeme und Anwendungen, AWS-Services die Sie verwenden, zentralisieren. Sie können sie dann anzeigen, nach bestimmten Fehlercodes oder Mustern suchen, sie anhand bestimmter Felder filtern oder sicher für zukünftige Analysen archivieren. Systems Manager unterstützt das Senden von Protokollen für die SSM AgentRun Command, und Session Manager an CloudWatch Logs. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
| Amazon EventBridge |  [EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/)liefert einen Stream von Systemereignissen nahezu in Echtzeit, der Änderungen an den Ressourcen von Amazon Web Services beschreibt. Mithilfe einfacher Regeln, die Sie schnell einrichten können, können Sie Ereignisse zuordnen und sie an eine oder mehrere Zielfunktionen oder Streams weiterleiten. EventBridge wird sich betrieblicher Änderungen bewusst, sobald sie auftreten. EventBridge reagiert auf diese betrieblichen Änderungen und ergreift gegebenenfalls Korrekturmaßnahmen. Dazu gehören das Senden von Nachrichten zur Reaktion auf die Umgebung, das Aktivieren von Funktionen und das Erfassen von Statusinformationen. Systems Manager verfügt über mehrere Ereignisse, die unterstützt werden, EventBridge sodass Sie auf der Grundlage des Inhalts dieser Ereignisse Maßnahmen ergreifen können.  Weitere Informationen [Überwachung von Systems Manager Manager-Ereignissen mit Amazon EventBridge](monitoring-eventbridge-events.md)  Amazon EventBridge ist die bevorzugte Methode, um Ihre Veranstaltungen zu verwalten. CloudWatch Events und EventBridge sind derselbe zugrunde liegende Service und dieselbe API, EventBridge bieten aber mehr Funktionen. Änderungen, die Sie in einer der beiden CloudWatch oder in jeder Konsole vornehmen, EventBridge spiegeln sich in jeder Konsole wider. Weitere Informationen finden Sie im [https://docs.aws.amazon.com/eventbridge/](https://docs.aws.amazon.com/eventbridge/).  | 
| AWS Config |  [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/)bietet einen detaillierten Überblick über die Konfiguration der AWS Ressourcen in Ihrem AWS-Konto. Dazu gehört auch, wie die Ressourcen jeweils zueinander in Beziehung stehen und wie sie konfiguriert wurden. Auf diese Weise können Sie sehen, wie sich die Konfigurationen und Beziehungen im Laufe der Zeit ändern. Systems Manager ist in integriert und bietet mehrere Regeln AWS Config, die Ihnen helfen, einen Überblick über Ihre EC2-Instances zu erhalten. Anhand dieser Regeln können Sie ermitteln, welche EC2-Instances von Systems Manager verwaltet werden, Betriebssystemkonfigurationen, Updates auf Systemebene, installierte Anwendungen, Netzwerkkonfigurationen und mehr. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Trusted Advisor |  [Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) ist ein Online-Tool, das Sie in Echtzeit dabei unterstützt, Ihre Ressourcen gemäß den bewährten Methoden von AWS bereitzustellen. Systems Manager hostet Trusted Advisor und Sie können Trusted Advisor Daten in anzeigenExplorer. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Organizations |  [Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/) ist ein Kontoverwaltungsdienst, mit dem Sie mehrere Konten zu einer Organisation AWS-Konten zusammenfassen können, die Sie erstellen und zentral verwalten. Organisationen umfasst Kontoverwaltungs- und konsolidierte Fakturierung, mit denen Sie die Budget-, Sicherheits- und Compliance-Anforderungen Ihres Unternehmens besser erfüllen können. Die Integration zwischen [Change Manager](change-manager.md), einem Tool in AWS Systems Manager, und Organizations ermöglicht die Verwendung eines delegierten Administratorkontos, um Änderungsanforderungen, Änderungsvorlagen und Genehmigungen für Ihre gesamte Organisation über dieses eine Konto zu verwalten. Organisationsintegration mit [Inventory](systems-manager-inventory.md), einem Tool in AWS Systems Manager, und [Explorer](Explorer.md)ermöglicht es Ihnen, Bestands- und Betriebsdaten (OpsData) aus mehreren AWS-Regionen und zu aggregieren AWS-Konten. Die Integration zwischenQuick Setup, einem Tool in AWS Systems Manager und Organizations automatisiert allgemeine Aufgaben zur Einrichtung von Diensten und stellt Servicekonfigurationen auf der Grundlage von Best Practices in Ihren Organisationseinheiten bereit ()OUs.  | 

## Netzwerk und Bereitstellung von Inhalten
<a name="integrations-aws-networking-content-delivery"></a>


|  |  | 
| --- |--- |
| AWS PrivateLink |  [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html)ermöglicht es Ihnen, Ihre Virtual Private Cloud (VPC) privat mit unterstützten AWS-Services und VPC-Endpunktdiensten zu verbinden, ohne dass ein Internet-Gateway, ein NAT-Gerät, eine VPN-Verbindung oder Direct Connect eine Verbindung erforderlich ist. Systems Manager unterstützt verwaltete Knoten, die eine Verbindung zu Systems Manager AWS PrivateLink herstellen, APIs indem Dies verbessert die Sicherheitslage Ihrer verwalteten Knoten, da der gesamte Netzwerkverkehr zwischen Ihren verwalteten Knoten, Systems Manager und Amazon EC2 auf das Amazon-Netzwerk AWS PrivateLink beschränkt wird. Dies bedeutet, dass verwaltete Knoten keinen Zugriff auf das Internet haben müssen.  Weitere Informationen [Verbessern Sie die Sicherheit von EC2-Instances mithilfe von VPC-Endpunkten für Systems Manager](setup-create-vpc.md)    | 

## Analysen
<a name="integrations-aws-analytics"></a>


|  |  | 
| --- |--- |
| Amazon Athena |  [Athena](https://docs.aws.amazon.com/athena/latest/ug/) ist ein interaktiver Abfrageservice, der die direkte Analyse von Daten in Amazon Simple Storage Service (Amazon S3) mit Standard-SQL ermöglicht. Mit einigen Aktionen in der AWS-Managementkonsole können Sie Athena auf Ihre in Amazon S3 gespeicherten Daten verweisen und beginnen, Standard-SQL zu verwenden, um einmalige Abfragen auszuführen und innerhalb von Sekunden Ergebnisse zu erhalten. Systems Manager Inventory ist in Athena integriert, sodass Sie Inventardaten von mehreren AWS-Regionen und AWS-Konten abfragen können. Die Athena-Integration verwendet Ressourcen-Datensynchronisierung, sodass Sie Bestandsdaten aus allen verwalteten Knoten auf der Seite **Detailed View** (Detailansicht) in der Systems-Manager-Inventory-Konsole anzeigen können. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 
| AWS Glue |  [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/) ist ein vollständig verwalteter ETL-Service (Extrahieren, Transformieren und Laden), mit dessen Hilfe einfach und wirtschaftlich Ihre Daten kategorisiert, bereinigt, erweitert und zwischen verschiedenen Datenspeichern und Datenströmen verschoben werden können.  Systems Manager wird verwendet AWS Glue , um die Inventardaten in Ihrem S3-Bucket zu crawlen.  Weitere Informationen [Abfragen von Bestandsdaten aus mehreren Regionen und Konten](systems-manager-inventory-query.md)   | 
| Amazon Quick |  [Quick](https://docs.aws.amazon.com/quicksuite/latest/userguide/what-is.html) ist ein Geschäftsanalyse-Service, mit dem Sie Visualisierungen erstellen, einmalige Analysen durchführen und geschäftliche Erkenntnisse aus Ihren Daten gewinnen können. Es kann automatisch AWS -Datenquellen erkennen und arbeitet auch mit Ihren Datenquellen. Die Ressourcen-Datensynchronisierung von Systems Manager sendet die von all Ihren verwalteten Knoten erfassten Bestandsdaten an einen einzigen S3-Bucket. Sie können Quick verwenden, um die aggregierten Daten abzufragen und zu analysieren. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 

## Anwendungsintegration
<a name="integrations-aws-application-integration"></a>


|  |  | 
| --- |--- |
| Amazon-Simple-Notification-Service (Amazon-SNS) |  [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/) ist ein Webservice, der die Zustellung oder das Senden von Nachrichten an abonnierende Endpunkte oder Clients koordiniert und verwaltet. Systems Manager generiert Status für mehrere Dienste, die von Amazon SNS-Benachrichtigungen erfasst werden können. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-aws.html)  | 

## AWS-Managementkonsole
<a name="integrations-aws-management-console"></a>


|  |  | 
| --- |--- |
| AWS -Ressourcengruppen |  [Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/) organisieren Ihre AWS Ressourcen. Ressourcengruppen vereinfachen die gleichzeitige Verwaltung, Überwachung und Automatisierung von Aufgaben für eine große Zahl von Ressourcen. Systems-Manager-Ressourcentypen wie verwaltete Knoten, SSM-Dokumente, Wartungsfenster, Parameter Store-Parameter und Patch-Baselines können Ressourcengruppen hinzugefügt werden.  Weitere Informationen [Was sind AWS -Ressourcengruppen?](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html)   | 

**Topics**
+ [Datenverarbeitung](#integrations-aws-compute)
+ [Internet of Things (IoT)](#integrations-aws-IoT)
+ [Speicher](#integrations-aws-productgroup)
+ [Entwicklertools](#integrations-aws-developer-tools)
+ [Sicherheit, Identität und Compliance](#integrations-aws-security-identify-compliance)
+ [Kryptografie und PKI](#integrations-aws-cryptography-pki)
+ [Verwaltung und Governance](#integrations-aws-management-governance)
+ [Netzwerk und Bereitstellung von Inhalten](#integrations-aws-networking-content-delivery)
+ [Analysen](#integrations-aws-analytics)
+ [Anwendungsintegration](#integrations-aws-application-integration)
+ [AWS-Managementkonsole](#integrations-aws-management-console)
+ [Ausführen von Skripts von Amazon S3](integration-s3.md)
+ [Verweisen auf AWS Secrets Manager Geheimnisse aus Parametern Parameter Store](integration-ps-secretsmanager.md)
+ [AWS KMS Verschlüsselung für Parameter Store SecureString Parameter](secure-string-parameter-kms-encryption.md)
+ [AWS Secrets Manager-Secrets in Amazon Elastic Kubernetes Service verwenden](integrate_eks.md)
+ [Verwenden von Parameter Store Parametern in AWS Lambda Funktionen](ps-integration-lambda-extensions.md)

# Ausführen von Skripts von Amazon S3
<a name="integration-s3"></a>

In diesem Abschnitt wird beschrieben, wie Skripts von Amazon Simple Storage Service (Amazon S3) heruntergeladen und ausgeführt werden. Das folgende Thema enthält Informationen und Terminologie zu Amazon S3. Weitere Informationen zu Amazon S3 finden Sie unter [Was ist Amazon S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) Sie können verschiedene Arten von Skripten ausführen, darunter Ansible Playbooks, Python, Ruby, Shell und. PowerShell 

Sie können auch ein Verzeichnis mit mehreren Skripts herunterladen. Wenn Sie das primäre Skript im Verzeichnis ausführen, werden AWS Systems Manager auch alle referenzierten Skripten ausgeführt, die im Verzeichnis enthalten sind. 

Beachten Sie die folgenden wichtigen Hinweise zum Ausführen von Skripts von Amazon S3:
+ Systems Manager prüft nicht, ob Ihr Skript auf einem Knoten ausgeführt werden kann. Stellen Sie sicher, dass die erforderliche Software auf dem Knoten installiert ist, bevor Sie das Skript herunterladen und ausführen. Sie können auch ein zusammengesetztes Dokument erstellen, das die Software mithilfe von Run Command oderState Manager, Tools in AWS Systems Manager installiert und anschließend das Skript herunterlädt und ausführt.
+ Stellen Sie sicher, dass Ihrem Benutzer, Ihrer Rolle oder Gruppe die AWS Identity and Access Management (IAM)-Berechtigungen gewährt wurden, die zum Lesen aus dem S3-Bucket erforderlich sind.
+ Stellen Sie sicher, dass das Instance-Profil auf Ihren Amazon Elastic Compute Cloud (Amazon EC2)-Instances über `s3:ListBucket` und `s3:GetObject`-Berechtigungen verfügt. Wenn das Instance-Profil nicht über diese Berechtigungen verfügt, kann das System Ihr Skript nicht aus dem S3-Bucket herunterladen. Weitere Informationen finden Sie unter [Verwenden von Instance-Profilen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) im IAM-*Benutzerhandbuch*. 

## Ausführen von Shell-Scripts von Amazon S3
<a name="integration-s3-shell"></a>

Die folgenden Informationen enthalten Verfahren, die Ihnen helfen, Skripts von Amazon Simple Storage Service (Amazon S3) entweder über die AWS Systems Manager Konsole oder die AWS Command Line Interface (AWS CLI) auszuführen. Obwohl Shell-Skripte in den Beispielen verwendet werden, können andere Arten von Skripten ersetzt werden.

### Ausführen eines Shell-Skripts von Amazon S3 (Konsole)
<a name="integration-s3-ruby-console"></a>

**Ausführen eines Shell-Skripts von Amazon S3**

1. Öffnen Sie die AWS Systems Manager Konsole unter [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Wählen Sie im Navigationsbereich **Run Command** aus.

1. Wählen Sie **Befehl ausführen** aus.

1. Wählen Sie in der Liste **Command document** (Befehlsdokument) die Option **`AWS-RunRemoteScript`** aus.

1. Führen Sie unter **Command parameters** die folgenden Schritte aus:
   + Wählen Sie unter **Source Type** die Option **S3** aus. 
   + Geben Sie im Textfeld **Source Info** die für den Zugriff auf die Quelle erforderlichen Informationen im folgenden Format an. Ersetzen Sie jeden *example resource placeholder* durch Ihre Informationen.
**Anmerkung**  
Ersetzen Sie https://s3. *aws-api-domain*mit der URL für Ihren Bucket. Sie können Ihre Bucket-URL in Amazon S3 auf der Registerkarte **Objects** (Objekte) kopieren.

     ```
     {"path":"https://s3.aws-api-domain/path to script"}
     ```

     Im Folgenden wird ein -Beispiel gezeigt.

     ```
     {"path":"https://amzn-s3-demo-bucket.s3.us-east-2.amazonaws.com/scripts/shell/helloWorld.sh"}
     ```
   + Geben Sie im Feld **Command Line** Parameter für die Skriptausführung ein. Ein Beispiel.

     ```
     helloWorld.sh argument-1 argument-2
     ```
   + (Optional) Geben Sie im Feld **Working Directory** (Arbeitsverzeichnis) den Namen eines Verzeichnisses auf dem Knoten ein, auf dem das Skript heruntergeladen und ausgeführt werden soll.
   + (Optional) Geben Sie unter **Execution Timeout** die Dauer in Sekunden an, bis das System die Skriptbefehlausführung fehlschlagen lässt. 

1. Identifizieren Sie für den Abschnitt **Targets** (Ziele) die verwalteten Knoten, auf denen Sie diese Operation ausführen möchten, indem Sie Tags angeben, Instances oder Edge-Geräte manuell auswählen oder eine Ressourcengruppe angeben.
**Tipp**  
Wenn ein verwalteter Knoten, den Sie erwarten, nicht aufgeführt ist, finden Sie weitere Informationen unter [Problembehandlung bei der Verfügbarkeit verwalteter Knoten](fleet-manager-troubleshooting-managed-nodes.md) Tipps zur Fehlerbehebung.

1. Für **Weitere Parameter**:
   + Geben Sie im Feld **Kommentar** Informationen zu diesem Befehl ein.
   + Geben Sie für **Timeout (Sekunden)** in Sekunden an, wie lange gewartet werden soll, bis für die gesamte Befehlsausführung ein Fehler auftritt. 

1. Für **Ratenregelung**:
   + Geben Sie unter **Nebenläufigkeit** entweder eine Zahl oder einen Prozentsatz der verwalteten Knoten an, auf denen der Befehl gleichzeitig ausgeführt werden soll.
**Anmerkung**  
Wenn Sie Ziele ausgewählt haben, indem Sie Tags für verwaltete Knoten oder AWS Ressourcengruppen angegeben haben und Sie sich nicht sicher sind, wie viele verwaltete Knoten das Ziel sind, schränken Sie die Anzahl der Ziele ein, die das Dokument gleichzeitig ausführen können, indem Sie einen Prozentsatz angeben.
   + Geben Sie unter **Fehlerschwellenwert** an, wann die Ausführung des Befehls auf anderen verwalteten Knoten beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Knoten ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, sendet Systems Manager keinen Befehl mehr, wenn der vierte Fehler empfangen wird. Von verwalteten Knoten, auf denen der Befehl noch verarbeitet wird, werden unter Umständen ebenfalls Fehler gesendet.

1. (Optional) Wenn Sie im Abschnitt **Ausgabeoptionen** die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen **Schreiben in einen S3-Bucket aktivieren**. Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.
**Anmerkung**  
Die S3-Berechtigungen zum Schreiben von Daten in einen S3-Bucket sind diejenigen des Instance-Profils (für EC2-Instances) oder der IAM-Servicerolle (hybrid-aktivierte Maschinen), die der Instance zugewiesen sind, und nicht diejenigen des IAM-Benutzers, der diese Aufgabe ausführt. Weitere Informationen finden Sie unter [Instance-Berechtigungen für Systems Manager konfigurieren](setup-instance-permissions.md) oder [Eine IAM-Servicerolle für eine Hybrid-Umgebung erstellen](hybrid-multicloud-service-role.md). Wenn sich der angegebene S3-Bucket in einem anderen AWS-Konto befindet, stellen Sie außerdem sicher, dass das Instance-Profil oder die IAM-Servicerolle, die dem verwalteten Knoten zugeordnet ist, über die erforderlichen Berechtigungen zum Schreiben in diesen Bucket verfügt.

1. Aktivieren Sie das Kontrollkästchen **SNS-Benachrichtigungen aktivieren** im Abschnitt **SNS-Benachrichtigungen**, wenn Sie über den Status der Befehlsausführung benachrichtigt werden möchten,

   Weitere Informationen zum Konfigurieren von Amazon-SNS-Benachrichtigungen für Run Command finden Sie unter [Überwachung von Systems Manager-Statusänderungen mit Amazon SNS-Benachrichtigungen](monitoring-sns-notifications.md).

1. Klicken Sie auf **Ausführen**.

### Ausführen eines Shell-Skripts von Amazon S3 (Befehlszeile)
<a name="integration-s3-shell-cli"></a>

1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

   Weitere Informationen finden Sie unter [Installieren oder Aktualisieren der neuesten Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Führen Sie den folgenden Befehl aus. Ersetzen Sie jeden *example resource placeholder* durch Ihre Informationen.
**Anmerkung**  
Ersetzen Sie https://s3. *aws-api-domain*/*script path*mit der URL für Ihren Bucket. Sie können Ihre Bucket-URL in Amazon S3 auf der Registerkarte **Objects** (Objekte) kopieren.

------
#### [ Linux & macOS ]

   ```
   aws ssm send-command \
       --document-name "AWS-RunRemoteScript" \
       --output-s3-bucket-name "amzn-s3-demo-bucket" \
       --output-s3-key-prefix "key-prefix" \
       --targets "Key=InstanceIds,Values=instance-id" \
       --parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/script path\"}"],"commandLine":["script name and arguments"]}'
   ```

------
#### [ Windows ]

   ```
   aws ssm send-command ^
       --document-name "AWS-RunRemoteScript" ^
       --output-s3-bucket-name "amzn-s3-demo-bucket" ^
       --output-s3-key-prefix "key-prefix" ^
       --targets "Key=InstanceIds,Values=instance-id" ^
       --parameters "sourceType"="S3",sourceInfo='{\"path\":\"https://s3.aws-api-domain/script path\"}',"commandLine"="script name and arguments"
   ```

------
#### [ PowerShell ]

   ```
   Send-SSMCommand `
       -DocumentName "AWS-RunRemoteScript" `
       -OutputS3BucketName "amzn-s3-demo-bucket" `
       -OutputS3KeyPrefix "key-prefix" `
       -Target @{Key="InstanceIds";Values=@("instance-id")} `
       -Parameter @{
           sourceType = "S3"; 
           sourceInfo = '{"path": "s3://bucket-name/path/to/script"}'; 
           commandLine = "script name and arguments"
       }
   ```

------

# Verweisen auf AWS Secrets Manager Geheimnisse aus Parametern Parameter Store
<a name="integration-ps-secretsmanager"></a>

AWS Secrets Manager hilft Ihnen dabei, wichtige Konfigurationsdaten wie Anmeldeinformationen, Passwörter und Lizenzschlüssel zu organisieren und zu verwalten. Parameter Store, ein Tool in AWS Systems Manager, ist in Secrets Manager integriert, sodass Sie Secrets Manager-Geheimnisse abrufen können, wenn Sie andere verwenden AWS-Services , die bereits Verweise auf Parameter Store Parameter unterstützen. Zu diesen Services gehören Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS),, AWS Lambda, CloudFormation AWS CodeBuild AWS CodeDeploy, und andere Systems Manager Manager-Tools. Indem Sie Parameter Store zum Verweisen auf Secrets Manager-Geheimnisse verwenden, erstellen Sie einen konsistenten und sicheren Prozess zum Aufrufen und Verwenden von Geheimnissen und zum Referenzieren von Daten in Ihrem Code und den Konfigurationsskripts. 

Weitere Informationen zu Secrets Manager finden Sie unter [Was ist AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) im *AWS Secrets Manager Benutzerhandbuch*.

## Einschränkungen
<a name="integration-ps-secretsmanager-restrictions"></a>

Beachten Sie die folgenden Einschränkungen bei der Verwendung von Parameter Store zur Referenzierung von Secrets Manager-Geheimnissen:
+ Sie können Secrets Manager Manager-Geheimnisse nur mithilfe der [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html)API-Operationen [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)und abrufen. Änderungsvorgänge und API-Operationen für erweiterte Abfragen, wie z. B. [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html)und [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html), werden für Secrets Manager nicht unterstützt.
+ Sie können die AWS Command Line Interface (AWS CLI), und die verwenden AWS Tools for Windows PowerShell, SDKs um ein Geheimnis abzurufen, indem Sie Parameter Store
+ Secrets Manager Secrets in Parameter Store müssen das Präfix `/aws/reference/secretsmanager` haben. Im Folgenden sind einige Beispiele aufgeführt:

  `/aws/reference/secretsmanager/CFCreds1`

  `/aws/reference/secretsmanager/myapp/db/password`
+ Parameter Storebeachtet AWS Identity and Access Management (IAM) -Richtlinien, die mit Secrets Manager Manager-Geheimnissen verknüpft sind. Beispiel: Wenn Benutzer 1 keinen Zugriff auf Geheimnis A hat, kann er das Geheimnis nicht mithilfe von Parameter Store abrufen.
+ Parameter, die Secrets Manager-Geheimnisse referenzieren, können die Parameter Store-Versioning- oder Verlaufsfunktionen nicht verwenden.
+ Parameter Store berücksichtigt Secrets Manager Versionsstufen. Wenn Sie eine Versionsstufe referenzieren, verwendet diese Buchstaben, Zahlen, einen Punkt (.), Bindestrich (-) oder Unterstrich (\$1). Alle anderen Symbole, die in der Versionsstufe angegeben sind, führen dazu, dass die Referenz fehlschlägt.

## Referenzieren eines Secrets Manager-Geheimnisses mit Parameter Store
<a name="integration-ps-secretsmanager-create"></a>

Das folgende Verfahren beschreibt, wie Sie mithilfe von auf ein Secrets Manager Manager-Geheimnis verweisen können Parameter Store APIs. Das Verfahren referenziert weitere Verfahren im *AWS Secrets Manager -Benutzerhandbuch*.

**Anmerkung**  
Bevor Sie beginnen, stellen Sie sicher, dass Sie über die Berechtigung zum Referenzieren von Secrets Manager-Geheimnissen in Parameter Store-Parametern verfügen. Wenn Sie über Administratorrechte in Secrets Manager und Systems Manager verfügen, können Sie mithilfe von auf Secrets verweisen oder sie abrufen Parameter Store APIs. Wenn Sie ein Secrets Manager-Geheimnis in einem Parameter Store-Parameter referenzieren und nicht über die Berechtigung für den Zugriff auf dieses Geheimnis verfügen, schlägt die Referenz fehl. Weitere Informationen finden Sie unter [Authentifizierung und Zugriffskontrolle für AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) im *AWS Secrets Manager -Benutzerhandbuch*.

**Wichtig**  
Parameter Store funktioniert als Pass-Through-Service für Verweise auf Secrets Manager-Geheimnisse. Parameter Store bewahrt keine Daten oder Metadaten über Geheimnisse auf. Die Referenz ist zustandslos.

**Referenzieren eines Secrets Manager-Geheimnisses mit Parameter Store**

1. Erstellen Sie ein Geheimnis in Secrets Manager. Weitere Informationen finden Sie unter [Secrets erstellen und verwalten mit AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html).

1. Verwenden Sie das, oder das SDK AWS CLI AWS Tools for Windows PowerShell, um auf ein Geheimnis zu verweisen. Wenn Sie ein Secrets Manager-Geheimnis referenzieren, muss der Name mit dem folgenden reservierten Pfad beginnen: `/aws/reference/secretsmanager/`. Durch die Angabe dieses Pfads wird Systems Manager mitgeteilt, das Geheimnis von Secrets Manager anstelle von Parameter Store abzurufen. Hier sind einige Beispielnamen, die korrekt auf die Geheimnisse des Secrets Managers verweisen, `CFCreds1` und `DBPass` mithilfe von Parameter Store referenzieren.
   + `/aws/reference/secretsmanager/CFCreds1`
   + `/aws/reference/secretsmanager/DBPass`

   Das folgende Java-Codebeispiel referenziert einen in Secrets Manager gespeicherten access-key und einen secret-key. In diesem Codebeispiel wird ein Amazon DynamoDB-Client eingerichtet. Der Code ruft die Konfigurationsdaten und Anmeldeinformationen von Parameter Store ab. Die Konfigurationsdaten werden als Zeichenfolgeparameter in Parameter Store und die Anmeldeinformationen in Secrets Manager gespeichert. Auch wenn die Konfigurationsdaten und Anmeldeinformationen in separaten Diensten gespeichert sind, kann auf beide Datensätze über Parameter Store mithilfe der `GetParameter`-API zugegriffen werden.

   ```
   /**
   * Initialize Systems Manager client with default credentials
   */
   AWSSimpleSystemsManagement ssm = AWSSimpleSystemsManagementClientBuilder.defaultClient();
    
   ...
    
   /**
   * Example method to launch DynamoDB client with credentials different from default
   * @return DynamoDB client
   */
   AmazonDynamoDB getDynamoDbClient() {
       //Getting AWS credentials from Secrets Manager using GetParameter
       BasicAWSCredentials differentAWSCreds = new BasicAWSCredentials(
               getParameter("/aws/reference/secretsmanager/access-key"),
               getParameter("/aws/reference/secretsmanager/secret-key"));
    
       //Initialize the DynamoDB client with different credentials
       final AmazonDynamoDB client = AmazonDynamoDBClient.builder()
               .withCredentials(new AWSStaticCredentialsProvider(differentAWSCreds))
               .withRegion(getParameter("region")) //Getting configuration from Parameter Store
               .build();
       return client;
   }
    
   /**
   * Helper method to retrieve parameter value
   * @param parameterName identifier of the parameter
   * @return decrypted parameter value
   */
   public GetParameterResult getParameter(String parameterName) {
       GetParameterRequest request = new GetParameterRequest();
       request.setName(parameterName);
       request.setWithDecryption(true);
       return ssm.newGetParameterCall().call(request).getParameter().getValue();
   }
   ```

   Hier sind einige AWS CLI Beispiele. Verwenden des `aws secretsmanager list-secrets`-Befehls, um die Namen Ihrer Geheimnisse zu finden.

   **AWS CLI Beispiel 1: Verweisen Sie mithilfe des Namens des Geheimnisses**

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter \
       --name /aws/reference/secretsmanager/s1-secret \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter ^
       --name /aws/reference/secretsmanager/s1-secret ^
       --with-decryption
   ```

------

   Der Befehl gibt Informationen wie die folgenden zurück.

   ```
   {
       "Parameter": {
           "Name": "/aws/reference/secretsmanager/s1-secret",
           "Type": "SecureString",
           "Value": "Fl*MEishm!al875",
           "Version": 0,
           "SourceResult": 
                 "{
                      \"CreatedDate\": 1526334434.743,
                      \"Name\": \"s1-secret\",
                      \"VersionId\": \"aaabbbccc-1111-222-333-123456789\",
                      \"SecretString\": \"Fl*MEishm!al875\",
                      \"VersionStages\": [\"AWSCURRENT\"],
                      \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                  }"
           "LastModifiedDate": 2018-05-14T21:47:14.743Z,
           "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                  E18LRP",
         }
   }
   ```

   **AWS CLI Beispiel 2: Referenz, die die Versions-ID enthält**

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter \
       --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter ^
       --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 ^
       --with-decryption
   ```

------

   Der Befehl gibt Informationen wie die folgenden zurück.

   ```
   {
       "Parameter": {
           "Name": "/aws/reference/secretsmanager/s1-secret",
           "Type": "SecureString",
           "Value": "Fl*MEishm!al875",
           "Version": 0,
           "SourceResult": 
                 "{
                      \"CreatedDate\": 1526334434.743,
                      \"Name\": \"s1-secret\",
                      \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                      \"SecretString\": \"Fl*MEishm!al875\",
                      \"VersionStages\": [\"AWSCURRENT\"],
                      \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                  }"
           "Selector": ":11111-aaa-bbb-ccc-123456789"
         }
           "LastModifiedDate": 2018-05-14T21:47:14.743Z,
           "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                  E18LRP",
   }
   ```

   **AWS CLI Beispiel 3: Referenz, die die Versionsphase enthält**

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter \
       --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter ^
       --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT ^
       --with-decryption
   ```

------

   Der Befehl gibt Informationen wie die folgenden zurück.

   ```
   {
       "Parameter": {
           "Name": "/aws/reference/secretsmanager/s1-secret",
           "Type": "SecureString",
           "Value": "Fl*MEishm!al875",
           "Version": 0,
           "SourceResult": 
                 "{
                      \"CreatedDate\": 1526334434.743,
                      \"Name\": \"s1-secret\",
                      \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                      \"SecretString\": \"Fl*MEishm!al875\",
                      \"VersionStages\": [\"AWSCURRENT\"],
                      \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                  }"
           "Selector": ":AWSCURRENT"
         }
         "LastModifiedDate": 2018-05-14T21:47:14.743Z,
         "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                   E18LRP",
   }
   ```

# AWS KMS Verschlüsselung für AWS Systems ManagerParameter Store SecureString Parameter
<a name="secure-string-parameter-kms-encryption"></a>

Mit können Sie [SecureString Parameter](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-parameter-store.html#what-is-a-parameter) erstellen AWS Systems Manager Parameter Store, bei denen es sich um Parameter handelt, die einen Klartext-Parameternamen und einen verschlüsselten Parameterwert haben. Parameter Storeverwendet AWS KMS , um die Parameterwerte von Parametern zu verschlüsseln und zu entschlüsseln. `SecureString`

Mit Parameter Store können Sie Daten als Parameter mit Werten erstellen, speichern und verwalten. Sie können einen Parameter in Parameter Store erstellen und in mehreren Anwendungen und Services verwenden, die den von Ihnen entworfenen Richtlinien und Berechtigungen unterliegen. Wenn Sie einen Parameterwert ändern müssen, ändern Sie eine Instance und führen keine fehleranfälligen Änderungen an verschiedenen Quellen durch. Parameter Store unterstützt eine hierarchische Struktur für Parameternamen, sodass Sie einen Parameter für spezifische Zwecke qualifizieren können. 

Um vertrauliche Daten zu verwalten, können Sie Parameter erstellen`SecureString`. Parameter Storeverwendet AWS KMS keys , um die Parameterwerte von `SecureString` Parametern zu verschlüsseln, wenn Sie sie erstellen oder ändern. Zudem werden KMS-Schlüssel zum Entschlüsseln der Parameterwerte eingesetzt, wenn Sie auf diese zugreifen. Sie können den [Von AWS verwalteter Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) verwenden, den Parameter Store für Ihr Konto erstellt, oder Ihren eigenen [kundenverwalteten Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) angeben. 

**Wichtig**  
Parameter Store unterstützt nur [symmetrische KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks). Sie können keinen [asymmetrischen KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) verwenden, um Ihre Parameter zu verschlüsseln. Hilfe zum Bestimmen, ob ein KMS-Schlüssel symmetrisch oder asymmetrisch ist, finden Sie unter [Identifizieren unterschiedlicher Schlüsseltypen](https://docs.aws.amazon.com/kms/latest/developerguide/identify-key-types.html) im *Entwicklerhandbuch für AWS Key Management Service *.

Parameter Store unterstützt zwei Stufen von `SecureString`-Parametern: *Standard* und *Erweitert*. Standard-Parameter, die 4096 Bytes nicht überschreiten können, werden direkt mit dem von Ihnen angegebenen KMS-Schlüssel verschlüsselt und entschlüsselt. Zum Verschlüsseln und Entschlüsseln erweiterten `SecureString`-Parameter verwendet Parameter Store Envelope-Verschlüsselung mit dem [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/). Es ist möglich, einen `SecureString`-Standardparameter in einen erweiterten Parameter zu konvertieren, aber nicht einen erweiterten Parameter in einen Standardparameter. Weitere Informationen zum Unterschied zwischen Standard- und erweiterten `SecureString`-Parametern finden Sie unter [Verwalten von Parameterstufen](parameter-store-advanced-parameters.md).

**Topics**
+ [Schutz von Standardparametern SecureString](#kms-encryption-securestring-standard)
+ [Schutz erweiterter Parameter SecureString](#kms-encryption-securestring-advanced)
+ [Festlegen der Berechtigungen zum Verschlüsseln und Entschlüsseln von Parameterwerten](#parameter-policy-kms-encryption)
+ [Parameter Store-Verschlüsselungskontext](#parameter-store-kms-encryption-context)
+ [Beheben von Problemen mit KMS-Schlüsseln in Parameter Store](#parameter-store-kms-cmk-troubleshooting)

## Schutz von Standardparametern SecureString
<a name="kms-encryption-securestring-standard"></a>

Parameter Store führt keine kryptografischen Operationen durch. Stattdessen nutzt es AWS KMS zur Ver- und Entschlüsselung von `SecureString`-Parameterwerten. Parameter StoreRuft den Vorgang AWS KMS [Verschlüsseln](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) auf, wenn Sie einen `SecureString` Standardparameterwert erstellen oder ändern. Diese Operation verwendet einen KMS-Schlüssel mit symmetrischer Verschlüsselung direkt zum Verschlüsseln des Parameterwerts, statt mit dem KMS-Schlüssel einen [Datenschlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/data-keys.html) zu generieren. 

Sie können den KMS-Schlüssel auswählen, den Parameter Store zum Verschlüsseln des Parameterwerts nutzt. Wenn Sie keinen KMS-Schlüssel angeben, verwendet Parameter Store den Von AWS verwalteter Schlüssel , den Systems Manager automatisch in Ihrem Konto erstellt. Der KMS-Schlüssel hat den Alias `aws/ssm`.

Verwenden Sie den [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)Vorgang in der AWS KMS API, um den `aws/ssm` Standard-KMS-Schlüssel für Ihr Konto anzuzeigen. Im folgenden Beispiel wird der `describe-key` Befehl in der AWS Command Line Interface (AWS CLI) mit dem `aws/ssm` Aliasnamen verwendet.

```
aws kms describe-key \
    --key-id alias/aws/ssm
```

Verwenden Sie den [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)Vorgang in der Systems Manager Manager-API, um einen `SecureString` Standardparameter zu erstellen. Lassen Sie den Parameter `Tier` weg oder geben Sie als Wert `Standard` ein,wobei es sich um den Standardwert handelt. Schließen Sie einen `Type`-Parameter mit einem Wert von `SecureString` ein. Nutzen Sie zum Angeben eines KMS-Schlüssels den `KeyId`-Parameter. Die Standardeinstellung ist Von AWS verwalteter Schlüssel für Ihr Konto,`aws/ssm`. 

Parameter Storeruft dann den AWS KMS `Encrypt` Vorgang mit dem KMS-Schlüssel und dem Klartext-Parameterwert auf. AWS KMS gibt den verschlüsselten Parameterwert zurück, der zusammen mit dem Parameternamen Parameter Store gespeichert wird.

Das folgende Beispiel verwendet den [Put-Parameter-Befehl](https://docs.aws.amazon.com/cli/latest/reference/ssm/put-parameter.html) von Systems Manager und seinen `--type` Parameter in, um einen `SecureString` Parameter AWS CLI zu erstellen. Da der Befehl die optionalen Parameter `--tier` und `--key-id` weglässt, erstellt Parameter Store einen `SecureString`-Standardparameter und veschlüsselt ihn unter dem Von AWS verwalteter Schlüssel.

```
aws ssm put-parameter \
    --name MyParameter \
    --value "secret_value" \
    --type SecureString
```

Im folgenden ähnlichen Beispiel wird der `--key-id`-Parameter zur Angabe eines [kundenverwalteten Schlüssels](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) verwendet. Im Beispiel wird eine KMS-Schlüssel-ID verwendet, um den KMS-Schlüssel zu identifizieren, Sie können jedoch einen beliebigen gültigen KMS-Schlüsselbezeichner verwenden. Da der Befehl den Parameter `Tier` weglässt (`--tier`), erstellt Parameter Store einen `SecureString`-Standardparameter und keinen erweiterten.

```
aws ssm put-parameter \
    --name param1 \
    --value "secret" \
    --type SecureString \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
```

Wenn Sie einen `SecureString`-Parameter von Parameter Store erhalten, ist sein Wert verschlüsselt. Verwenden Sie den [GetParameter ](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)Vorgang in der Systems Manager Manager-API, um einen Parameter abzurufen.

Im folgenden Beispiel wird der Systems Manager Manager-Befehl [get-parameter](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html) in der verwendet AWS CLI , um den `MyParameter` Parameter von abzurufen, Parameter Store ohne seinen Wert zu entschlüsseln.

```
aws ssm get-parameter --name MyParameter
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg"
    }
}
```

Zum Entschlüsseln des Parameterwerts vor der Rückgabe setzen Sie den `WithDecryption`-Parameter `GetParameter` auf `true`. Wenn Sie verwenden`WithDecryption`, Parameter Store ruft in Ihrem Namen den Vorgang AWS KMS [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) auf, um den Parameterwert zu entschlüsseln. Infolgedessen gibt die `GetParameter`-Anforderung den Parameter mit einem Klartext-Parameterwert zurück, wie im folgenden Beispiel gezeigt.

```
aws ssm get-parameter \
    --name MyParameter \
    --with-decryption
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "secret_value"
    }
}
```

Der folgende Workflow zeigt, wie Parameter Store einen KMS-Schlüssel zum Verschlüsseln und Entschlüsseln eines Standard-`SecureString`-Parameters verwendet.

### Verschlüsseln eines Standardparameters
<a name="kms-encryption-securestring-standard-encrypt"></a>

1. Wenn Sie mit `PutParameter` einen `SecureString`-Parameter erstellen, sendet Parameter Store eine `Encrypt`-Anforderung an AWS KMS. Diese Anforderung enthält den Klartext-Parameterwert, den von Ihnen ausgewählten KMS-Schlüssel und den [Parameter Store-Verschlüsselungskontext](#parameter-store-kms-encryption-context). Während der Übertragung an AWS KMS wird der Klartextwert im `SecureString` Parameter durch Transport Layer Security (TLS) geschützt.

1. AWS KMS verschlüsselt den Parameterwert mit dem angegebenen KMS-Schlüssel und Verschlüsselungskontext. Der Verschlüsselungstext wird an Parameter Store zurückgegeben. Dort werden der Parametername und der dazugehörige verschlüsselte Wert gespeichert.  
![\[Verschlüsselt einen SecureString Standardparameterwert\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/images/service-pstore-standard.png)

### Entschlüsseln eines Standardparameters
<a name="kms-encryption-securestring-standard-decrypt"></a>

1. Wenn Sie den `WithDecryption` Parameter in eine `GetParameter` Anforderung aufnehmen, Parameter Store sendet eine `Decrypt` Anfrage AWS KMS mit dem verschlüsselten `SecureString` Parameterwert und dem [Parameter StoreVerschlüsselungskontext](#parameter-store-kms-encryption-context) an.

1. AWS KMS verwendet denselben KMS-Schlüssel und den angegebenen Verschlüsselungskontext, um den verschlüsselten Wert zu entschlüsseln. Es gibt den Klartext-Parameterwert (den entschlüsselten) an Parameter Store zurück. Während der Übertragung sind die Klartextdaten durch TLS geschützt.

1. Parameter Store gibt den Klartext-Parameterwert an Sie in der `GetParameter`-Antwort zurück.

## Schutz erweiterter Parameter SecureString
<a name="kms-encryption-securestring-advanced"></a>

Wenn Sie einen erweiterten `SecureString` Parameter erstellen, Parameter Store verwendet [Envelope-Verschlüsselung](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/how-it-works.html#envelope-encryption) mit dem AWS Encryption SDK und eine symmetrische Verschlüsselung, AWS KMS key um den Parameterwert zu schützen. `PutParameter` Jeder erweiterte Parameterwert ist mit einem eindeutigen Datenschlüssel verschlüsselt, der wiederum mit einem KMS-Schlüssel verschlüsselt ist. Sie können den [Von AWS verwalteter Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) für das Konto (`aws/ssm`) oder einen beliebigen kundenverwalteten Schlüssel verwenden.

Das [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) ist eine clientseitige Open-Source-Bibliothek, mit der Sie Daten mithilfe von Branchenstandards und bewährten Methoden leichter verschlüsseln und entschlüsseln können. Sie wird auf mehreren Plattformen und in mehreren Programmiersprachen, einschließlich einer Befehlszeilenschnittstelle, unterstützt. In können Sie sich den Quellcode ansehen und zu seiner Entwicklung beitragen. GitHub 

Parameter StoreRuft für jeden `SecureString` Parameterwert die auf, AWS Encryption SDK um den Parameterwert mithilfe eines eindeutigen Datenschlüssels zu verschlüsseln, der AWS KMS generiert ([GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)). Das AWS Encryption SDK kehrt zu Parameter Store einer [verschlüsselten Nachricht](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#message) zurück, die den verschlüsselten Parameterwert und eine verschlüsselte Kopie des eindeutigen Datenschlüssels enthält. Parameter Storespeichert die gesamte verschlüsselte Nachricht im `SecureString` Parameterwert. Wenn Sie dann einen erweiterten `SecureString` Parameterwert erhalten, Parameter Store verwendet den, AWS Encryption SDK um den Parameterwert zu entschlüsseln. Dazu ist ein Aufruf von erforderlich, AWS KMS um den verschlüsselten Datenschlüssel zu entschlüsseln.

Verwenden Sie den [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)Vorgang in der Systems Manager Manager-API, um einen erweiterten `SecureString` Parameter zu erstellen. Stellen Sie den Wert des Parameters `Tier` auf `Advanced` ein. Schließen Sie einen `Type`-Parameter mit einem Wert von `SecureString` ein. Nutzen Sie zum Angeben eines KMS-Schlüssels den `KeyId`-Parameter. Die Standardeinstellung ist Von AWS verwalteter Schlüssel für Ihr Konto,`aws/ssm`. 

```
aws ssm put-parameter \
    --name MyParameter \
    --value "secret_value" \
    --type SecureString \
    --tier Advanced
```

Im folgenden ähnlichen Beispiel wird der `--key-id`-Parameter zur Angabe eines [kundenverwalteten KMS-Schlüssels](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) verwendet. Das Beispiel verwendet den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels, aber Sie können jeden gültigen KMS-Schlüsselbezeichner angeben. 

```
aws ssm put-parameter \
    --name MyParameter \
    --value "secret_value" \
    --type SecureString \
    --tier Advanced \
    --key-id arn:aws:kms:us-east-2:987654321098:key/1234abcd-12ab-34cd-56ef-1234567890ab
```

Wenn Sie einen `SecureString` Parameter von abrufenParameter Store, entspricht sein Wert der verschlüsselten Nachricht, die AWS Encryption SDK zurückgegeben wurde. Verwenden Sie den [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)Vorgang in der Systems Manager Manager-API, um einen Parameter abzurufen.

Das folgende Beispiel verwendet die Systems-Manager-Operation `GetParameter` zum Anfordern des `MyParameter`-Parameters von Parameter Store, ohne dessen Wert zu entschlüsseln.

```
aws ssm get-parameter --name MyParameter
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg"
    }
}
```

Zum Entschlüsseln des Parameterwerts vor der Rückgabe setzen Sie den `WithDecryption`-Parameter `GetParameter` auf `true`. Wenn Sie verwenden`WithDecryption`, Parameter Store ruft in Ihrem Namen den Vorgang AWS KMS [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) auf, um den Parameterwert zu entschlüsseln. Infolgedessen gibt die `GetParameter`-Anforderung den Parameter mit einem Klartext-Parameterwert zurück, wie im folgenden Beispiel gezeigt.

```
aws ssm get-parameter \
    --name MyParameter \
    --with-decryption
```

```
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "secret_value"
    }
}
```

Es ist nicht möglich, einen erweiterten `SecureString`-Parameter in einen erweiterten Standardparameter zu konvertieren, aber es ist möglich einen `SecureString`-Standardparameter in einen erweiterten Parameter zu konvertieren. Um einen `SecureString`-Standardparameter in einen erweiterten `SecureString`-Parameter zu konvertieren, verwenden Sie die Operation `PutParameter` mit dem Parameter `Overwrite`. `Type` muss den Wert `SecureString` und `Tier` muss den Wert `Advanced` haben. Der `KeyId`-Parameter, der einen kundenverwalteten Schlüssel identifiziert, ist optional. Wenn Sie es weglassen, Parameter Store verwendet das Von AWS verwalteter Schlüssel für das Konto. Sie können jeden KMS-Schlüssel angeben, den der Prinzipal verwenden darf, selbst wenn der Standardparameter von Ihnen mit einem anderen KMS-Schlüssel verschlüsselt wurde.

Wenn Sie den Parameter `Overwrite` verwenden, verschlüsselt Parameter Store den Parameterwert mithilfe des AWS Encryption SDK . Anschließend wird die neu verschlüsselte Nachricht in Parameter Store gespeichert.

```
aws ssm put-parameter \
    --name myStdParameter \
    --value "secret_value"  \
    --type SecureString \
    --tier Advanced \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --overwrite
```

Der folgende Workflow zeigt, wie Parameter Store einen KMS-Schlüssel zum Verschlüsseln und Entschlüsseln eines erweiterten `SecureString`-Parameters verwendet.

### Verschlüsseln eines erweiterten Parameters
<a name="kms-encryption-securestring-advanced-encrypt"></a>

1. Wenn Sie einen erweiterten `SecureString` Parameter erstellen, Parameter Store verwendet das AWS Encryption SDK und, um den Parameterwert AWS KMS zu verschlüsseln. `PutParameter` Parameter Storeruft den AWS Encryption SDK mit dem Parameterwert, dem von Ihnen angegebenen KMS-Schlüssel und dem [Parameter StoreVerschlüsselungskontext](#parameter-store-kms-encryption-context) auf.

1. Der AWS Encryption SDK sendet eine [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)Anfrage AWS KMS mit der ID des von Ihnen angegebenen KMS-Schlüssels und dem Parameter Store Verschlüsselungskontext an. AWS KMS gibt zwei Kopien des eindeutigen Datenschlüssels zurück: eine im Klartext und eine mit dem KMS-Schlüssel verschlüsselte Kopie. (Der Verschlüsselungskontext wird beim Verschlüsseln des Datenschlüssels verwendet.)

1. Der AWS Encryption SDK verwendet den Klartext-Datenschlüssel, um den Parameterwert zu verschlüsseln. Es wird eine [verschlüsselte Nachricht](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#message) mit dem verschlüsselten Parameterwert, dem verschlüsselten Datenschlüssel und anderen Daten, einschließlich des Parameter Store-Verschlüsselungskontextes, zurückgegeben.

1. Parameter Store speichert die verschlüsselte Nachricht als Parameterwert.  
![\[Verschlüsseln eines erweiterten Parameterwerts SecureString\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/images/service-pstore-advanced.png)

### Entschlüsseln eines erweiterten Parameters
<a name="kms-encryption-securestring-advanced-decrypt"></a>

1. Sie können den `WithDecryption`-Parameter in eine `GetParameter`-Anforderung einschließen, um einen erweiterten `SecureString`-Parameter zu erhalten. In diesem Fall übergibt Parameter Store die [verschlüsselte Nachricht](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#message) aus dem Parameterwert an eine Entschlüsselungsmethode des AWS Encryption SDK.

1. Der AWS Encryption SDK ruft den AWS KMS [Decrypt-Vorgang auf.](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) Sie übergibt den verschlüsselten Datenschlüssel und den Parameter Store-Verschlüsselungskontext aus der verschlüsselten Nachricht.

1. AWS KMS verwendet den KMS-Schlüssel und den Parameter Store Verschlüsselungskontext, um den verschlüsselten Datenschlüssel zu entschlüsseln. Anschließend gibt die Operation den Klartext-Datenschlüssel (entschlüsselt) an das AWS Encryption SDK zurück.

1. Der AWS Encryption SDK verwendet den Klartext-Datenschlüssel, um den Parameterwert zu entschlüsseln. Der Klartext-Parameterwert wird an Parameter Store zurückgegeben. 

1. Parameter Store überprüft den Verschlüsselungskontext und gibt den Klartext-Parameterwert in der `GetParameter`-Antwort an Sie zurück.

## Festlegen der Berechtigungen zum Verschlüsseln und Entschlüsseln von Parameterwerten
<a name="parameter-policy-kms-encryption"></a>

Zum Verschlüsseln eines `SecureString`-Standardparameterwerts benötigt der Benutzer die Berechtigung `kms:Encrypt`. Zum Verschlüsseln eines erweiterten `SecureString`-Parameterwerts benötigt der Benutzer die Berechtigung `kms:GenerateDataKey`. Zum Entschlüsseln des `SecureString`-Parameterwerts beider Typen benötigt der Benutzer die Berechtigung `kms:Decrypt`. 

Sie können AWS Identity and Access Management (IAM) -Richtlinien verwenden, um einem Benutzer die Erlaubnis zu gewähren oder zu verweigern, den Systems Manager `PutParameter` und `GetParameter` Operations aufzurufen.

Wenn Sie Ihre sicheren `SecureString`-Parameterwerte mit benutzerverwalteten Schlüsseln verschlüsseln, können Sie zum Verwalten der Verschlüsselungs- und Entschlüsselungs-Berechtigungen IAM-Richtlinien und Schlüsselrichtlinien verwenden. Sie können jedoch keine Zugriffssteuerungs-Richtlinien für den standardmäßigen `aws/ssm`-KMS-Schlüssel einrichten. Ausführliche Informationen zur Steuerung des Zugriffs auf vom Kunden verwaltete Schlüssel finden Sie unter [KMS-Schlüsselzugriff und -Berechtigungen](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html) im *AWS Key Management Service -Entwicklerhandbuch*.

Das folgende Beispiel zeigt eine IAM-Richtlinie, die für `SecureString`-Standard-Parameter bestimmt ist. Sie ermöglicht dem Benutzer den Aufruf der Systems-Manager-Operation `PutParameter` für alle Parameter im Pfad `FinancialParameters`. Die Richtlinie ermöglicht es dem Benutzer auch, den AWS KMS `Encrypt` Vorgang mit einem vom Kunden verwalteten Beispielschlüssel aufzurufen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/FinancialParameters/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ]
}
```

------

Das folgende Beispiel zeigt eine IAM-Richtlinie an, die für erweiterte `SecureString`-Parameter bestimmt ist. Sie ermöglicht dem Benutzer den Aufruf der Systems-Manager-Operation `PutParameter` für alle Parameter im Pfad `ReservedParameters`. Die Richtlinie ermöglicht es dem Benutzer auch, den AWS KMS `GenerateDataKey` Vorgang mit einem vom Kunden verwalteten Beispielschlüssel aufzurufen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/ReservedParameters/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id"
        }
    ]
}
```

------

Das letzte Beispiel zeigt eine IAM-Richtlinie, die für standardmäßige oder erweiterte `SecureString`-Parameter verwendet werden kann. Sie ermöglicht dem Benutzer den Aufruf der Systems-Manager-Operation `GetParameter` (und verwandte Operationen) für alle Parameter im Pfad `ITParameters`. Die Richtlinie ermöglicht es dem Benutzer auch, den AWS KMS `Decrypt` Vorgang mit einem vom Kunden verwalteten Beispielschlüssel aufzurufen.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/ITParameters/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ]
}
```

------

## Parameter Store-Verschlüsselungskontext
<a name="parameter-store-kms-encryption-context"></a>

Ein *Verschlüsselungskontext* ist eine Gruppe von Schlüssel/Wert-Paaren mit willkürlichen, nicht geheimen Daten. Wenn Sie einen Verschlüsselungskontext in eine Anfrage zur Datenverschlüsselung aufnehmen, wird der Verschlüsselungskontext AWS KMS kryptografisch an die verschlüsselten Daten gebunden. Zur Entschlüsselung der Daten müssen Sie denselben Verschlüsselungskontext übergeben. 

Sie können den Verschlüsselungskontext auch nutzen, um eine kryptografische Operation in Audit-Datensätzen und -Protokollen zu identifizieren. Die Verschlüsselungskontext wird in Klartext-Protokollen wie [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) angezeigt. 

Der benötigt AWS Encryption SDK ebenfalls einen Verschlüsselungskontext, der jedoch unterschiedlich behandelt wird. Parameter Storestellt den Verschlüsselungskontext für die Verschlüsselungsmethode bereit. Das bindet den Verschlüsselungskontext AWS Encryption SDK kryptografisch an die verschlüsselten Daten. Es schließt den Verschlüsselungskontext als Klartext im Header der von ihm zurückgegebenen verschlüsselten Nachricht ein. Im Gegensatz AWS KMS dazu verwenden die AWS Encryption SDK Entschlüsselungsmethoden jedoch keinen Verschlüsselungskontext als Eingabe. Stattdessen wird beim Entschlüsseln von Daten der Verschlüsselungskontext aus der verschlüsselten Nachricht AWS Encryption SDK abgerufen. Parameter Storeüberprüft, ob der Verschlüsselungskontext den erwarteten Wert enthält, bevor der Klartext-Parameterwert an Sie zurückgegeben wird. 

Parameter Store verwendet den folgenden Verschlüsselungskontext in seinen kryptografischen Operationen:
+ Schlüssel: `PARAMETER_ARN`
+ Wert: Der Amazon-Ressourcenname (ARN) des Parameters, der verschlüsselt wird. 

Das Format des Verschlüsselungskontexts sieht wie folgt aus:

```
"PARAMETER_ARN":"arn:aws:ssm:region-id:account-id:parameter/parameter-name"
```

Parameter StoreSchließt diesen Verschlüsselungskontext beispielsweise in Aufrufe zum Verschlüsseln und Entschlüsseln des `MyParameter` Parameters in einem Beispiel und einer Region ein. AWS-Konto 

```
"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/MyParameter"
```

Befindet sich der Parameter in einem hierarchischen Parameter Store-Pfad, sind sowohl der Pfad als auch der Name im Verschlüsselungskontext enthalten. Dieser Verschlüsselungskontext wird beispielsweise beim Verschlüsseln und Entschlüsseln des `MyParameter` Parameters im `/ReadableParameters` Pfad in einem Beispiel und einer Region verwendet. AWS-Konto 

```
"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/ReadableParameters/MyParameter"
```

Sie können einen verschlüsselten `SecureString` Parameterwert entschlüsseln, indem Sie den AWS KMS `Decrypt` Vorgang mit dem richtigen Verschlüsselungskontext und dem verschlüsselten Parameterwert aufrufen, den der Systems Manager `GetParameter` Manager-Vorgang zurückgibt. Wir empfehlen jedoch, die Parameter Store-Parameterwerte mithilfe der `GetParameter`-Operation mit dem Parameter `WithDecryption` zu entschlüsseln. 

Sie können den Verschlüsselungskontext auch in eine IAM-Richtlinie einschließen. So können Sie einen Benutzer beispielsweise nur dazu berechtigen, einen bestimmten Parameterwert oder eine bestimmte Gruppe von Parameterwerten zu entschlüsseln.

Das folgende Beispiel einer IAM-Richtlinie erlaubt es dem Benutzer, den Wert des `MyParameter`-Parameters abzurufen und den Wert mit dem angegebenen KMS-Schlüssel zu entschlüsseln. Diese Berechtigungen gelten jedoch nur, wenn der Verschlüsselungskontext mit der angegebenen Zeichenfolge übereinstimmt. Diese Berechtigungen gelten nicht für andere Parameter oder KMS-Schlüssel und der Aufruf an `GetParameter` schlägt fehl, wenn der Verschlüsselungskontext nicht mit der Zeichenfolge übereinstimmt.

Bevor Sie eine Richtlinienaussage wie diese verwenden, ersetzen Sie die *example ARNs* durch gültige Werte.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/MyParameter"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:PARAMETER_ARN":"arn:aws:ssm:us-east-1:111122223333:parameter/MyParameter"
                }
            }
        }
    ]
}
```

------

## Beheben von Problemen mit KMS-Schlüsseln in Parameter Store
<a name="parameter-store-kms-cmk-troubleshooting"></a>

Um eine Operation mit einem `SecureString` Parameter ausführen zu können, Parameter Store müssen Sie in der Lage sein, den AWS KMS KMS-Schlüssel zu verwenden, den Sie für den gewünschten Vorgang angeben. Die meisten Parameter Store-Fehler im Zusammenhang mit KMS-Schlüsseln treten aus folgenden Gründen auf:
+ Die Anmeldeinformationen, die eine Anwendung verwendet, sind nicht berechtigt, eine bestimmte Aktion mit einem KMS-Schlüssel durchzuführen. 

  Zur Behebung dieses Problems führen Sie die Anwendung mit anderen Anmeldeinformationen aus oder ändern die IAM- oder Schlüssel-Richtlinie, die diese Operation verhindert. Hilfe zu AWS KMS IAM und wichtigen Richtlinien finden Sie unter [KMS-Schlüsselzugriff und -berechtigungen](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html) im *AWS Key Management Service Entwicklerhandbuch*.
+ Der KMS-Schlüssel wurde nicht gefunden. 

  Dies geschieht in der Regel, wenn Sie einen falschen Bezeichner für den KMS-Schlüssel verwenden. [Finden Sie die richtigen Bezeichner](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) für den KMS-Schlüssel und wiederholen Sie den Befehl. 
+ Der KMS-Schlüssel ist nicht aktiviert. In diesem Fall wird eine InvalidKeyIdAusnahme mit einer ausführlichen Fehlermeldung von Parameter Store AWS KMS zurückgegeben. Wenn der Schlüsselstatus des KMS-Schlüssels `Disabled` lautet, [aktivieren Sie ihn](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html). Wenn der Status `Pending Import` lautet, führen Sie das [Importverfahren](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) durch. Lautet der Schlüsselstatus `Pending Deletion`, [brechen Sie die Schlüssellöschung ab](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-scheduling-key-deletion.html) oder verwenden Sie einen anderen KMS-Schlüssel.

  Verwenden Sie den [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)Vorgang, um den [Schlüsselstatus](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) eines KMS-Schlüssels zu ermitteln. 

# Verwenden von Parameter Store-Parametern in Amazon Elastic Kubernetes Service
<a name="integrate_eks"></a>

Um Parameter aus Parameter Store, einem Tool in AWS Systems Manager, als in Amazon-EKS-Pods bereitgestellte Dateien anzuzeigen, können Sie AWS Secrets and Configuration Provider (ASCP) für die Kubernetes-Secrets-Store-CSI-Treiber verwenden. ASCP funktioniert mit Amazon Elastic Kubernetes Service 1.17\$1, der eine Knotengruppe von Amazon EC2 ausführt. Knotengruppen von AWS Fargate werden nicht unterstützt. 

Mit ASCP können Sie Ihre Parameter in Parameter Store speichern und verwalten und sie dann über Ihre auf Amazon EKS ausgeführten Workloads abrufen. Wenn ein Parameter mehrere Schlüssel-Wert-Paare im JSON-Format enthält, können Sie auswählen, welche davon in Amazon EKS bereitgestellt werden sollen. ASCP verwendet JMESPath-Syntax, um die Schlüssel-Wert-Paare in Ihrem Secret abzufragen. ASCP funktioniert auch mit AWS Secrets Manager-Secrets.

ASCP bietet zwei Authentifizierungsmethoden mit Amazon EKS. Der erste Ansatz verwendet IAM Roles for Service Accounts (IRSA). Der zweite Ansatz verwendet Pod Identities. Jeder Ansatz hat eigene Vorteile und Anwendungsfälle.

## ASCP mit IAM Roles for Service Accounts (IRSA)
<a name="csi_driver_overview"></a>

ASCP mit IAM Roles for Service Accounts (IRSA) ermöglicht Ihnen, Parameter aus Parameter Store als Dateien in Ihren Amazon-EKS-Pods zu mounten. Dieser Ansatz ist für folgende Szenarien geeignet:
+ Sie müssen Parameter als Dateien in Ihren Pods mounten.
+ Sie verwenden Amazon-EKS-Version 1.17 oder höher mit Amazon-EC2-Knotengruppen.
+ Sie möchten bestimmte Schlüssel-Wert-Paare aus JSON-formatierten Parametern abrufen.

Weitere Informationen finden Sie unter [Verwenden Sie AWS Secrets and Configuration Provider CSI mit IAM-Rollen für Dienstkonten (IRSA)](integrating_ascp_irsa.md).

## ASCP mit Pod Identity
<a name="pod_identity_overview"></a>

ASCP mit Pod Identity erhöht die Sicherheit und vereinfacht die Konfiguration für den Zugriff auf Parameter in Parameter Store. Dieser Ansatz bietet Vorteile in folgenden Szenarien:
+ Sie benötigen eine detailliertere Berechtigungsverwaltung auf Pod-Ebene.
+ Sie verwenden Amazon-EKS-Version 1.24 oder höher.
+ Sie benötigen eine höhere Leistung und Skalierbarkeit.

Weitere Informationen finden Sie unter [Verwenden Sie AWS Secrets and Configuration Provider CSI mit Pod Identity für Amazon EKS](ascp-pod-identity-integration.md).

## Den richtigen Ansatz wählen
<a name="comparison"></a>

Bei der Entscheidung zwischen ASCP mit IRSA und ASCP mit Pod Identity sollten Sie die folgenden Faktoren berücksichtigen:
+ Amazon-EKS-Version: Pod Identity erfordert Amazon EKS 1.24\$1, während der CSI-Treiber mit Amazon EKS 1.17\$1 funktioniert.
+ Sicherheitsanforderungen: Pod Identity bietet eine detailliertere Kontrolle auf Pod-Ebene.
+ Leistung: Pod Identity schneidet in umfassenden Umgebungen im Allgemeinen besser ab.
+ Komplexität: Pod Identity vereinfacht die Einrichtung, da keine separaten Servicekonten erforderlich sind.

Wählen Sie die Methode, die am besten zu Ihren spezifischen Anforderungen und Ihrer Amazon-EKS-Umgebung passt.

# Installieren von ASCP für Amazon EKS
<a name="ascp-eks-installation"></a>

In diesem Abschnitt wird erklärt, wie Sie den AWS Secrets and Configuration Provider für Amazon EKS installieren. Mit ASCP können Sie Parameter Parameter Store und Geheimnisse aus Dateien in Amazon AWS Secrets Manager EKS-Pods mounten.

## Voraussetzungen
<a name="prerequisites"></a>
+ Ein Amazon-EKS-Cluster
  + Version 1.24 oder höher für Pod Identity
  + Version 1.17 oder höher für IRSA
+ Das AWS CLI installierte und konfigurierte
+ kubectl, für Ihren Amazon-EKS-Cluster installiert und konfiguriert
+ Helm (Version 3.0 oder höher)

## Installieren und Konfigurieren von ASCP
<a name="integrating_csi_driver_install"></a>

Das ASCP ist GitHub im [secrets-store-csi-provider-aws-Repository verfügbar.](https://github.com/aws/secrets-store-csi-driver-provider-aws) Das Repository enthält auch YAML-Beispieldateien zum Erstellen und Mounten eines Secrets durch das Ändern des `objectType`-Werts von `secretsmanager` zu `ssmparameter`. 

Während der Installation können Sie festlegen, dass ASCP einen FIPS-Endpunkt verwenden soll. Eine Liste von Systems-Manager-Endpunkten finden Sie im *Allgemeine Amazon Web Services-Referenz* unter [Systems-Manager-Serviceendpunkte](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region).

**Installieren Sie ASCP mit Helm wie folgt:**

1. Um sicherzustellen, dass das Repository auf die neuesten Diagramme verweist, verwenden Sie `helm repo update.`.

1. Fügen Sie das Diagramm zum Secrets-Store-CSI-Treiber hinzu. 

   ```
   helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
   ```

1. Installieren Sie das Diagramm. Um die Drosselung zu konfigurieren, fügen Sie das folgende Flag hinzu: `--set-json 'k8sThrottlingParams={"qps": "number of queries per second", "burst": "number of queries per second"}'`.

   ```
   helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
   ```

1. Fügen Sie das ASCP-Diagramm hinzu.

   ```
   helm repo add aws-secrets-manager https://aws.github.io/secrets-store-csi-driver-provider-aws
   ```

1. Installieren Sie das Diagramm. Um einen FIPS-Endpunkt zu verwenden, fügen Sie das folgende Flag hinzu: `--set useFipsEndpoint=true`.

   ```
   helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws
   ```

**Installieren Sie ASCP mit YAML im Repository wie folgt:**
+ Verwenden Sie die folgenden Befehle.

  ```
  helm repo add secrets-store-csi-driver https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts
  helm install -n kube-system csi-secrets-store secrets-store-csi-driver/secrets-store-csi-driver
  kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/deployment/aws-provider-installer.yaml
  ```

## Überprüfen der Installationen
<a name="verify-ascp-installations"></a>

Gehen Sie folgendermaßen vor, um die Installationen Ihres EKS-Clusters, des Secrets Store CSI-Treibers und des ASCP-Plug-ins zu überprüfen:

1. Den EKS-Cluster überprüfen:

   ```
   eksctl get cluster --name clusterName
   ```

   Dieser Befehl muss Informationen zu Ihrem Cluster zurückgeben.

1. Die Secrets-Store-CSI-Treiberinstallation überprüfen:

   ```
   kubectl get pods -n kube-system -l app=secrets-store-csi-driver
   ```

   Sie sollten ausgeführte Pods mit Namen wie `csi-secrets-store-secrets-store-csi-driver-xxx` sehen.

1. Die ASCP-Plugin-Installation überprüfen:

------
#### [ YAML installation ]

   ```
   $ kubectl get pods -n kube-system -l app=csi-secrets-store-provider-aws
   ```

   Beispielausgabe:

   ```
   NAME                                     READY   STATUS    RESTARTS   AGE
   csi-secrets-store-provider-aws-12345      1/1     Running   0          2m
   ```

------
#### [ Helm installation ]

   ```
   $  kubectl get pods -n kube-system -l app=secrets-store-csi-driver-provider-aws
   ```

   Beispielausgabe:

   ```
   NAME                                              READY   STATUS    RESTARTS   AGE
   secrets-provider-aws-secrets-store-csi-driver-provider-67890       1/1     Running   0          2m
   ```

------

   Sie sollten Pods im Status `Running` sehen.

Wenn nach dem Ausführen dieser Befehle alles korrekt eingerichtet ist, sollten alle Komponenten fehlerfrei ausgeführt werden. Wenn Sie auf Probleme stoßen, müssen Sie diese möglicherweise beheben, indem Sie die Protokolle der jeweiligen Pods überprüfen, bei denen Probleme auftreten.

## Fehlerbehebung
<a name="troubleshooting"></a>

1. Führen Sie folgenden Befehl aus, um die Protokolle des ASCP-Anbieters zu überprüfen:

   ```
   kubectl logs -n kube-system -l app=csi-secrets-store-provider-aws
   ```

1. Überprüfen Sie den Status aller Pods im `kube-system` Namespace.

   Ersetzen Sie das *default placeholder text* durch Ihre eigene Pod-ID:

   ```
   kubectl -n kube-system get pods
   ```

   ```
   kubectl -n kube-system logs pod/pod-id
   ```

   Alle Pods, die sich auf den CSI-Treiber und ASCP beziehen, sollten sich im Status „In Ausführung“ befinden.

1. Die Version des CSI-Treibers überprüfen:

   ```
   kubectl get csidriver secrets-store.csi.k8s.io -o yaml
   ```

   Dieser Befehl muss Informationen zu dem installierten CSI-Treiber zurückgeben.

## Weitere Ressourcen
<a name="additional-resources"></a>

Weitere Informationen zur Verwendung von ASCP mit Amazon EKS finden Sie in den folgenden Ressourcen:
+ [Verwenden von Pod Identity mit Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [AWS Secrets Store CSI-Treiber aktiviert GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)

# Verwenden Sie AWS Secrets and Configuration Provider CSI mit Pod Identity für Amazon EKS
<a name="ascp-pod-identity-integration"></a>

Die AWS Secrets and Configuration Provider-Integration mit dem Pod Identity Agent für Amazon Elastic Kubernetes Service bietet verbesserte Sicherheit, vereinfachte Konfiguration und verbesserte Leistung für Anwendungen, die auf Amazon EKS ausgeführt werden. Pod Identity vereinfacht die AWS Identity and Access Management (IAM) -Authentifizierung für Amazon EKS beim Abrufen von Parametern AWS Systems Manager Parameter Store oder Geheimnissen aus Secrets Manager.

Amazon EKS Pod Identity optimiert die Konfiguration von IAM-Berechtigungen für Kubernetes-Anwendungen, da Berechtigungen direkt über Amazon-EKS-Schnittstellen eingerichtet werden können. Das reduziert die Anzahl der Schritte und der Wechsel zwischen Amazon EKS und IAM-Services entfällt. Pod Identity ermöglicht die Verwendung einer einzigen IAM-Rolle in mehreren Clustern, ohne dass die Vertrauensrichtlinien aktualisiert werden müssen, und unterstützt [Rollensitzungs-Tags](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-abac.html#pod-id-abac-tags) für eine detailliertere Zugriffskontrolle. Dieser Ansatz vereinfacht nicht nur die Richtlinienverwaltung, indem er die rollenübergreifende Wiederverwendung von Berechtigungsrichtlinien ermöglicht, sondern erhöht auch die Sicherheit, indem der Zugriff auf AWS Ressourcen auf der Grundlage übereinstimmender Tags ermöglicht wird.

## Funktionsweise
<a name="how-it-works"></a>

1. Pod Identity weist dem Pod eine IAM-Rolle zu.

1. ASCP verwendet diese Rolle zur Authentifizierung bei. AWS-Services

1. Wenn ASCP entsprechend autorisiert ist, ruft es die angeforderten Parameter ab und stellt sie dem Pod zur Verfügung.

Weitere Informationen finden Sie im *Benutzerhandbuch für Amazon EKS* unter [Funktionsweise von Amazon EKS Pod Identity](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-how-it-works.html).

## Voraussetzungen
<a name="prerequisites"></a>

**Wichtig**  
Pod Identity wird nur für Amazon EKS in der Cloud unterstützt. Es wird nicht für [Amazon EKS Anywhere](https://aws.amazon.com/eks/eks-anywhere/), [Red Hat OpenShift Service in AWS](https://aws.amazon.com/rosa/) oder selbstverwaltete Kubernetes-Cluster auf Amazon-EC2-Instances unterstützt.
+ Amazon-EKS-Cluster (Version 1.24 oder höher)
+ Zugriff auf AWS CLI einen Amazon EKS-Cluster über `kubectl`
+ (Optional) Zugriff auf zwei AWS-Konten für kontoübergreifenden Zugriff

## Installieren des Pod-Identity-Agents für Amazon EKS
<a name="install-pod-identity-agent"></a>

Um Pod Identity in Ihrem Cluster zu verwenden, müssen Sie das Add-on „Amazon EKS Pod Identity Agent“ installieren.

**Installieren des Pod-Identity-Agents**
+ Installieren Sie das Add-on „Pod-Identity-Agent“ in Ihrem Cluster.

  Ersetzen Sie die *default placeholder text * durch Ihre eigenen Werte:

  ```
  eksctl create addon \
    --name eks-pod-identity-agent \
    --cluster clusterName \
    --region region
  ```

## Einrichten von ASCP mit Pod Identity
<a name="pod-identity-setup"></a>

1. Erstellen Sie eine Berechtigungsrichtlinie, die den Parametern, auf die der Pod zugreifen muss, die Berechtigungen `ssm:GetParameters` und `ssm:DescribeParameters` gewährt. 

1. Erstellen Sie eine IAM-Rolle, die vom Amazon-EKS-Service-Prinzipalen für Pod Identity übernommen werden kann:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Service": "pods.eks.amazonaws.com"
           },
           "Action": [
             "sts:AssumeRole",
             "sts:TagSession"
           ]
         }
       ]
     }
   ```

------

   Fügen Sie die IAM-Richtlinie an die Rolle an.

   Ersetze die *default placeholder text * durch deine eigenen Werte:

   ```
   aws iam attach-role-policy \
     --role-name MY_ROLE \
     --policy-arn POLICY_ARN
   ```

1. Erstellen Sie eine Pod-Identity-Zuordnung. Ein Beispiel finden Sie unter [Erstellen einer Pod-Identity-Zuordnung](https://docs.aws.amazon.com/eks/latest/userguide/pod-id-association.html#pod-id-association-create) im *Benutzerhandbuch für Amazon EKS*

1. Erstellen Sie die `SecretProviderClass`, die angibt, welche Parameter oder Secrets im Pod gemountet werden sollen:

   ```
   kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleSecretProviderClass-PodIdentity.yaml
   ```

   Der Hauptunterschied in `SecretProviderClass` zwischen IRSA und Pod Identity ist der optionale Parameter `usePodIdentity`. Es ist ein optionales Feld, das den Authentifizierungsansatz bestimmt. Wenn nicht angegeben, wird standardmäßig IAM Roles for Service Accounts (IRSA) verwendet.
   + Verwenden Sie einen der folgenden Werte, um EKS Pod Identity zu verwenden: `"true", "True", "TRUE", "t", "T"`.
   + Wenn Sie explizit IRSA nutzen möchten, verwenden Sie einen der folgenden Werte: `"false", "False", "FALSE", "f", or "F"`.

1. Stellen Sie den Pod, der die Parameter oder Secrets mountet, unter `/mnt/secrets-store` bereit:

   ```
   kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleDeployment-PodIdentity.yaml
   ```

1. Wenn Sie einen privaten Amazon EKS-Cluster verwenden, stellen Sie sicher, dass die VPC, in der sich der Cluster befindet, über einen AWS STS Endpunkt verfügt. Weitere Informationen zum Erstellen eines Endpunktes finden Sie unter [Schnittstellen-VPC-Endpunkte](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_interface_vpc_endpoints.html) im *Benutzerhandbuch für AWS Identity and Access Management *.

### Überprüfen des Secret-Mountings
<a name="verify-secret-mount"></a>

Führen Sie den folgenden Befehl aus, um zu überprüfen, dass der Parameter oder das Secret korrekt gemountet wurde.

Ersetzen Sie die *default placeholder text * durch Ihre eigenen Werte:

```
kubectl exec -it $(kubectl get pods | awk '/pod-identity-deployment/{print $1}' | head -1) -- cat /mnt/secrets-store/MyParameter
```

**Richten Sie Amazon EKS Pod Identity für den Zugriff auf Parameter in Parameter Store wie folgt ein:**

1. Erstellen Sie eine Berechtigungsrichtlinie, die den Parametern, auf die der Pod zugreifen muss, die Berechtigungen `ssm:GetParameters` und `ssm:DescribeParameters` gewährt. 

1. Erstellen Sie einen Parameter in Parameter Store, sofern noch nicht geschehen. Weitere Informationen finden Sie unter [Parameter Store-Parameter im Systems Manager erstellen](sysman-paramstore-su-create.md).

## Fehlerbehebung
<a name="integrating_aspc_pod_trouble"></a>

Sie können die meisten Fehler anzeigen, indem Sie die Pod-Bereitstellung beschreiben.

**Fehlermeldungen für Ihren Container anzeigen**

1. Rufen Sie mit dem folgenden Befehl eine Liste der Pod-Namen ab. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie `-n namespace`.

   ```
   kubectl get pods
   ```

1. *pod-id*Verwenden Sie zur Beschreibung des Pods im folgenden Befehl die Pod-ID der Pods, die Sie im vorherigen Schritt gefunden haben. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie `-n NAMESPACE`.

   ```
   kubectl describe pod/pod-id
   ```

**Fehler für den ASCP anzeigen**
+ Um weitere Informationen in den Anbieterprotokollen zu finden, *PODID* verwenden Sie im folgenden Befehl die ID des Pods *csi-secrets-store-provider-aws*.

  ```
  kubectl -n kube-system get pods
  kubectl -n kube-system logs pod/pod-id
  ```

# Verwenden Sie AWS Secrets and Configuration Provider CSI mit IAM-Rollen für Dienstkonten (IRSA)
<a name="integrating_ascp_irsa"></a>

**Topics**
+ [Voraussetzungen](#prerequisites)
+ [Einrichten der Zugriffssteuerung](#integrating_ascp_irsa_access)
+ [Identifizieren der Parameter, die gemountet werden sollen](#integrating_ascp_irsa_mount)
+ [Fehlerbehebung](#integrating_ascp_irsa_trouble)

## Voraussetzungen
<a name="prerequisites"></a>
+ Amazon-EKS-Cluster (Version 1.17 oder höher)
+ Zugriff auf AWS CLI einen Amazon EKS-Cluster über `kubectl`

## Einrichten der Zugriffssteuerung
<a name="integrating_ascp_irsa_access"></a>

ASCP ruft die Amazon-EKS-Pod-Identität ab und tauscht sie gegen eine IAM-Rolle. Sie legen in einer IAM-Richtlinie Berechtigungen für diese IAM-Rolle fest. Wenn ASCP die IAM-Rolle übernimmt, erhält der Service Zugriff auf die von Ihnen autorisierten Parameter. Andere Container können nur auf die Parameter zugreifen, wenn Sie diese auch der IAM-Rolle zuordnen. 

**Gewähren Sie Ihrem Amazon-EKS-Pod wie folgt Zugriff auf Parameter in Parameter Store:**

1. Erstellen Sie eine Berechtigungsrichtlinie, die den Parametern, auf die der Pod zugreifen muss, die Berechtigungen `ssm:GetParameters` und `ssm:DescribeParameters` gewährt. 

1. Erstellen Sie einen IAM OpenID Connect (OIDC)-Anbieter für den Cluster, wenn Sie noch keinen haben. Weitere Informationen finden Sie unter [Erstellen eines IAM-OIDC-Anbieters für Ihren Cluster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) im *Benutzerhandbuch für Amazon EKS*.

1. Erstellen Sie eine [IAM-Rolle für das Servicekonto](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) und fügen Sie die Richtlinie an. Weitere Informationen finden Sie unter [Erstellen einer IAM-Rolle für ein Servicekonto](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) im *Benutzerhandbuch für Amazon EKS*.

1. Wenn Sie einen privaten Amazon EKS-Cluster verwenden, stellen Sie sicher, dass die VPC, in der sich der Cluster befindet, über einen AWS STS Endpunkt verfügt. Weitere Informationen zum Erstellen eines Endpunktes finden Sie unter [Schnittstellen-VPC-Endpunkte](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_interface_vpc_endpoints.html) im *Benutzerhandbuch für AWS Identity and Access Management *.

## Identifizieren der Parameter, die gemountet werden sollen
<a name="integrating_ascp_irsa_mount"></a>

Um zu bestimmen, welche Parameter ASCP in Amazon EKS als Dateien im Dateisystem mountet, erstellen Sie eine [SecretProviderClass](ascp-examples.md#ascp-examples-secretproviderclass)-YAML-Datei. Die `SecretProviderClass` listet die zu mountenden Parameter und den Dateinamen auf, unter dem sie gemountet werden sollen. `SecretProviderClass` muss sich im gleichen Namespace wie der Amazon-EKS-Pod befinden, auf den verwiesen wird.

### Mounten der Parameter als Dateien
<a name="mount-secrets"></a>

[Die folgenden Anweisungen zeigen, wie Parameter mithilfe der YAML-Beispieldateien .yaml und [ExampleSecretProviderClass.yaml als Dateien bereitgestellt werden.](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleSecretProviderClass-IRSA.yaml) ExampleDeployment](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleDeployment-IRSA.yaml)

**Mounten Sie Parameter in Amazon EKS wie folgt:**

1. Wenden Sie die `SecretProviderClass` auf den Pod an:

   ```
   kubectl apply -f ExampleSecretProviderClass.yaml
   ```

1. Stellen Sie den Pod bereit:

   ```
   kubectl apply -f ExampleDeployment.yaml
   ```

1. ASCP mountet die Dateien.

## Fehlerbehebung
<a name="integrating_ascp_irsa_trouble"></a>

Sie können die meisten Fehler anzeigen, indem Sie die Pod-Bereitstellung beschreiben. 

**Fehlermeldungen für Ihren Container anzeigen**

1. Rufen Sie mit dem folgenden Befehl eine Liste der Pod-Namen ab. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie `-n name-space`.

   ```
   kubectl get pods
   ```

1. *pod-id*Verwenden Sie zur Beschreibung des Pods im folgenden Befehl die Pod-ID der Pods, die Sie im vorherigen Schritt gefunden haben. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie `-n nameSpace`.

   ```
   kubectl describe pod/pod-id
   ```

**Fehler für den ASCP anzeigen**
+ Um weitere Informationen in den Anbieterprotokollen zu finden, *pod-id* verwenden Sie im folgenden Befehl die ID des Pods *csi-secrets-store-provider-aws*.

  ```
  kubectl -n kube-system get pods
  kubectl -n kube-system logs Pod/pod-id
  ```
+ 

**Überprüfen Sie, ob die `SecretProviderClass`-CRD installiert wurde:**

  ```
  kubectl get crd secretproviderclasses.secrets-store.csi.x-k8s.io
  ```

  Dieser Befehl muss Informationen zur benutzerdefinierten Ressourcendefinition von `SecretProviderClass` zurückgeben.
+ 

**Stellen Sie sicher, dass das SecretProviderClass Objekt erstellt wurde.**

  ```
  kubectl get secretproviderclass SecretProviderClassName -o yaml
  ```

# AWS Codebeispiele für Secrets und Configuration Provider
<a name="ascp-examples"></a>

## Beispiele für ASCP-Authentifizierung und Zugriffskontrolle
<a name="ascp-auth-access-examples"></a>

### Beispiel: IAM-Richtlinie, die dem Service Amazon EKS Pod Identity (pods.eks.amazonaws.com) ermöglicht, die Rolle zu übernehmen und die Sitzung zu taggen:
<a name="ascp-auth-access-example-1"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "pods.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
```

------

## SecretProviderClass
<a name="ascp-examples-secretproviderclass"></a>

Sie verwenden YAML, um zu beschreiben, welche Parameter mithilfe von ASCP in Amazon EKS gemountet werden sollen. Beispiele finden Sie unter [SecretProviderClass Verwendung](#ascp-scenarios-secretproviderclass).

### SecretProviderClass YAML-Struktur
<a name="ascp-examples-secretproviderclass-1"></a>

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
   name: name
spec:
  provider: aws
  parameters:
    region:
    failoverRegion:
    pathTranslation:
    usePodIdentity:
    preferredAddressType:
    objects:
```

Das Feld Parameter enthält die Details der Mounting-Anfrage:

**Region**  
(Optional) Der Wert AWS-Region des Parameters. Wenn Sie dieses Feld nicht verwenden, sucht der ASCP die Region aus der Anmerkung auf dem Knoten. Diese Suche steigert den Overhead von Mounting-Anfragen. Daher wird empfohlen, die Region für Cluster mit einer großen Anzahl von Pods anzugeben.  
Wenn Sie auch `failoverRegion` angeben, versucht ASCP, den Parameter aus beiden Regionen abzurufen. Wenn eine Region einen `4xx`-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet ASCP keinen der Parameter. Wenn der Parameter erfolgreich von `region``` abgerufen wurde, mountet ASCP diesen Parameterwert. Wenn das Secret nicht erfolgreich von `region` abgerufen wurde, aber erfolgreich von `failoverRegion` abgerufen werden konnte, mountet ASCP diesen Parameter-Wert.

**`failoverRegion`**  
(Optional) Wenn Sie dieses Feld angeben, versucht ASCP, das Secret aus den Regionen abzurufen, die in `region` und diesem Feld definiert sind. Wenn eine Region einen `4xx`-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet ASCP keinen der Parameter. Wenn der Parameter erfolgreich von `region` abgerufen wurde, mountet ASCP diesen Parameterwert. Wenn das Secret nicht erfolgreich von `region` abgerufen wurde, aber erfolgreich von `failoverRegion` abgerufen werden konnte, mountet ASCP diesen Parameter-Wert. Ein Beispiel für die Nutzung dieses Felds finden Sie unter [Multiregionaler Parameter-Failover](#multi-region-failover).

**pathTranslation (Pfadangabe)**  
(Optional) Ein einzelnes Ersetzungszeichen, das verwendet werden soll, wenn der Dateiname in Amazon EKS das Pfadtrennzeichen enthält, z. B. Schrägstrich (/) unter Linux. ASCP kann keine gemountete Datei erstellen, die ein Pfadtrennzeichen enthält. Stattdessen ersetzt ASCP das Pfadtrennzeichen durch ein anderes Zeichen. Wenn Sie dieses Feld nicht verwenden, ist das Ersatzzeichen ein Unterstrich (\$1), d. h. `My/Path/Parameter` wird als `My_Path_Parameter` gemountet.   
Um die Zeichenersetzung zu verhindern, geben Sie die Zeichenfolge `False` ein.

***usePodIdentity***  
(Optional) Legt den Authentifizierungsansatz fest. Wenn nicht angegeben, wird standardmäßig IAM Roles for Service Accounts (IRSA) verwendet.  
+ Verwenden Sie einen der folgenden Werte, um EKS Pod Identity zu verwenden: `"true"`, `"True"`, `"TRUE"`, `"t"` oder `"T"`.
+ Wenn Sie explizit IRSA nutzen möchten, verwenden Sie einen der folgenden Werte: `"false"`, `"False"`, `"FALSE"`, `"f"` oder `"F"`.

***preferredAddressType***  
(Optional) Gibt den bevorzugten IP-Adresstyp für die Pod-Identity-Agent-Endpunktkommunikation an. Das Feld ist nur bei Verwendung der EKS-Pod-Identity-Funktion relevant und wird ignoriert, wenn IAM-Roles for Service Accounts verwendet wird. Bei den Werten wird zwischen Groß- und Kleinschreibung unterschieden. Folgende sind gültige Werte:  
+ `"ipv4"`, `"IPv4"` „, oder `"IPV4"` — Erzwingt die Verwendung des Pod Identity IPv4 Agent-Endpunkts
+ `"ipv6"`,`"IPv6"`, oder `"IPV6"` — Erzwingen Sie die Verwendung des Pod Identity IPv6 Agent-Endpunkts
+ nicht spezifiziert — auto Endpunktauswahl verwenden, zuerst den IPv4 Endpunkt ausprobieren und bei einem Fehler auf den IPv6 Endpunkt IPv4 zurückgreifen

**objects (Objekte)**  
Eine Zeichenfolge, die eine YAML-Deklaration der bereitzustellenden Secrets enthält. Wir empfehlen, eine mehrzeilige YAML-Zeichenfolge oder ein Pipe-Zeichen (\$1) zu verwenden.    
**objectName (Objektname)**  
Erforderlich Gibt den Namen des Parameters oder Secrets an, das abgerufen werden soll. Für Parameter Store ist dies der [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_RequestParameters) des Parameters und kann entweder der Name oder der vollständige ARN sein. Für Secrets Manager ist dies der Parameter [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html#API_GetSecretValue_RequestParameters) und kann entweder der Anzeigename oder der vollständige ARN des Secrets sein.   
**objectType**  
Erforderlich, wenn Sie keinen Secrets Manager ARN für `objectName` verwenden. Geben Sie als Parameter Store `ssmparameter`ein. Verwenden Sie für Secrets Manager `secretsmanager`.   
**objectAlias**  
(Optional) Der Dateiname des Secrets im Amazon-EKS-Pod. Wenn Sie dieses Feld nicht angeben, wird `objectName` als Dateiname angezeigt.  
**objectVersion (Objektversion)**  
(Optional) Die Versions-ID des Parameters. Nicht empfohlen, da Sie jedes Mal, wenn Sie den Parameter aktualisieren, die Versions-ID aktualisieren müssen. Standardmäßig wird die neueste Version verwendet. Wenn Sie eine `failoverRegion` angeben, stellt dieses Feld den primären `objectVersion` dar.  
**objectVersionLabel**  
(Optional) Der Alias für die Version. Die Standardversion ist die neueste Version`AWSCURRENT`. Wenn Sie eine `failoverRegion` angeben, stellt dieses Feld den primären `objectVersionLabel` dar.  
**jmesPath**  
(Optional) Eine Zuordnung der Schlüssel im Parameter zu den Dateien, die in Amazon EKS gemountet werden sollen. Um dieses Feld zu verwenden, muss Ihr Parameterwert im JSON-Format vorliegen.   
Das folgende Beispiel zeigt, wie ein JSON-kodierter Parameter aussieht.  

```
{
    "username" : "myusername",
    "password" : "mypassword"
}
```
Die Schlüssel sind `username` und `password`. Der Wert, der mit `username` verbunden ist, ist `myusername`, und der Wert, der mit `password` verbunden ist, ist `mypassword`.  
Wenn Sie dieses Feld verwenden, müssen Sie die Unterfelder `path` und `objectAlias` angeben.    
**Pfad**  
Ein Schlüssel aus einem Schlüssel-Wert-Paar im JSON des Parameterwerts. Wenn das Feld einen Bindestrich enthält, verwenden Sie einfache Anführungszeichen als Escape-Zeichen. Beispiel: `path: '"hyphenated-path"'`  
**objectAlias**  
Der Dateiname, der im Amazon-EKS-Pod gemountet werden soll. Wenn das Feld einen Bindestrich enthält, verwenden Sie einfache Anführungszeichen als Escape-Zeichen. Beispiel: `objectAlias: '"hyphenated-alias"'`  
**`failoverObject`**  
(Optional) Wenn Sie dieses Feld angeben, versucht ASCP, den im primären `objectName` angegebenen Parameter und den im `failoverObject`-`objectName`-Unterfeld angegebenen Parameter abzurufen. Wenn einer der Parameter einen `4xx`-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet ASCP keinen der Parameter. Wenn der Parameter erfolgreich vom primären `objectName` abgerufen wurde, mountet ASCP diesen Parameterwert. Wenn der Parameter nicht erfolgreich vom primären `objectName` abgerufen wurde, aber erfolgreich vom Failover-`objectName` abgerufen werden konnte, mountet ASCP diesen Parameterwert. Wenn Sie dieses Feld angeben, müssen Sie auch das Feld `objectAlias` angeben. Ein Beispiel für die Nutzung dieses Felds finden Sie unter [Failover auf einen anderen Parameter](#failover-parameter).  
In der Regel verwenden Sie dieses Feld, wenn es sich bei dem Failover-Parameter nicht um ein Replikat handelt. Ein Beispiel dazu, wie Sie ein Replikat angeben, finden Sie unter [Multiregionaler Parameter-Failover](#multi-region-failover).    
**objectName (Objektname)**  
Der Name oder vollständige ARN des Failover-Parameters. Wenn Sie einen ARN verwenden, muss die Region im ARN mit dem Feld `failoverRegion` übereinstimmen.  
**objectVersion (Objektversion)**  
(Optional) Die Versions-ID des Parameters. Muss mit der primären `objectVersion` übereinstimmen. Nicht empfohlen, da Sie jedes Mal, wenn Sie den Parameter aktualisieren, die Versions-ID aktualisieren müssen. Standardmäßig wird die neueste Version verwendet.   
**objectVersionLabel**  
(Optional) Der Alias für die Version. Die Standardversion ist die neueste Version`AWSCURRENT`.

### Erstellen Sie eine SecretProviderClass Basiskonfiguration, um Parameter in Ihren Amazon EKS-Pods zu mounten.
<a name="create-SecretProviderClass-config"></a>

------
#### [ Pod Identity ]

SecretProviderClass um einen Parameter im selben Amazon EKS-Cluster zu verwenden:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameter-store
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "MyParameter"
        objectType: "ssmparameter"
    usePodIdentity: "true"
```

------
#### [ IRSA ]

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: deployment-aws-parameter
spec:
  provider: aws
  parameters:
    objects: |
        - objectName: "MyParameter"
          objectType: "ssmparameter"
```

------

### SecretProviderClass Verwendung
<a name="ascp-scenarios-secretproviderclass"></a>

Verwenden Sie diese Beispiele, um `SecretProviderClass`-Konfigurationen für verschiedene Szenarien zu erstellen.

#### Beispiel: Parameter nach Namen oder ARN mounten
<a name="mount-by-name-arn"></a>

Dieses Beispiel zeigt, wie drei verschiedene Parametertypen gemountet werden:
+ Ein Parameter, der anhand des vollständigen ARN angegeben wird
+ Ein Parameter, der anhand des Namens angegeben wird
+ Eine Parameterversion eines Secrets

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter2-d4e5f6"
      - objectName: "MyParameter3"
        objectType: "ssmparameter"
      - objectName: "MyParameter4"
        objectType: "ssmparameter"
        objectVersionLabel: "AWSCURRENT"
```

#### Beispiel: Schlüssel-Wert-Paare aus einem Parameter mounten
<a name="mount-key-value-pairs"></a>

Dieses Beispiel zeigt, wie bestimmte Schlüssel-Wert-Paare aus einem Parameter im JSON-Format gemountet werden:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    objects: |
      - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter-a1b2c3"
        jmesPath: 
            - path: username
              objectAlias: dbusername
            - path: password
              objectAlias: dbpassword
```

#### Beispiel: verschiedene Failover-Konfigurationen
<a name="failover-examples"></a>

Diese Beispiele veranschaulichen, wie Failover für Parameter konfiguriert wird.

##### Multiregionaler Parameter-Failover
<a name="multi-region-failover"></a>

Dieses Beispiel zeigt, wie Sie einen automatischen Failover für einen Parameter konfigurieren, der über mehrere Regionen repliziert wird:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "MyParameter"
```

##### Failover auf einen anderen Parameter
<a name="failover-parameter"></a>

Dieses Beispiel zeigt, wie Sie einen Failover auf einen anderen Parameter (kein Replikat) konfigurieren:

```
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: aws-parameters
spec:
  provider: aws
  parameters:
    region: us-east-1
    failoverRegion: us-east-2
    objects: |
      - objectName: "arn:aws:ssm:us-east-1:777788889999:parameter:MyParameter-a1b2c3"
        objectAlias: "MyMountedParameter"
        failoverObject: 
          - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyFailoverParameter-d4e5f6"
```

## Weitere Ressourcen
<a name="additional-resources"></a>

Weitere Informationen zur Verwendung von ASCP mit Amazon EKS finden Sie in den folgenden Ressourcen:
+ [Verwenden von Pod Identity mit Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html)
+ [AWS Secrets Store CSI-Treiber aktiviert GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws)

# Verwenden von Parameter Store Parametern in AWS Lambda Funktionen
<a name="ps-integration-lambda-extensions"></a>

Parameter Store, ein Tool in AWS Systems Manager, bietet sicheren, hierarchischen Speicher für die Verwaltung von Konfigurationsdaten und Geheimnissen. Sie können Daten wie Kennwörter, Datenbankzeichenfolgen Amazon Machine Image (AMI) IDs und Lizenzcodes als Parameterwerte speichern. 

Um Parameter aus Parameter Store AWS Lambda Funktionen zu verwenden, ohne ein SDK zu verwenden, können Sie die Lambda-Erweiterung AWS Parameters and Secrets verwenden. Diese Erweiterung ruft Parameterwerte ab und speichert sie zur späteren Verwendung. Durch die Verwendung der Lambda-Erweiterung können Sie Ihre Kosten senken, indem Sie die Anzahl der API-Aufrufe auf Parameter Store reduzieren. Durch die Verwendung der Erweiterung kann auch die Latenzzeit verbessert werden, da der Abruf eines zwischengespeicherten Parameters schneller ist als der Abruf von Parameter Store. 

Eine Lambda-Erweiterung ist ein begleitender Prozess, der die Fähigkeiten einer Lambda-Funktion erweitert. Eine Erweiterung ist wie ein Client, der parallel zu einem Lambda-Aufruf ausgeführt wird. Dieser parallele Client kann jederzeit während seines Lebenszyklus mit Ihrer Funktion verbunden werden. Weitere Informationen zu Lambda-Erweiterungen finden Sie unter [Lambda-Erweiterungs-API](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-extensions-api.html) im *AWS Lambda -Entwicklerhandbuch*.

Die Lambda-Erweiterung AWS Parameters and Secrets funktioniert Parameter Store sowohl AWS Secrets Manager für als auch. Informationen zur Verwendung der Lambda-Erweiterung mit Geheimnissen aus Secrets Manager finden Sie unter [Verwenden von AWS Secrets Manager Geheimnissen in AWS Lambda Funktionen](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_lambda.html) im *AWS Secrets Manager Benutzerhandbuch*. 

**Verwandte Informationen**

[Verwenden der Lambda-Erweiterung AWS Parameter and Secrets zum Zwischenspeichern von Parametern und Geheimnissen](https://aws.amazon.com/blogs/compute/using-the-aws-parameter-and-secrets-lambda-extension-to-cache-parameters-and-secrets/) (AWS Compute Blog)

## So funktioniert die Erweiterung
<a name="ps-integration-lambda-extensions-how-it-works"></a>

Um Parameter in einer Lambda-Funktion *ohne* die Lambda-Erweiterung zu verwenden, müssen Sie Ihre Lambda-Funktion so konfigurieren, dass sie Konfigurationsaktualisierungen erhält, indem Sie sie in die `GetParameter`-API-Aktion für Parameter Store integrieren.

Wenn Sie die Lambda-Erweiterung AWS Parameters and Secrets verwenden, ruft die Erweiterung den Parameterwert ab Parameter Store und speichert ihn im lokalen Cache. Dann wird der zwischengespeicherte Wert für weitere Aufrufe verwendet, bis er abläuft. Zwischengespeicherte Werte laufen ab, nachdem sie ihre time-to-live (TTL) überschritten haben. Sie können den TTL-Wert mithilfe der [Umgebungsvariablen](#ps-integration-lambda-extensions-config) `SSM_PARAMETER_STORE_TTL` konfigurieren, wie weiter unten in diesem Thema erläutert.

Wenn die konfigurierte Cache-TTL nicht abgelaufen ist, wird der zwischengespeicherte Parameterwert verwendet. Wenn die Zeit abgelaufen ist, wird der zwischengespeicherte Wert ungültig und der Parameterwert wird von Parameter Store abgerufen.

Außerdem erkennt das System Parameterwerte, die häufig verwendet werden, und behält sie im Cache bei, während abgelaufene oder nicht verwendete Werte gelöscht werden.

**Wichtig**  
Die Erweiterung kann nur in der `INVOKE`-Phase des Lambda-Vorgangs und nicht während der `INIT`-Phase aufgerufen werden.

### Implementierungsinformationen
<a name="lambda-extension-details"></a>

Verwenden Sie die folgenden Details, um Ihnen bei der Konfiguration der Lambda-Erweiterung AWS Parameters and Secrets zu helfen.

Authentifizierung  
Um Parameter Store-Anfragen zu autorisieren und zu authentifizieren, verwendet die Erweiterung dieselben Anmeldeinformationen wie diejenigen, die zum Ausführen der Lambda-Funktion verwendet werden. Daher muss die AWS Identity and Access Management (IAM) -Rolle, mit der die Funktion ausgeführt wird, über die folgenden Berechtigungen für die Interaktion verfügen: Parameter Store  
+ `ssm:GetParameter` – Erforderlich, um Parameter von Parameter Store abzurufen
+ `kms:Decrypt` – Erforderlich, wenn Sie `SecureString`-Parameter von Parameter Store abrufen
Weitere Informationen finden Sie unter [AWS Lambda -Ausführungsrolle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) im *AWS Lambda -Entwicklerhandbuch*.

Instanziierung  
Lambda instanziiert separate Instances, die der Gleichzeitigkeitsstufe entsprechen, die Ihre Funktion benötigt. Jede Instance ist isoliert und verwaltet ihren eigenen lokalen Cache Ihrer Konfigurationsdaten. Weitere Informationen über Lambda-Instances und Gleichzeitigkeit finden Sie unter [Konfigurieren der reservierten Währung](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) im *AWS Lambda -Entwicklerhandbuch*.

Keine SDK-Abhängigkeit  
Die Lambda-Erweiterung AWS Parameters and Secrets funktioniert unabhängig von jeder AWS SDK-Sprachbibliothek. Ein AWS SDK ist nicht erforderlich, um GET-Anfragen an zu Parameter Store stellen.

Localhost-Port  
Verwenden Sie `localhost` in Ihren GET-Anfragen. Die Erweiterung stellt Anfragen an den localhost-Port 2773. Sie müssen keinen externen oder internen Endpunkt angeben, um die Erweiterung zu verwenden. Sie können den Port konfigurieren, indem Sie die [Umgebungsvariable](#ps-integration-lambda-extensions-config) auf `PARAMETERS_SECRETS_EXTENSION_HTTP_PORT` setzen.   
In Python könnte Ihre GET-URL beispielsweise wie im folgenden Beispiel aussehen.  

```
parameter_url = ('http://localhost:' + port + '/systemsmanager/parameters/get/?name=' + ssm_parameter_path)
```

Änderungen an einem Parameterwert, bevor TTL abläuft  
Die Erweiterung erkennt keine Änderungen am Parameterwert und führt keine automatische Aktualisierung durch, bevor die TTL abläuft. Wenn Sie einen Parameterwert ändern, schlagen Vorgänge, die den zwischengespeicherten Parameterwert verwenden, möglicherweise fehl, bis der Cache das nächste Mal aktualisiert wird. Wenn Sie häufige Änderungen an einem Parameterwert erwarten, empfehlen wir Ihnen, einen kürzeren TTL-Wert einzustellen.

Anfordern eines Headers  
Um Parameter aus dem Erweiterungs-Cache abzurufen, muss der Header Ihrer GET-Anfrage eine `X-Aws-Parameters-Secrets-Token`-Referenz enthalten. Setzen Sie das Token auf `AWS_SESSION_TOKEN`, das von Lambda für alle laufenden Funktionen bereitgestellt wird. Die Verwendung dieses Headers zeigt an, dass sich der Anrufer in der Lambda-Umgebung befindet.

Beispiel  
Das folgende Beispiel in Python demonstriert eine einfache Anfrage zum Abrufen des Wertes eines zwischengespeicherten Parameters.  

```
import urllib.request
import os
import json

aws_session_token = os.environ.get('AWS_SESSION_TOKEN')

def lambda_handler(event, context):
    # Retrieve /my/parameter from Parameter Store using extension cache
    req = urllib.request.Request('http://localhost:2773/systemsmanager/parameters/get?name=%2Fmy%2Fparameter')
    req.add_header('X-Aws-Parameters-Secrets-Token', aws_session_token)
    config = urllib.request.urlopen(req).read()

    return json.loads(config)
```

ARM-Unterstützung  
Die Erweiterung unterstützt die ARM-Architektur in den meisten AWS-Regionen , in denen die x86\$164- und x86-Architekturen unterstützt werden. Wenn Sie die ARM-Architektur verwenden, empfehlen wir Ihnen, zu überprüfen, ob Ihre Architektur unterstützt wird. Vollständige Listen der Erweiterungen finden ARNs Sie unter[AWS Lambda-Erweiterung für Parameter und Geheimnisse ARNs](#ps-integration-lambda-extensions-add).

Protokollierung  
Lambda protokolliert Ausführungsinformationen über die Erweiterung zusammen mit der Funktion mithilfe von Amazon CloudWatch Logs. Standardmäßig protokolliert die Erweiterung eine minimale Menge an CloudWatch Informationen unter. Um weitere Details zu protokollieren, setzen Sie die [Umgebungsvariable](#ps-integration-lambda-extensions-config) `PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL` auf `DEBUG`.

### Hinzufügen der Erweiterung zu einer Lambda-Funktion
<a name="add-extension"></a>

Um die Lambda-Erweiterung AWS Parameters and Secrets zu verwenden, fügen Sie die Erweiterung als Ebene zu Ihrer Lambda-Funktion hinzu.

Verwenden Sie eine der folgenden Methoden, um die Erweiterung zu Ihrer Funktion hinzuzufügen.

AWS-Managementkonsole (Option „Ebene hinzufügen“)  

1. Öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Wählen Sie Ihre Funktion. Wählen Sie im Bereich **Layers** (Ebenen) die Option **Add a layer** (Ebene hinzufügen) aus.

1. Wählen Sie im Bereich **Eine Ebene auswählen** die Option **AWS -Ebenen** aus.

1. Wählen Sie für **AWS -Ebenen** **AWS-Parameter und Secrets-Lambda-Erweiterung** aus, wählen Sie eine Version und wählen Sie anschließend **Hinzufügen** aus.

AWS-Managementkonsole (ARN-Option angeben)  

1. Öffnen Sie die AWS Lambda Konsole unter [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Wählen Sie Ihre Funktion. Wählen Sie im Bereich **Layers** (Ebenen) die Option **Add a layer** (Ebene hinzufügen) aus.

1. Wählen Sie im Bereich **Choose a layer** (Ebene auswählen) die Option **Specify an ARN** (ARN angeben) aus.

1. **Geben Sie für Specify an ARN** die [Erweiterung ARN für Ihre AWS-Region und Architektur](#ps-integration-lambda-extensions-add) ein, und wählen Sie dann **Hinzufügen** aus.

AWS Command Line Interface  
Führen Sie in der AWS CLI den folgenden aus. Ersetzen Sie jeden *example resource placeholder* durch Ihre Informationen.  

```
aws lambda update-function-configuration \
    --function-name function-name \
    --layers layer-ARN
```

**Ähnliche Informationen**

[Verwenden von Ebenen mit Ihrer Lambda-Funktion](https://docs.aws.amazon.com/lambda/latest/dg/invocation-layers.html)

[Konfigurieren von Erweiterungen (ZIP-Dateiarchiv)](https://docs.aws.amazon.com/lambda/latest/dg/using-extensions.html#using-extensions-config)

## AWS Parameter und Geheimnisse Umgebungsvariablen der Lambda-Erweiterung
<a name="ps-integration-lambda-extensions-config"></a>

Sie können die Erweiterung konfigurieren, indem Sie die folgenden Umgebungsvariablen ändern. Um die aktuellen Einstellungen zu sehen, setzen Sie `PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL` auf `DEBUG`. Weitere Informationen finden Sie unter [Verwenden von AWS Lambda Umgebungsvariablen](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) im *AWS Lambda Entwicklerhandbuch*. 

**Anmerkung**  
AWS Lambda zeichnet Betriebsdetails zur Lambda-Erweiterung und Lambda-Funktion in Amazon CloudWatch Logs auf. 


****  

| Umgebungsvariable | Details | Erforderlich | Zulässige Werte | Standardwert | 
| --- | --- | --- | --- | --- | 
|  `SSM_PARAMETER_STORE_TIMEOUT_MILLIS`  |  Timeout in Millisekunden für Anfragen an Parameter Store.   Ein Wert von 0 (null) gibt an, dass kein Timeout vorliegt.  | Nein | Alle ganzen Zahlen | 0 (Null) | 
|  `SECRETS_MANAGER_TIMEOUT_MILLIS`  |  Timeout in Millisekunden für Anfragen an Secrets Manager.   Ein Wert von 0 (null) gibt an, dass kein Timeout vorliegt.  | Nein | Alle ganzen Zahlen |  0 (Null)  | 
|  `SSM_PARAMETER_STORE_TTL`  |  Maximal gültige Lebensdauer eines Parameters im Cache in Sekunden, bevor er ungültig wird. Ein Wert von 0 (Null) gibt an, dass der Cache umgangen werden soll. Diese Variable wird ignoriert, wenn der Wert für `PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE` 0 (Null) ist.  | Nein | 0 (Null) bis 300 Sek. (Fünf Minuten) | 300 Sek. (Fünf Minuten) | 
|  `SECRETS_MANAGER_TTL`  |  Maximal gültige Lebensdauer eines Secrets im Cache in Sekunden, bevor es ungültig wird. Ein Wert von 0 (Null) gibt an, dass der Cache umgangen wurde. Diese Variable wird ignoriert, wenn der Wert für `PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE` 0 (Null) ist.   | Nein | 0 (Null) bis 300 Sek. (Fünf Minuten) | 300 Sek. (5 Minuten) | 
| `PARAMETERS_SECRETS_EXTENSION_CACHE_ENABLED` |  Bestimmt, ob der Cache für die Erweiterung aktiviert ist. Gültige Werte: `TRUE \| FALSE`  | Nein | TRUE \$1 FALSE | TRUE | 
| `PARAMETERS_SECRETS_EXTENSION_CACHE_SIZE` |  Die maximale Größe des Caches in Bezug auf die Anzahl der Elemente. Ein Wert von 0 (Null) gibt an, dass der Cache umgangen wurde. Diese Variable wird ignoriert, wenn beide Cache-TTL-Werte 0 (Null) sind.  | Nein | 0 (Null) bis 1 000 |  1000  | 
| `PARAMETERS_SECRETS_EXTENSION_HTTP_PORT` | Der Port für den lokalen HTTP-Server. | Nein | 1–65 535 |  2773  | 
| `PARAMETERS_SECRETS_EXTENSION_MAX_CONNECTIONS` |  Maximale Anzahl von Verbindungen für die HTTP-Clients, die die Erweiterung verwendet, um Anfragen an Parameter Store ​​oder Secrets Manager zu stellen. Dies ist eine Konfiguration pro Client für die Anzahl der Verbindungen, die sowohl der Secrets-Manager-Client als auch der Parameter Store-Client zu den Backend-Diensten herstellen.  | Nein | Mindestens 1; Keine Höchstgrenze. |  3  | 
| `PARAMETERS_SECRETS_EXTENSION_LOG_LEVEL` |  Der Detaillierungsgrad, der in Protokollen für die Erweiterung gemeldet wird. Wir empfehlen die Verwendung von `DEBUG` für die meisten Details zu Ihrer Cache-Konfiguration, während Sie die Erweiterung einrichten und testen.  Protokolle für Lambda-Operationen werden automatisch an eine zugehörige CloudWatch Logs-Protokollgruppe übertragen.  | Nein |  `DEBUG \| WARN \| ERROR \| NONE \| INFO`  | `INFO` | 

## Beispielbefehle für die Verwendung der Erweiterung AWS Systems ManagerParameter Store und AWS Secrets Manager
<a name="ps-integration-lambda-extensions-sample-commands"></a>

Die Beispiele in diesem Abschnitt zeigen API-Aktionen zur Verwendung mit der AWS Secrets Manager Erweiterung AWS Systems Manager Parameter Store und.

### Beispielbefehle für Parameter Store
<a name="sample-commands-ps"></a>

Die Lambda-Erweiterung verwendet schreibgeschützten Zugriff auf die **GetParameter**API-Aktion.

Führen Sie zum Aufrufen dieser Aktion einen HTTP-GET-Aufruf ähnlich dem folgenden durch. Dieses Befehlsformat bietet Zugriff auf Parameter in der Standardparameterebene.

```
GET http://localhost:port/systemsmanager/parameters/get?name=parameter-name&version=version&label=label&withDecryption={true|false}
```

In diesem Beispiel *parameter-name* steht sie für den vollständigen Parameternamen, z. B. für einen Parameter`MyParameter`, der sich nicht in einer Hierarchie befindet, oder `%2FDev%2FProduction%2FEast%2FProject-ABC%2FMyParameter` für einen Parameter mit dem Namen`/Dev/Production/East/Project-ABC/MyParameter`, der Teil einer Hierarchie ist. 

**Anmerkung**  
Bei Verwendung von GET-Aufrufen müssen Parameterwerte für HTTP codiert werden, um Sonderzeichen zu erhalten. Anstatt beispielsweise einen hierarchischen Pfad wie `/a/b/c` zu formatieren, codieren Sie Zeichen, die als Teil der URL interpretiert werden könnten, wie z. B. `%2Fa%2Fb%2Fc`.

*version*und *label* sind die Selektoren für die Verwendung mit der `GetParameter` Aktion verfügbar. 

```
GET http://localhost:port/systemsmanager/parameters/get/?name=MyParameter&version=5
```

Um einen Parameter in einer Hierarchie aufzurufen, führen Sie einen HTTP-GET-Aufruf ähnlich dem folgenden durch.

```
GET http://localhost:port/systemsmanager/parameters/get?name=%2Fa%2Fb%2F&label=release
```

Um einen öffentlichen (globalen) Parameter aufzurufen, führen Sie einen HTTP-GET-Aufruf ähnlich dem folgenden durch.

```
GET http://localhost:port/systemsmanager/parameters/get/?name=%2Faws%2Fservice%20list%2F…
```

Um einen HTTP-GET-Aufruf an ein Secrets-Manager-Secret mithilfe von Parameter Store-Referenzen durchzuführen, führen Sie einen HTTP-GET-Aufruf ähnlich dem folgenden durch.

```
GET http://localhost:port/systemsmanager/parameters/get?name=%2Faws%2Freference%2Fsecretsmanager%2F…
```

Um einen Aufruf unter Verwendung des Amazon-Ressourcennamens (ARN) für einen Parameter zu tätigen, führen Sie einen HTTP-GET-Aufruf ähnlich dem folgenden durch.

```
GET http://localhost:port/systemsmanager/parameters/get?name=arn:aws:ssm:us-east-1:123456789012:parameter/MyParameter
```

Um einen Aufruf zu tätigen, der auf einen `SecureString`-Parameter mit Entschlüsselung zugreift, führen Sie einen HTTP-GET-Aufruf ähnlich dem folgenden durch.

```
GET http://localhost:port/systemsmanager/parameters/get?name=MyParameter&withDecryption=true
```

Sie können angeben, dass Parameter nicht entschlüsselt werden, indem Sie `withDecryption` weglassen oder explizit auf `false` setzen. Sie können auch entweder eine Version oder ein Label angeben, aber nicht beides. Wenn Sie dies tun, wird nur der erste davon verwendet, der in der URL nach dem Fragezeichen (`?`) steht.

## AWS Lambda-Erweiterung für Parameter und Geheimnisse ARNs
<a name="ps-integration-lambda-extensions-add"></a>

Der neueste Amazon Resource Name (ARN) für die Lambda-Erweiterung wird als öffentlicher Parameter im Systems Manager Parameter Store für jede unterstützte Architektur veröffentlicht. Sie können den neuesten ARN programmgesteuert mithilfe von AWS CLI oder abrufen, CloudFormation um sicherzustellen, dass Ihre Anwendung immer auf die neueste Erweiterungsversion ohne manuelle Updates verweist. In diesem Abschnitt wird erklärt, wie der ARN programmgesteuert abgerufen wird, und es werden Tabellen mit den aktuellen ARN-Werten für jede Architektur zum manuellen Nachschlagen bereitgestellt.

### Die neueste ARN-Version der Lambda-Erweiterung wird abgerufen
<a name="ps-integration-lambda-extensions-programmatically-retrieve"></a>

Die neuesten ARN-Versionen der Lambda-Erweiterung werden als öffentliche Parameter an den folgenden Speicherorten gespeichert. Sie können in Ihrem Code auf diese öffentlichen Parameter verweisen, um sie abzurufen:
+ **x86\$164**:/aws/service/aws-parameters-and-secrets-lambda-extension/x86/latest
+ **arm64:/**aws/service/aws-parameters-and-secrets-lambda-extension/arm64/latest

**AWS CLI**  
Führen Sie die folgenden Befehle aus AWS CLI, um die neuesten ARN-Versionen mit dem abzurufen.

**x86\$164**

```
aws ssm get-parameter --name "/aws/service/aws-parameters-and-secrets-lambda-extension/x86/latest" --query "Parameter.Value" --output text
```

**arm64**

```
aws ssm get-parameter --name "/aws/service/aws-parameters-and-secrets-lambda-extension/arm64/latest" --query "Parameter.Value" --output text
```

**AWS CloudFormation**  
Wenn Sie Lambda-Funktionen mithilfe von bereitstellen CloudFormation, können Sie Parameter direkt während der Stack-Erstellung und -Aktualisierung auflösen, wie in den folgenden YAML-Beispielvorlagen gezeigt. Diese Methode stellt sicher, dass Ihre Funktion immer die neueste Erweiterungsversion verwendet, ohne dass manuelle Updates erforderlich sind.

**x86\$164**

```
Resources:
  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: my-function
      Runtime: python3.11
      Handler: index.handler
      Code:
        ZipFile: |
          def handler(event, context):
              return {'statusCode': 200}
      Layers:
        - !Sub '{{resolve:ssm:/aws/service/aws-parameters-and-secrets-lambda-extension/x86/latest}}'
      Role: !GetAtt MyFunctionRole.Arn
```

**arm64**

```
Layers:
  - !Sub '{{resolve:ssm:/aws/service/aws-parameters-and-secrets-lambda-extension/arm64/latest}}'
```

**Anmerkung**  
Die `{{resolve:ssm:parameter-name}}` Syntax ruft den Parameterwert bei Stack-Operationen automatisch ab. Dadurch wird sichergestellt, dass Sie immer mit dem aktuellen ARN bereitstellen.

### Letzte Erweiterung ARNs
<a name="ps-integration-lambda-extensions-manually-retrieve"></a>

Die folgenden Tabellen enthalten Erweiterungen ARNs für unterstützte Architekturen und Regionen.

**Topics**
+ [Erweiterung ARNs für die x86\$164 und -Architekturen x86](#intel)
+ [Erweiterung ARNs für ARM64 und Architekturen Mac with Apple silicon](#arm64)

#### Erweiterung ARNs für die x86\$164 und -Architekturen x86
<a name="intel"></a>

Letzte Aktualisierung: 17. Februar 2026


****  

| Region | ARN | 
| --- | --- | 
| US East (Ohio) | `arn:aws:lambda:us-east-2:590474943231:layer:AWS-Parameters-and-Secrets-Lambda-Extension:67` | 
| USA Ost (Nord-Virginia) | `arn:aws:lambda:us-east-1:177933569100:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| USA West (Nordkalifornien) | `arn:aws:lambda:us-west-1:997803712105:layer:AWS-Parameters-and-Secrets-Lambda-Extension:59` | 
| USA West (Oregon) | `arn:aws:lambda:us-west-2:345057560386:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Africa (Cape Town) | `arn:aws:lambda:af-south-1:317013901791:layer:AWS-Parameters-and-Secrets-Lambda-Extension:60` | 
| Asien-Pazifik (Hongkong) | `arn:aws:lambda:ap-east-1:768336418462:layer:AWS-Parameters-and-Secrets-Lambda-Extension:60` | 
| Asien-Pazifik (Taipeh) | `arn:aws:lambda:ap-east-2:890742577149:layer:AWS-Parameters-and-Secrets-Lambda-Extension:33` | 
| Region Asien-Pazifik (Hyderabad) | `arn:aws:lambda:ap-south-2:070087711984:layer:AWS-Parameters-and-Secrets-Lambda-Extension:55` | 
| Asien-Pazifik (Jakarta) | `arn:aws:lambda:ap-southeast-3:490737872127:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Asien-Pazifik (Melbourne) | `arn:aws:lambda:ap-southeast-4:090732460067:layer:AWS-Parameters-and-Secrets-Lambda-Extension:48` | 
| Asien-Pazifik (Malaysia) | `arn:aws:lambda:ap-southeast-5:381492012281:layer:AWS-Parameters-and-Secrets-Lambda-Extension:47` | 
| Asien-Pazifik (Neuseeland) | `arn:aws:lambda:ap-southeast-6:995508174458:layer:AWS-Parameters-and-Secrets-Lambda-Extension:42` | 
| Asien-Pazifik (Mumbai) | `arn:aws:lambda:ap-south-1:176022468876:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Asien-Pazifik (Osaka) | `arn:aws:lambda:ap-northeast-3:576959938190:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Asien-Pazifik (Seoul) | `arn:aws:lambda:ap-northeast-2:738900069198:layer:AWS-Parameters-and-Secrets-Lambda-Extension:59` | 
| Asien-Pazifik (Singapur) | `arn:aws:lambda:ap-southeast-1:044395824272:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Asien-Pazifik (Sydney) | `arn:aws:lambda:ap-southeast-2:665172237481:layer:AWS-Parameters-and-Secrets-Lambda-Extension:63` | 
| Asien-Pazifik (Thailand) | `arn:aws:lambda:ap-southeast-7:941377119484:layer:AWS-Parameters-and-Secrets-Lambda-Extension:48` | 
| Asien-Pazifik (Tokio) | `arn:aws:lambda:ap-northeast-1:133490724326:layer:AWS-Parameters-and-Secrets-Lambda-Extension:60` | 
| Canada (Central) | `arn:aws:lambda:ca-central-1:200266452380:layer:AWS-Parameters-and-Secrets-Lambda-Extension:65` | 
| Kanada West (Calgary) | `arn:aws:lambda:ca-west-1:243964427225:layer:AWS-Parameters-and-Secrets-Lambda-Extension:35` | 
| China (Peking) | `arn:aws-cn:lambda:cn-north-1:287114880934:layer:AWS-Parameters-and-Secrets-Lambda-Extension:64` | 
| China (Ningxia) | `arn:aws-cn:lambda:cn-northwest-1:287310001119:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Europe (Frankfurt) | `arn:aws:lambda:eu-central-1:187925254637:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| Europa (Irland) | `arn:aws:lambda:eu-west-1:015030872274:layer:AWS-Parameters-and-Secrets-Lambda-Extension:63` | 
| Europa (London) | `arn:aws:lambda:eu-west-2:133256977650:layer:AWS-Parameters-and-Secrets-Lambda-Extension:59` | 
| Europa (Milan) | `arn:aws:lambda:eu-south-1:325218067255:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Europa (Paris) | `arn:aws:lambda:eu-west-3:780235371811:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Region Europa (Spanien) | `arn:aws:lambda:eu-south-2:524103009944:layer:AWS-Parameters-and-Secrets-Lambda-Extension:54` | 
| AWS Europäische Sovereign Cloud (Deutschland) | `arn:aws-eusc:lambda:eusc-de-east-1:041683371183:layer:AWS-Parameters-and-Secrets-Lambda-Extension:5` | 
| Europa (Stockholm) | `arn:aws:lambda:eu-north-1:427196147048:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Israel (Tel Aviv) | `arn:aws:lambda:il-central-1:148806536434:layer:AWS-Parameters-and-Secrets-Lambda-Extension:35` | 
| Region Europa (Zürich) | `arn:aws:lambda:eu-central-2:772501565639:layer:AWS-Parameters-and-Secrets-Lambda-Extension:42` | 
| Region Mexiko (Zentral) | `arn:aws:lambda:mx-central-1:241533131596:layer:AWS-Parameters-and-Secrets-Lambda-Extension:32` | 
| Middle East (Bahrain) | `arn:aws:lambda:me-south-1:832021897121:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Naher Osten (VAE) | `arn:aws:lambda:me-central-1:858974508948:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| Südamerika (São Paulo) | `arn:aws:lambda:sa-east-1:933737806257:layer:AWS-Parameters-and-Secrets-Lambda-Extension:61` | 
| AWS GovCloud (US-Ost) | `arn:aws-us-gov:lambda:us-gov-east-1:129776340158:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 
| AWS GovCloud (US-West) | `arn:aws-us-gov:lambda:us-gov-west-1:127562683043:layer:AWS-Parameters-and-Secrets-Lambda-Extension:58` | 

#### Erweiterung ARNs für ARM64 und Architekturen Mac with Apple silicon
<a name="arm64"></a>

Letzte Aktualisierung: 17. Februar 2026


****  

| Region | ARN | 
| --- | --- | 
| US East (Ohio) | `arn:aws:lambda:us-east-2:590474943231:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:67` | 
| USA Ost (Nord-Virginia) | `arn:aws:lambda:us-east-1:177933569100:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Region USA West (Nordkalifornien) | `arn:aws:lambda:us-west-1:997803712105:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:56` | 
| USA West (Oregon) | `arn:aws:lambda:us-west-2:345057560386:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Region Afrika (Kapstadt) | `arn:aws:lambda:af-south-1:317013901791:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:57` | 
| Region Asien-Pazifik (Hongkong) | `arn:aws:lambda:ap-east-1:768336418462:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:57` | 
| Asien-Pazifik (Taipeh) | `arn:aws:lambda:ap-east-2:890742577149:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:29` | 
| Region Asien-Pazifik (Hyderabad) | `arn:aws:lambda:ap-south-2:070087711984:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Region Asien-Pazifik (Jakarta) | `arn:aws:lambda:ap-southeast-3:490737872127:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Asien-Pazifik (Melbourne) | `arn:aws:lambda:ap-southeast-4:090732460067:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Asien-Pazifik (Malaysia) | `arn:aws:lambda:ap-southeast-5:381492012281:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Asien-Pazifik (Neuseeland) | `arn:aws:lambda:ap-southeast-6:995508174458:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:40` | 
| Asien-Pazifik (Mumbai) | `arn:aws:lambda:ap-south-1:176022468876:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:58` | 
| Asien-Pazifik (Osaka) | `arn:aws:lambda:ap-northeast-3:576959938190:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Region Asien-Pazifik (Seoul) | `arn:aws:lambda:ap-northeast-2:738900069198:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:56` | 
| Asien-Pazifik (Singapur) | `arn:aws:lambda:ap-southeast-1:044395824272:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Asien-Pazifik (Sydney) | `arn:aws:lambda:ap-southeast-2:665172237481:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:63` | 
| Asien-Pazifik (Thailand) | `arn:aws:lambda:ap-southeast-7:941377119484:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Asien-Pazifik (Tokio) | `arn:aws:lambda:ap-northeast-1:133490724326:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:60` | 
| Region Kanada (Zentral) | `arn:aws:lambda:ca-central-1:200266452380:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:62` | 
| Kanada West (Calgary) | `arn:aws:lambda:ca-west-1:243964427225:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:34` | 
| China (Peking) | `arn:aws-cn:lambda:cn-north-1:287114880934:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:53` | 
| China (Ningxia) | `arn:aws-cn:lambda:cn-northwest-1:287310001119:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:50` | 
| Europe (Frankfurt) | `arn:aws:lambda:eu-central-1:187925254637:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:61` | 
| Europa (Irland) | `arn:aws:lambda:eu-west-1:015030872274:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:63` | 
| Europa (London) | `arn:aws:lambda:eu-west-2:133256977650:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:59` | 
| Region Europa (Mailand) | `arn:aws:lambda:eu-south-1:325218067255:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Region Europa (Paris) | `arn:aws:lambda:eu-west-3:780235371811:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Region Europa (Spanien) | `arn:aws:lambda:eu-south-2:524103009944:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:46` | 
| Region Europa (Stockholm) | `arn:aws:lambda:eu-north-1:427196147048:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Israel (Tel Aviv) | `arn:aws:lambda:il-central-1:148806536434:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:34` | 
| Region Europa (Zürich) | `arn:aws:lambda:eu-central-2:772501565639:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:34` | 
| Region Mexiko (Zentral) | `arn:aws:lambda:mx-central-1:241533131596:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:31` | 
| Region Naher Osten (Bahrain) | `arn:aws:lambda:me-south-1:832021897121:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:55` | 
| Naher Osten (VAE) | `arn:aws:lambda:me-central-1:858974508948:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| Region Südamerika (São Paulo) | `arn:aws:lambda:sa-east-1:933737806257:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:58` | 
| AWS GovCloud (US-Ost) | `arn:aws-us-gov:lambda:us-gov-east-1:129776340158:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 
| AWS GovCloud (US-West) | `arn:aws-us-gov:lambda:us-gov-west-1:127562683043:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:47` | 

# Integration in andere Produkte und Services
<a name="integrations-partners"></a>

AWS Systems Manager verfügt über eine integrierte Integration für die in der folgenden Tabelle aufgeführten Produkte und Dienstleistungen.


|  |  | 
| --- |--- |
|  Ansible  |  [https://www.ansible.com/](https://www.ansible.com/) ist eine IT-Automatisierungsplattform, mit der Ihre Anwendungen und Systeme einfacher bereitgestellt werden können. Systems Manager stellt das Systems-Manager-Dokument zur Verfügung (SSM-Dokument) `AWS-ApplyAnsiblePlaybooks`, mit dem Sie State Manager-Zuordnungen erstellen können, die Ansible Playbooks ausführen.  Weitere Informationen [Erstellen von Zuordnungen, die Ansible-Playbooks ausführen](systems-manager-state-manager-ansible.md)   | 
|  Chef  |  [https://www.chef.io/](https://www.chef.io/) ist ein IT-Automatisierungstool, mit der Ihre Anwendungen und Systeme einfacher bereitgestellt werden können. Systems Manager stellt das `AWS-ApplyChefRecipes` SSM-Dokument bereit, mit dem Sie Zuordnungen in State Manager erstellen können, einem Tool in AWS Systems Manager, die Chef-Rezepte ausführen.  Weitere Informationen [Erstellen von Zuordnungen, die Chef-Rezepte ausführen](systems-manager-state-manager-chef.md)  Systems Manager lässt sich auch in [https://www.chef.io/products/chef-inspec/](https://www.chef.io/products/chef-inspec/)-Profile integrieren, sodass Sie Compliance-Scans ausführen und konforme und nicht konforme Knoten anzeigen können.  Weitere Informationen [Verwenden von Chef InSpec-Profilen mit Systems Manager Compliance](integration-chef-inspec.md)   | 
|  GitHub  |  [https://github.com/](https://github.com/) bietet Hosting für Software-Entwicklung-Versionskontrolle und Zusammenarbeit. Systems Manager stellt das SSM-Dokument `AWS-RunDocument` bereit, mit dem Sie andere SSM-Dokumente ausführen können, die in GitHub gespeichert sind, und das SSM-Dokument `AWS-RunRemoteScript`, mit dem Sie Skripte ausführen können, die in GitHub gespeichert sind. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-partners.html)  | 
|  Jenkins  |  [https://www.jenkins.io/](https://www.jenkins.io/) ist ein Open-Source-Automatisierungsserver, mit dem Entwickler ihre Software zuverlässig erstellen, testen und bereitstellen können. Automation, ein Tool in Systems Manager, kann als Post-Build-Schritt verwendet werden, um Anwendungsversionen in Amazon Machine Images (AMIs) vorzuinstallieren.  Weitere Informationen [Aktualisierung von AMIs mithilfe von Automation und Jenkins](automation-tutorial-update-patch-ami-jenkins-integration.md)   | 
|  ServiceNow  |  [https://www.servicenow.com/](https://www.servicenow.com/) ist ein Enterprise-Service-Management-System, mit dem Sie Ihre IT-Services und -Abläufe verwalten können. Automation, Change Manager, Incident Manager und OpsCenter, Tools in Systems Manager, lassen sich mithilfe des AWS Service Management Connectors in ServiceNow integrieren. Mit dieser Integration können Sie Korrespondenz anzeigen, erstellen, aktualisieren, hinzufügen und Anfragen AWS Support von bearbeitenServiceNow.  Weitere Informationen [Integration mit ServiceNow](integrations-partners-servicenow.md)    | 
| Terraform |  HashiCorp [Terraform](https://registry.terraform.io/) ist ein Open-Source-Softwaretool für *Infrastructure as Code* (IaC), das einen Befehlszeilenschnittstellen (CLI)-Workflow zur Verwaltung verschiedener Cloud-Services bereitstellt. Für Systems Manager können Sie Terraform Folgendes verwalten oder bereitstellen: **Ressourcen** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-partners.html) **Datenquellen** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/systems-manager/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [Ausführen von Skripts von GitHub](integration-remote-scripts.md)
+ [Verwenden von Chef InSpec-Profilen mit Systems Manager Compliance](integration-chef-inspec.md)
+ [Integration mit ServiceNow](integrations-partners-servicenow.md)

# Ausführen von Skripts von GitHub
<a name="integration-remote-scripts"></a>

In diesem Thema wird beschrieben, wie Sie das vordefinierte Systems Manager Manager-Dokument (SSM-Dokument) `AWS-RunRemoteScript` zum Herunterladen von Skripten verwendenGitHub, einschließlich Ansible Playbooks, Python, Ruby und Skripten. PowerShell Durch die Verwendung dieses SSM-Dokuments müssen Sie Skripts nicht mehr manuell in Amazon Elastic Compute Cloud (Amazon EC2) portieren oder in SSM-Dokumente einbinden. AWS Systems Manager Die Integration mit GitHub fördert *Infrastruktur als Code*, wodurch der Zeitaufwand für die Verwaltung von Knoten reduziert und gleichzeitig die Konfigurationen für Ihre gesamte Flotte standardisiert werden. 

Sie können auch benutzerdefinierte Systems Manager-Dokumente erstellen, mit denen Sie Skripts oder andere Systems Manager-Dokumente von Remote-Speicherorten herunterladen und ausführen können. Weitere Informationen finden Sie unter [Erstellen von zusammengesetzten Dokumenten](documents-creating-content.md#documents-creating-composite).

Sie können auch ein Verzeichnis mit mehreren Skripts herunterladen. Wenn Sie das primäre Skript im Verzeichnis ausführen, führt Systems Manager auch alle referenzierten Skripts aus, die im Verzeichnis enthalten sind. 

Beachten Sie die folgenden wichtigen Hinweise zum Ausführen von Skripts von GitHub.
+ Systems Manager prüft nicht, ob Ihr Skript auf einem Knoten ausgeführt werden kann. Stellen Sie sicher, dass die erforderliche Software auf dem Knoten installiert ist, bevor Sie das Skript herunterladen und ausführen. Sie können auch ein zusammengesetztes Dokument erstellen, in dem die Software installiert wird, indem Sie entweder Run Command oderState Manager, Tools in AWS Systems Manager verwenden und dann das Skript herunterladen und ausführen.
+ Sie sind dafür verantwortlich, sicherzustellen, dass alle GitHub-Anforderungen erfüllt sind. Dies umfasst die Aktualisierung Ihres Zugriffstokens, wenn erforderlich. Stellen Sie sicher, dass Sie die Anzahl an authentifizierten oder nicht authentifizierten Anfragen nicht überschreiten. Weitere Informationen finden Sie in der Dokumentation zu GitHub.
+ GitHub Enterprise-Repositorys werden nicht unterstützt.

**Topics**
+ [Ansible-Playbooks ausführen von GitHub](integration-github-ansible.md)
+ [Python-Skripte von GitHub ausführen](integration-github-python.md)

# Ansible-Playbooks ausführen von GitHub
<a name="integration-github-ansible"></a>

Dieser Abschnitt beschreibt Verfahren zum Ausführen von Ansible Playbooks von GitHub mithilfe der Konsole oder der AWS Command Line Interface (AWS CLI).

**Bevor Sie beginnen**  
Wenn Sie ein in einem privaten GitHub Repository gespeichertes Skript ausführen möchten, erstellen Sie einen AWS Systems Manager `SecureString` Parameter für Ihr GitHub Sicherheitszugriffstoken. Sie können nicht auf ein Skript in einem privaten GitHub-Repository zugreifen, indem Sie Ihr Token manuell über SSH übergeben. Das Zugriffstoken muss als `SecureString`-Systems Manager-Parameter übertragen werden. Weitere Informationen zum Erstellen eines `SecureString`-Parameters finden Sie unter [Parameter Store-Parameter im Systems Manager erstellen](sysman-paramstore-su-create.md).

## Führen Sie ein Ansible-Playbook von GitHub (Konsole) aus
<a name="integration-github-ansible-console"></a>

**Ansible-Playbooks von GitHub ausführen**

1. Öffnen Sie die AWS Systems Manager Konsole unter [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Wählen Sie im Navigationsbereich **Run Command** aus.

1. Wählen Sie **Befehl ausführen** aus.

1. Wählen Sie in der Liste **Command document** (Befehlsdokument) die Option **`AWS-RunRemoteScript`** aus.

1. Führen Sie unter **Command parameters** die folgenden Schritte aus:
   + Wählen Sie unter **Quelltyp** die **GitHub** aus. 
   + Geben Sie im Feld **Source Info** die für den Zugriff auf die Quelle erforderlichen Informationen im folgenden Format an.

     ```
     {
       "owner": "owner_name",
       "repository": "repository_name", 
       "getOptions": "branch:branch_name",
       "path": "path_to_scripts_or_directory",
       "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}" 
     }
     ```

     Dieses Beispiel lädt eine Datei mit dem Namen `webserver.yml` herunter. 

     ```
     {
         "owner": "TestUser1",
         "repository": "GitHubPrivateTest",
         "getOptions": "branch:myBranch",
         "path": "scripts/webserver.yml",
         "tokenInfo": "{{ssm-secure:mySecureStringParameter}}"
     }
     ```
**Anmerkung**  
`"branch"` ist nur erforderlich, wenn Ihr SSM-Dokument in einer anderen Verzweigung als `master` gespeichert ist.  
Um die Version Ihrer Skripts zu verwenden, die sich in einem bestimmten *Commit* in Ihrem Repository befinden, verwenden Sie `commitID` mit `getOptions`statt `branch`. Zum Beispiel:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + Geben Sie im Feld **Command Line** Parameter für die Skriptausführung ein. Ein Beispiel.

     **ansible-playbook -i “localhost,” --check -c local webserver.yml**
   + (Optional) Geben Sie im Feld **Working Directory** (Arbeitsverzeichnis) den Namen eines Verzeichnisses auf dem Knoten ein, auf dem das Skript heruntergeladen und ausgeführt werden soll.
   + (Optional) Geben Sie unter **Execution Timeout** die Dauer in Sekunden an, bis das System die Skriptbefehlausführung fehlschlagen lässt. 

1. Identifizieren Sie für den Abschnitt **Targets** (Ziele) die verwalteten Knoten, auf denen Sie diese Operation ausführen möchten, indem Sie Tags angeben, Instances oder Edge-Geräte manuell auswählen oder eine Ressourcengruppe angeben.
**Tipp**  
Wenn ein verwalteter Knoten, den Sie erwarten, nicht aufgeführt ist, finden Sie weitere Informationen unter [Problembehandlung bei der Verfügbarkeit verwalteter Knoten](fleet-manager-troubleshooting-managed-nodes.md) Tipps zur Fehlerbehebung.

1. Für **Weitere Parameter**:
   + Geben Sie im Feld **Kommentar** Informationen zu diesem Befehl ein.
   + Geben Sie für **Timeout (Sekunden)** in Sekunden an, wie lange gewartet werden soll, bis für die gesamte Befehlsausführung ein Fehler auftritt. 

1. Für **Ratenregelung**:
   + Geben Sie unter **Nebenläufigkeit** entweder eine Zahl oder einen Prozentsatz der verwalteten Knoten an, auf denen der Befehl gleichzeitig ausgeführt werden soll.
**Anmerkung**  
Wenn Sie Ziele ausgewählt haben, indem Sie Tags für verwaltete Knoten oder AWS Ressourcengruppen angegeben haben und Sie sich nicht sicher sind, wie viele verwaltete Knoten das Ziel sind, schränken Sie die Anzahl der Ziele ein, die das Dokument gleichzeitig ausführen können, indem Sie einen Prozentsatz angeben.
   + Geben Sie unter **Fehlerschwellenwert** an, wann die Ausführung des Befehls auf anderen verwalteten Knoten beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Knoten ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, sendet Systems Manager keinen Befehl mehr, wenn der vierte Fehler empfangen wird. Von verwalteten Knoten, auf denen der Befehl noch verarbeitet wird, werden unter Umständen ebenfalls Fehler gesendet.

1. (Optional) Wenn Sie im Abschnitt **Ausgabeoptionen** die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen **Schreiben in einen S3-Bucket aktivieren**. Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.
**Anmerkung**  
Die S3-Berechtigungen zum Schreiben von Daten in einen S3-Bucket sind diejenigen des Instance-Profils (für EC2-Instances) oder der IAM-Servicerolle (hybrid-aktivierte Maschinen), die der Instance zugewiesen sind, und nicht diejenigen des IAM-Benutzers, der diese Aufgabe ausführt. Weitere Informationen finden Sie unter [Instance-Berechtigungen für Systems Manager konfigurieren](setup-instance-permissions.md) oder [Eine IAM-Servicerolle für eine Hybrid-Umgebung erstellen](hybrid-multicloud-service-role.md). Wenn sich der angegebene S3-Bucket in einem anderen AWS-Konto befindet, stellen Sie außerdem sicher, dass das Instance-Profil oder die IAM-Servicerolle, die dem verwalteten Knoten zugeordnet ist, über die erforderlichen Berechtigungen zum Schreiben in diesen Bucket verfügt.

1. Aktivieren Sie das Kontrollkästchen **SNS-Benachrichtigungen aktivieren** im Abschnitt **SNS-Benachrichtigungen**, wenn Sie über den Status der Befehlsausführung benachrichtigt werden möchten,

   Weitere Informationen zum Konfigurieren von Amazon-SNS-Benachrichtigungen für Run Command finden Sie unter [Überwachung von Systems Manager-Statusänderungen mit Amazon SNS-Benachrichtigungen](monitoring-sns-notifications.md).

1. Klicken Sie auf **Ausführen**.

## Führen Sie ein Ansible Playbook aus, GitHub indem Sie AWS CLI
<a name="integration-github-ansible-cli"></a>

1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

   Weitere Informationen finden Sie unter [Installieren oder Aktualisieren der neuesten Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Führen Sie den folgenden Befehl aus, um ein Skript von GitHub herunterzuladen und auszuführen.

   ```
   aws ssm send-command \
       --document-name "AWS-RunRemoteScript" \
       --instance-ids "instance-IDs"\
       --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\": \"repository_name\", \"path\": \"path_to_file_or_directory\", \"tokenInfo\":\"{{ssm-secure:name_of_your_SecureString_parameter}}\" }"],"commandLine":["commands_to_run"]}'
   ```

   Hier ist ein Beispielbefehl für die Ausführung auf einem lokalen Linux-Computer.

   ```
   aws ssm send-command \    
       --document-name "AWS-RunRemoteScript" \
       --instance-ids "i-02573cafcfEXAMPLE" \
       --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\": \"GitHubPrivateTest\", \"path\": \"scripts/webserver.yml\", \"tokenInfo\":\"{{ssm-secure:mySecureStringParameter}}\" }"],"commandLine":["ansible-playbook -i “localhost,” --check -c local webserver.yml"]}'
   ```

# Python-Skripte von GitHub ausführen
<a name="integration-github-python"></a>

Dieser Abschnitt enthält Verfahren, mit denen Sie Python-Skripte entweder über die AWS Systems Manager Konsole oder die AWS Command Line Interface (AWS CLI) ausführen können. GitHub 

## Ausführen eines Python-Skripts von GitHub (Konsole)
<a name="integration-github-python-console"></a>

**Ausführen eines Python-Skripts von GitHub**

1. Öffnen Sie die AWS Systems Manager Konsole unter [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Wählen Sie im Navigationsbereich **Run Command** aus.

1. Wählen Sie **Befehl ausführen** aus.

1. Wählen Sie in der Liste **Command document** (Befehlsdokument) die Option **`AWS-RunRemoteScript`** aus.

1. Führen Sie unter **Command parameters (Befehlsparameter)** die folgenden Schritte aus:
   + Wählen Sie unter **Quelltyp** die **GitHub** aus. 
   + Geben Sie im Feld **Source Info** die für den Zugriff auf die Quelle erforderlichen Informationen im folgenden Format an:

     ```
     {
         "owner": "owner_name",
         "repository": "repository_name",
         "getOptions": "branch:branch_name",
         "path": "path_to_document",
         "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}"
     }
     ```

     Im Folgenden wird beispielsweise ein Verzeichnis von Skripts mit dem Namen *complex-script* heruntergeladen.

     ```
     {
         "owner": "TestUser1",
         "repository": "SSMTestDocsRepo",
         "getOptions": "branch:myBranch",
         "path": "scripts/python/complex-script",
         "tokenInfo": "{{ssm-secure:myAccessTokenParam}}"
     }
     ```
**Anmerkung**  
`"branch"` ist nur erforderlich, wenn Ihre Skripts in einer anderen Verzweigung als `master` gespeichert sind.  
Um die Version Ihrer Skripts zu verwenden, die sich in einem bestimmten *Commit* in Ihrem Repository befinden, verwenden Sie `commitID` mit `getOptions`statt `branch`. Zum Beispiel:  
`"getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",`
   + Geben Sie für **Command Line (Befehlszeile)** Parameter für die Skriptausführung ein. Ein Beispiel.

     ```
     mainFile.py argument-1 argument-2
     ```

     In diesem Beispiel wird `mainFile.py` ausgeführt. Diese Datei kann anschließend andere Skripts im Verzeichnis `complex-script` ausführen.
   + (Optional) Geben Sie für **Working Directory** (Arbeitsverzeichnis) den Namen eines Verzeichnisses auf dem Knoten ein, auf dem das Skript heruntergeladen und ausgeführt werden soll.
   + (Optional) Geben Sie für **Execution Timeout (Ausführungstimeout)** die Dauer in Sekunden an, bis das System die Skriptbefehlausführung fehlschlagen lässt. 

1. Identifizieren Sie für den Abschnitt **Targets** (Ziele) die verwalteten Knoten, auf denen Sie diese Operation ausführen möchten, indem Sie Tags angeben, Instances oder Edge-Geräte manuell auswählen oder eine Ressourcengruppe angeben.
**Tipp**  
Wenn ein verwalteter Knoten, den Sie erwarten, nicht aufgeführt ist, finden Sie weitere Informationen unter [Problembehandlung bei der Verfügbarkeit verwalteter Knoten](fleet-manager-troubleshooting-managed-nodes.md) Tipps zur Fehlerbehebung.

1. Für **Weitere Parameter**:
   + Geben Sie im Feld **Kommentar** Informationen zu diesem Befehl ein.
   + Geben Sie für **Timeout (Sekunden)** in Sekunden an, wie lange gewartet werden soll, bis für die gesamte Befehlsausführung ein Fehler auftritt. 

1. Für **Ratenregelung**:
   + Geben Sie unter **Nebenläufigkeit** entweder eine Zahl oder einen Prozentsatz der verwalteten Knoten an, auf denen der Befehl gleichzeitig ausgeführt werden soll.
**Anmerkung**  
Wenn Sie Ziele ausgewählt haben, indem Sie Tags für verwaltete Knoten oder AWS Ressourcengruppen angegeben haben und Sie sich nicht sicher sind, wie viele verwaltete Knoten das Ziel sind, schränken Sie die Anzahl der Ziele ein, die das Dokument gleichzeitig ausführen können, indem Sie einen Prozentsatz angeben.
   + Geben Sie unter **Fehlerschwellenwert** an, wann die Ausführung des Befehls auf anderen verwalteten Knoten beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Knoten ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, sendet Systems Manager keinen Befehl mehr, wenn der vierte Fehler empfangen wird. Von verwalteten Knoten, auf denen der Befehl noch verarbeitet wird, werden unter Umständen ebenfalls Fehler gesendet.

1. (Optional) Wenn Sie im Abschnitt **Ausgabeoptionen** die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen **Schreiben in einen S3-Bucket aktivieren**. Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.
**Anmerkung**  
Die S3-Berechtigungen zum Schreiben von Daten in einen S3-Bucket sind diejenigen des Instance-Profils (für EC2-Instances) oder der IAM-Servicerolle (hybrid-aktivierte Maschinen), die der Instance zugewiesen sind, und nicht diejenigen des IAM-Benutzers, der diese Aufgabe ausführt. Weitere Informationen finden Sie unter [Instance-Berechtigungen für Systems Manager konfigurieren](setup-instance-permissions.md) oder [Eine IAM-Servicerolle für eine Hybrid-Umgebung erstellen](hybrid-multicloud-service-role.md). Wenn sich der angegebene S3-Bucket in einem anderen AWS-Konto befindet, stellen Sie außerdem sicher, dass das Instance-Profil oder die IAM-Servicerolle, die dem verwalteten Knoten zugeordnet ist, über die erforderlichen Berechtigungen zum Schreiben in diesen Bucket verfügt.

1. Aktivieren Sie das Kontrollkästchen **SNS-Benachrichtigungen aktivieren** im Abschnitt **SNS-Benachrichtigungen**, wenn Sie über den Status der Befehlsausführung benachrichtigt werden möchten,

   Weitere Informationen zum Konfigurieren von Amazon-SNS-Benachrichtigungen für Run Command finden Sie unter [Überwachung von Systems Manager-Statusänderungen mit Amazon SNS-Benachrichtigungen](monitoring-sns-notifications.md).

1. Klicken Sie auf **Ausführen**.

## Führen Sie ein Python-Skript aus, GitHub indem Sie den AWS CLI
<a name="integration-github-python-cli"></a>

1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

   Weitere Informationen finden Sie unter [Installieren oder Aktualisieren der neuesten Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Führen Sie den folgenden Befehl aus, um ein Skript von GitHub herunterzuladen und auszuführen.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "instance-IDs" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"path_to_script_or_directory"}"],"commandLine":["commands_to_run"]}'
   ```

   Ein Beispiel.

   ```
   aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-02573cafcfEXAMPLE" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\":\"GitHubTestPublic\", \"path\": \"scripts/python/complex-script\"}"],"commandLine":["mainFile.py argument-1 argument-2 "]}'
   ```

   In diesem Beispiel wird ein Verzeichnis von Skripts mit dem Namen `complex-script` heruntergeladen. Der `commandLine`-Eintrag führt `mainFile.py` aus. Diese Datei kann anschließend andere Skripts im Verzeichnis `complex-script` ausführen.

# Verwenden von Chef InSpec-Profilen mit Systems Manager Compliance
<a name="integration-chef-inspec"></a>

AWS Systems Manager integriert mit [https://www.chef.io/products/chef-inspec](https://www.chef.io/products/chef-inspec). Chef InSpecist ein Open-Source-Testframework, mit dem Sie menschenlesbare Profile erstellen können, um sie in GitHub oder im Amazon Simple Storage Service (Amazon S3) zu speichern. Anschließend können Sie Systems Manager verwenden, um Compliance-Scans auszuführen und konforme und nicht konforme Knoten anzuzeigen. Ein *Profil* ist eine Sicherheits-, Compliance- oder Richtlinienanforderung für Ihre Datenverarbeitungsumgebung. Sie können beispielsweise Profile erstellen, die folgende Überprüfungen durchführen, wenn Sie Ihre Knoten mit Compliance scannen, einem Tool in AWS Systems Manager:
+ Überprüfen Sie, ob bestimmte Ports geöffnet oder geschlossen sind.
+ Überprüfen Sie, ob bestimmte Anwendungen ausgeführt werden.
+ Überprüfen Sie, ob bestimmte Pakete installiert sind.
+ Prüfen Sie die Windows-Registry-Schlüssel auf spezifische Eigenschaften.

Sie können InSpec Profile *nur* für Amazon Elastic Compute Cloud (Amazon EC2) -Instances erstellen, die Sie mit Systems Manager verwalten. Lokale Server oder virtuelle Maschinen (VMs) werden nicht unterstützt. Das folgende Chef InSpec-Beispielprofil prüft, ob Port 22 geöffnet ist.

```
control 'Scan Port' do
impact 10.0
title 'Server: Configure the service port'
desc 'Always specify which port the SSH server should listen to.
Prevent unexpected settings.'
describe sshd_config do
its('Port') { should eq('22') }
end
end
```

InSpec enthält eine Sammlung von Ressourcen, mit denen Sie schnell Schecks und Prüfkontrollen erstellen können. InSpec verwendet die [InSpecdomänenspezifische Sprache (DSL)](https://docs.chef.io/inspec/7.0/reference/glossary/#dsl) zum Schreiben dieser Steuerelemente in Ruby. Sie können auch Profile verwenden, die von einer großen Benutzergemeinschaft erstellt wurden. InSpec Zum Beispiel GitHub umfasst das [DevSec chef-os-hardening](https://github.com/dev-sec/chef-os-hardening)Projekt auf Dutzende von Profilen, mit denen Sie Ihre Knoten schützen können. Sie können Profile in GitHub oder Amazon S3 erstellen und speichern. 

## Funktionsweise
<a name="integration-chef-inspec-how"></a>

So funktioniert die Verwendung von InSpec Profilen mit Compliance:

1. Identifizieren Sie entweder vordefinierte InSpec Profile, die Sie verwenden möchten, oder erstellen Sie Ihre eigenen. Sie können zunächst [vordefinierte Profile](https://github.com/search?p=1&q=topic%3Ainspec+org%3Adev-sec&type=Repositories) auf GitHub verwenden. Informationen zum Erstellen eigener InSpec Profile finden Sie unter [Chef InSpecChef-Profile](https://www.inspec.io/docs/reference/profiles/).

1. Speichern Sie Profile entweder in einem öffentlichen oder privaten GitHub-Repository oder in einem S3-Bucket.

1. Führen Sie Compliance mit Ihren InSpec Profilen mithilfe des Systems Manager Manager-Dokuments (SSM-Dokument) `AWS-RunInspecChecks` durch. Sie können einen Konformitätsscan startenRun Command, indem Sie ein Tool in AWS Systems Manager für On-Demand-Scans verwenden, oder Sie können regelmäßige Konformitätsscans mithilfe State Manager eines Tools in AWS Systems Manager planen.

1. Identifizieren Sie nicht konforme Knoten, indem Sie die Compliance-API oder Compliance-Konsole verwenden.

**Anmerkung**  
Notieren Sie die folgenden Informationen:  
Chef verwendet einen Client auf Ihren Knoten zur Verarbeitung des Profils. Sie müssen den Client nicht installieren. Wenn Systems Manager das SSM-Dokument `AWS-RunInspecChecks` ausführt, prüft das System, ob der Client installiert ist. Falls nicht, installiert Systems Manager den Chef-Client während des Scans und deinstalliert den Client wieder, nachdem der Scan abgeschlossen ist.
Ausführen des SSM-Dokuments `AWS-RunInspecChecks`, weist, wie in diesem Thema beschrieben, einen Compliance-Eintrag vom Typ `Custom:Inspec` zu jedem Ziel-Knoten zu. Um diesen Konformitätstyp zuzuweisen, ruft das Dokument den [PutComplianceItems](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutComplianceItems.html)API-Vorgang auf.

## Einen InSpec Konformitätsscan ausführen
<a name="integration-chef-inspec-running"></a>

Dieser Abschnitt enthält Informationen zum Ausführen eines InSpec Konformitätsscans mithilfe der Systems Manager Manager-Konsole und der AWS Command Line Interface (AWS CLI). In der Konsolenprozedur wird angezeigt, wie Sie State Manager konfigurieren, um den Scan auszuführen. Das AWS CLI Verfahren zeigt, wie die Konfiguration für Run Command die Ausführung des Scans konfiguriert wird.

### Ausführen eines InSpec Konformitätsscans mit State Manager (Konsole)
<a name="integration-chef-inspec-running-console"></a>

**Um einen InSpec Konformitätsscan State Manager mit der AWS Systems Manager Konsole auszuführen**

1. Öffnen Sie die AWS Systems Manager Konsole unter [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Wählen Sie im Navigationsbereich **State Manager** aus.

1. Wählen Sie **Create association (Zuordnung erstellen)** aus.

1. Geben Sie im Abschnitt **Provide association details** (Zuordungsdetails bereitstellen) einen Namen ein.

1. Wählen Sie in der Liste **Dokument** die Option **`AWS-RunInspecChecks`**. aus.

1. Wählen Sie in der Liste **Document version** (Dokumentversion) die Option **Latest at runtime** (Neueste zur Laufzeit) aus.

1. Klicken Sie im Abschnitt **Parameter**, in der Liste **Quelltyp** entweder auf **GitHub** oder **S3**.

   Wenn Sie möchten **GitHub**, geben Sie den Pfad zu einem InSpec Profil in einem öffentlichen oder privaten GitHub Repository in das Feld **Quellinformationen** ein. Hier ist ein Beispielpfad zu einem öffentlichen Profil, das vom Systems Manager Manager-Team vom folgenden Ort aus bereitgestellt wurde: [https://github.com/awslabs/amazon- ssm/tree/master/Compliance/InSpec/PortCheck](https://github.com/awslabs/amazon-ssm/tree/master/Compliance/InSpec/PortCheck).

   ```
   {"owner":"awslabs","repository":"amazon-ssm","path":"Compliance/InSpec/PortCheck","getOptions":"branch:master"}
   ```

   Wenn Sie **S3** wählen, geben Sie im Feld **Quellinformationen** eine gültige URL zu einem InSpec Profil in einem S3-Bucket ein. 

   Weitere Informationen zur Integration von Systems Manager mit GitHub und Amazon S3 finden Sie unter [Ausführen von Skripts von GitHub](integration-remote-scripts.md). 

1. Identifizieren Sie für den Abschnitt **Ziele** die verwalteten Knoten, auf denen Sie diese Operation ausführen möchten, indem Sie Tags angeben, Instances oder Edge-Geräte manuell auswählen oder eine Ressourcengruppe angeben.
**Tipp**  
Wenn ein verwalteter Knoten, den Sie erwarten, nicht aufgeführt ist, finden Sie weitere Informationen unter [Problembehandlung bei der Verfügbarkeit verwalteter Knoten](fleet-manager-troubleshooting-managed-nodes.md) Tipps zur Fehlerbehebung.

1. Verwenden Sie im Abschnitt **Specify schedule** (Zeitplan festlegen) die Zeitplan-Builder-Optionen, um einen Zeitplan für das Ausführen des Compliance-Scans zu erstellen.

1. Für **Ratenregelung**:
   + Geben Sie unter **Nebenläufigkeit** entweder eine Zahl oder einen Prozentsatz der verwalteten Knoten an, auf denen der Befehl gleichzeitig ausgeführt werden soll.
**Anmerkung**  
Wenn Sie Ziele ausgewählt haben, indem Sie Tags angegeben haben, die auf verwaltete Knoten angewendet wurden, oder indem Sie AWS Ressourcengruppen angegeben haben und Sie sich nicht sicher sind, wie viele verwaltete Knoten das Ziel sind, schränken Sie die Anzahl der Ziele ein, die das Dokument gleichzeitig ausführen können, indem Sie einen Prozentsatz angeben.
   + Geben Sie unter **Fehlerschwellenwert** an, wann die Ausführung des Befehls auf anderen verwalteten Knoten beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Knoten ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, sendet Systems Manager keinen Befehl mehr, wenn der vierte Fehler empfangen wird. Von verwalteten Knoten, auf denen der Befehl noch verarbeitet wird, werden unter Umständen ebenfalls Fehler gesendet.

1. (Optional) Wenn Sie im Abschnitt **Ausgabeoptionen** die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen **Schreiben in einen S3-Bucket aktivieren**. Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.
**Anmerkung**  
Die S3-Berechtigungen zum Schreiben von Daten in einen S3-Bucket sind diejenigen des Instance-Profils (für EC2-Instances) oder der IAM-Servicerolle (hybrid-aktivierte Maschinen), die der Instance zugewiesen sind, und nicht diejenigen des IAM-Benutzers, der diese Aufgabe ausführt. Weitere Informationen finden Sie unter [Instance-Berechtigungen für Systems Manager konfigurieren](setup-instance-permissions.md) oder [Eine IAM-Servicerolle für eine Hybrid-Umgebung erstellen](hybrid-multicloud-service-role.md). Wenn sich der angegebene S3-Bucket in einem anderen AWS-Konto befindet, stellen Sie außerdem sicher, dass das Instance-Profil oder die IAM-Servicerolle, die dem verwalteten Knoten zugeordnet ist, über die erforderlichen Berechtigungen zum Schreiben in diesen Bucket verfügt.

1. Wählen Sie **Zuordnung erstellen**. Das System erstellt die Zuordnung und führt den Compliance-Scan automatisch aus.

1. Warten Sie einige Minuten, bis der Scan abgeschlossen ist, und wählen Sie dann **Compliance** im Navigationsbereich aus.

1. Suchen Sie unter **Corresponding managed instances** (Entsprechende verwaltete Instances) die Knoten, in denen die Spalte **Compliance Type** (Compliance-Typ) **Custom:Inspec** lautet.

1. Wählen Sie eine Knoten-ID aus, um die Details von nicht konformen Status anzuzeigen.

### Einen InSpec Konformitätsscan mit Run Command (AWS CLI) ausführen
<a name="integration-chef-inspec-running-cli"></a>

1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

   Weitere Informationen finden Sie unter [Installieren oder Aktualisieren der neuesten Version von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Führen Sie einen der folgenden Befehle aus, um ein InSpec Profil GitHub entweder von Amazon S3 aus auszuführen.

   Der -Befehl verwendet die folgenden Parameter:
   + **sourceType**: GitHub oder Amazon S3
   + **sourceInfo**: URL zum InSpec Profilordner entweder in GitHub oder einem S3-Bucket. Der Ordner muss die InSpec Basisdatei (\$1.yml) und alle zugehörigen Steuerelemente (\$1.rb) enthalten.

   **GitHub**

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"Inspec.yml_file"}"]}'
   ```

   Ein Beispiel.

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters '{"sourceType":["GitHub"],"getOptions":"branch:master","sourceInfo":["{\"owner\":\"awslabs\", \"repository\":\"amazon-ssm\", \"path\": \"Compliance/InSpec/PortCheck\"}"]}'
   ```

   **Amazon S3**

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:tag_name","Values":["tag_value"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/Inspec.yml_file\"}"]}'
   ```

   Ein Beispiel.

   ```
   aws ssm send-command --document-name "AWS-RunInspecChecks" --targets '[{"Key":"tag:testEnvironment","Values":["webServers"]}]' --parameters'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3.aws-api-domain/amzn-s3-demo-bucket/InSpec/PortCheck.yml\"}"]}' 
   ```

1. Führen Sie den folgenden Befehl aus, um eine Übersicht des Compliance-Scans anzuzeigen.

   ```
   aws ssm list-resource-compliance-summaries --filters Key=ComplianceType,Values=Custom:Inspec
   ```

1. Führen Sie den folgenden Befehl aus, um Details eines Knotens anzuzeigen, der nicht konform ist.

   ```
   aws ssm list-compliance-items --resource-ids node_ID --resource-type ManagedInstance --filters Key=DocumentName,Values=AWS-RunInspecChecks
   ```

# Integration mit ServiceNow
<a name="integrations-partners-servicenow"></a>

ServiceNow bietet ein Cloud-basiertes Servicemanagement-System zum Erstellen und Verwalten von Workflows auf Organisationsebene, z. B. für IT-Services, Ticketing-Systeme und Support. Der AWS Service Management Connector ist in Systems Manager integriertServiceNow, um AWS Ressourcen von dort bereitzustellen, zu verwalten und zu betreibenServiceNow. Sie können den AWS Service Management Connector für die Integration ServiceNow mit AutomationChange Manager, Incident Manager und OpsCenter allen Tools in verwenden AWS Systems Manager. 

Sie können mit ServiceNow folgende Aufgaben ausführen: 
+ Führen Sie Automatisierungs-Playbooks aus Systems Manager aus. 
+ Zeigen Sie Incidents über Systems Manager OpsItems an, aktualisieren diese und beheben Sie sie. 
+ Zeigen Sie Betriebselemente, z. B. Vorfälle, über Systems Manager OpsCenter an und verwalten Sie diese. 
+ Zeigen Sie aus einer kuratierten Liste vorab genehmigter Änderungsvorlagen Systems-Manager-Änderungsanforderungen an und führen Sie diese aus. 
+ Durch die Integration mit Incident Manager können Sie Vorfälle im Zusammenhang mit AWS gehosteten Anwendungen verwalten und lösen. 

**Anmerkung**  
Informationen zur Integration mit ServiceNow finden Sie unter [Konfiguration von AWS Serviceintegrationen im AWS Service](https://docs.aws.amazon.com/smc/latest/ag/sn-config-integ.html) *Management Connector-Administratorhandbuch*.