

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.

# Verwaltung benutzerdefinierter Plugins in Amazon OpenSearch Service
<a name="custom-plugins"></a>

Mithilfe benutzerdefinierter Plug-ins für OpenSearch Service können Sie die OpenSearch Funktionalität in Bereichen wie Sprachanalyse, benutzerdefinierte Filterung, Ranking und mehr erweitern, sodass Sie personalisierte Sucherlebnisse erstellen können. Benutzerdefinierte Plug-ins für OpenSearch können entwickelt werden, indem Sie die `org.opensearch.plugins.Plugin` Klasse erweitern und sie dann in eine `.zip` Datei packen. 

Die folgenden Plugin-Erweiterungen werden derzeit von Amazon OpenSearch Service unterstützt:
+ **AnalysisPlugin**— Erweitert die Analysefunktionalität, indem beispielsweise benutzerdefinierte Analysatoren, Zeichen-Tokenizer oder Filter für die Textverarbeitung hinzugefügt werden.
+ **SearchPlugin**— Verbessert die Suchfunktionen durch benutzerdefinierte Abfragetypen, Ähnlichkeitsalgorithmen, Vorschlagsoptionen und Aggregationen.
+ **MapperPlugin**— Ermöglicht es Ihnen, benutzerdefinierte Feldtypen und deren Zuordnungskonfigurationen in zu erstellen OpenSearch, sodass Sie definieren können, wie verschiedene Datentypen gespeichert und indexiert werden sollen.
+ **ScriptPlugin**— Ermöglicht das Hinzufügen benutzerdefinierter Skriptfunktionen zu OpenSearch beispielsweise benutzerdefinierten Skripten für Operationen wie Bewertung, Sortierung und Feldwerttransformationen während der Suche oder Indizierung.

Sie können die OpenSearch Service-Konsole oder bestehende API-Befehle für benutzerdefinierte Pakete verwenden, um das Plugin hochzuladen und mit dem Amazon OpenSearch Service-Cluster zu verknüpfen. Sie können den [DescribePackages](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DescribePackages.html)Befehl auch verwenden, um alle Pakete in Ihrem Konto zu beschreiben und Details wie OpenSearch Version und Fehlerdetails einzusehen. OpenSearch Der Dienst überprüft das Plugin-Paket auf Versionskompatibilität, Sicherheitslücken und zulässige Plugin-Operationen. Weitere Hinweise zu benutzerdefinierten Paketen finden Sie unter[Pakete in Amazon OpenSearch Service importieren und verwalten](custom-packages.md).

**OpenSearch Version und AWS-Region Unterstützung**  
Benutzerdefinierte Plugins werden in OpenSearch Service-Domänen, auf denen OpenSearch Version 2.15 ausgeführt wird, wie folgt AWS-Regionen unterstützt: 
+ USA Ost (Ohio): (us-east-2)
+ USA Ost (Nord-Virginia): (us-east-1)
+ USA West (Oregon): (us-west-2)
+ Asien-Pazifik (Mumbai): (ap-south-1)
+ Asien-Pazifik (Seoul): (ap-northeast-2)
+ Asien-Pazifik (Singapur): (ap-southeast-1)
+ Asien-Pazifik (Sydney): (ap-southeast-2)
+ Asien-Pazifik (Tokyo) (ap-northeast-1)
+ Kanada (Zentral): (ca-central-1)
+ Europa (Frankfurt) (eu-central-1)
+ Europa (Irland) (eu-west-1)
+ Europa (London) (eu-west-2)
+ Europa (Paris) (eu-west-3)
+ Südamerika (São Paulo) (sa-east-1)

**Anmerkung**  
Benutzerdefinierte Plugins enthalten vom Benutzer entwickelten Code. Für Probleme, einschließlich SLA-Verstöße, die durch von Benutzern entwickelten Code verursacht werden, können keine SLA-Gutschriften gutgeschrieben werden. Weitere Informationen finden Sie unter [Amazon OpenSearch Service — Service Level Agreement](https://aws.amazon.com/opensearch-service/sla/).

**Topics**
+ [Kontingente für Plugins](#plugin-limits)
+ [Voraussetzungen](#custom-plugin-prerequisites)
+ [Fehlerbehebung](#custom-plugin-troubleshooting)
+ [Installation eines benutzerdefinierten Plug-ins mithilfe der Konsole](#custom-plugin-install-console)
+ [Verwaltung benutzerdefinierter Plugins mit dem AWS CLI](#managing-custom-plugins-cli)
+ [AWS KMS Integration benutzerdefinierter Amazon OpenSearch Service-Pakete](custom-package-kms-integration.md)

## Kontingente für Plugins
<a name="plugin-limits"></a>
+ Sie können bis zu 25 benutzerdefinierte Plugins pro Konto und Region erstellen. 
+ Die maximale unkomprimierte Größe für ein Plugin beträgt 1 GB.
+ Die maximale Anzahl von Plugins, die einer einzelnen Domain zugeordnet werden können, beträgt 20. Dieses Kontingent gilt für alle Plugin-Typen zusammen: optional, Drittanbieter und benutzerdefiniert.
+ Benutzerdefinierte Plugins werden auf Domains unterstützt, auf denen OpenSearch Version 2.15 oder höher ausgeführt wird.
+ Die `descriptor.properties` Datei für Ihr Plugin muss eine Engine-Version unterstützen, die 2.15.0 oder eine beliebige 2.x.x-Version ähnelt, wobei die Patch-Version auf Null gesetzt ist.

## Voraussetzungen
<a name="custom-plugin-prerequisites"></a>

Bevor Sie ein benutzerdefiniertes Plugin installieren und es einer Domain zuordnen, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen:
+ Die unterstützte Engine-Version für das Plugin in der `descriptor.properties` Datei sollte `2.15.0` oder ähneln`2.x.0`. Das heißt, die Patch-Version muss Null sein.
+ Die folgenden Funktionen müssen auf Ihrer Domain aktiviert sein:
  +  [Node-to-node Verschlüsselung](ntn.md)
  +  [Verschlüsselung im Ruhezustand](encryption-at-rest.md)
  + [`EnforceHTTPS`ist auf 'true' gesetzt](createupdatedomains.md)

    Siehe auch [opensearch-https-required](https://docs.aws.amazon.com/config/latest/developerguide/opensearch-https-required.html)im *AWS Config Entwicklerhandbuch*.
  + Kunden müssen **Policy-Min-TLS-1-2-PFS-2023-10** unterstützen. Sie können diese Unterstützung mit dem folgenden Befehl angeben. Ersetzen Sie die *placeholder value* durch Ihre eigenen Informationen:

    ```
    aws opensearch update-domain-config \
        --domain-name domain-name \
        --domain-endpoint-options '{"TLSSecurityPolicy":"Policy-Min-TLS-1-2-PFS-2023-10" }'
    ```

    Weitere Informationen finden Sie [DomainEndpointOptions](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DomainEndpointOptions.html)in der *Amazon OpenSearch Service API-Referenz*.

## Fehlerbehebung
<a name="custom-plugin-troubleshooting"></a>

Wenn das System den Fehler zurückgibt`PluginValidationFailureReason : The provided plugin could not be loaded`, finden Sie Informationen [Die Installation eines benutzerdefinierten Plugins schlägt aufgrund der Versionskompatibilität fehl](handling-errors.md#troubleshooting-custom-plugins) zur Fehlerbehebung unter.

## Installation eines benutzerdefinierten Plug-ins mithilfe der Konsole
<a name="custom-plugin-install-console"></a>

Um ein Drittanbieter-Plugin mit einer Domain zu verknüpfen, importieren Sie zunächst die Plugin-Lizenz und die Konfiguration als Pakete.

**Um ein benutzerdefiniertes Plugin zu installieren**

1. Melden Sie sich zu [https://console.aws.amazon.com/aos/Hause](https://console.aws.amazon.com/aos/home) bei der Amazon OpenSearch Service-Konsole an.

1. Wählen Sie im linken Navigationsbereich **Pakete** aus.

1. Klicken Sie auf **Packet importieren**.

1. Geben Sie **unter Name** einen eindeutigen, leicht identifizierbaren Namen für das Plugin ein.

1. (Optional) Geben Sie unter **Beschreibung** alle nützlichen Informationen über das Paket oder seinen Zweck an.

1. Wählen Sie als **Pakettyp** die Option **Plugin** aus.

1. Geben Sie **Package Paketquelle** den Pfad ein oder suchen Sie nach der Plugin-ZIP-Datei in Amazon S3.

1. Wählen Sie als **OpenSearch Engine-Version** die Version aus OpenSearch , die das Plugin unterstützt.

1. Wählen Sie für **Paketverschlüsselung** aus, ob der Verschlüsselungsschlüssel für das Package angepasst werden soll. Standardmäßig verschlüsselt OpenSearch Service das Plugin-Paket mit einem AWS-eigener Schlüssel. Sie können stattdessen einen vom Kunden verwalteten Schlüssel verwenden.

1. Wählen Sie **Importieren** aus.

Nachdem Sie das Plugin-Paket importiert haben, ordnen Sie es einer Domain zu. Detaillierte Anweisungen finden Sie unter [Importieren Sie ein Paket und ordnen Sie es einer Domain zu](custom-packages.md#associate-console).

## Verwaltung benutzerdefinierter Plugins mit dem AWS CLI
<a name="managing-custom-plugins-cli"></a>

Sie können den verwenden AWS CLI , um eine Reihe von benutzerdefinierten Plugin-Aufgaben zu verwalten.

**Topics**
+ [Installation eines benutzerdefinierten Plugins mit dem AWS CLI](#custom-plugin-install-cli)
+ [Aktualisierung eines benutzerdefinierten Plugins mit dem AWS CLI](#custom-plugin-update-cli)
+ [Erstellen oder aktualisieren Sie ein benutzerdefiniertes Plugin mit einem AWS KMS Sicherheitsschlüssel](#custom-plugin-kms-key-security-cli)
+ [Aktualisieren einer OpenSearch Dienstdomäne mit benutzerdefinierten Plugins auf eine neuere Version der OpenSearch Verwendung von AWS CLI](#custom-plugin-domain-upgrade-cli)
+ [Deinstallation und Anzeige des Dissoziationsstatus eines benutzerdefinierten Plug-ins](#custom-plugin-uninstall-cli)

### Installation eines benutzerdefinierten Plugins mit dem AWS CLI
<a name="custom-plugin-install-cli"></a>

**Bevor Sie beginnen**  
Bevor Sie Ihrer Domain ein benutzerdefiniertes Plugin zuordnen können, müssen Sie es in einen Amazon Simple Storage Service (Amazon S3) -Bucket hochladen. Der Bucket muss sich an derselben AWS-Region Stelle befinden, an der Sie das Plugin verwenden möchten. Informationen zum Hinzufügen eines Objekts zu einem S3-Bucket finden Sie unter [Hochladen von Objekten](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) im *Amazon Simple Storage Service-Benutzerhandbuch*.

Wenn Ihr Plugin vertrauliche Informationen enthält, geben Sie beim Hochladen eine serverseitige Verschlüsselung mit S3-verwalteten Schlüsseln an. Nachdem Sie die Datei hochgeladen haben, notieren Sie deren S3-Pfad. Das Pfadformat lautet `s3://amzn-s3-demo-bucket/file-path/file-name`.

**Anmerkung**  
Sie können optional ein benutzerdefiniertes Plugin sichern, wenn Sie das Plugin erstellen, indem Sie einen AWS Key Management Service ()AWS KMS-Schlüssel angeben. Weitere Informationen finden Sie unter [Erstellen oder aktualisieren Sie ein benutzerdefiniertes Plugin mit einem AWS KMS Sicherheitsschlüssel](#custom-plugin-kms-key-security-cli).

**Um ein benutzerdefiniertes Plugin mit dem zu installieren AWS CLI**

1. Erstellen Sie ein neues Paket für Ihr benutzerdefiniertes Plugin, indem Sie den folgenden Befehl [create-package](https://docs.aws.amazon.com/cli/latest/reference/opensearch/create-package.html) ausführen und dabei sicherstellen, dass die folgenden Anforderungen erfüllt sind:
   + Der Bucket und die Schlüsselposition müssen auf die `.zip` Plugin-Datei in einem S3-Bucket in dem Konto verweisen, in dem Sie die Befehle ausführen. 
   + Der S3-Bucket muss sich in derselben Region befinden, in der das Paket erstellt wird. 
   + Für `ZIP-PLUGIN` Pakete werden nur `.zip` Dateien unterstützt. 
   + Der Inhalt der `.zip` Datei muss der vom Plugin erwarteten Verzeichnisstruktur folgen.
   + Der Wert für `--engine-version` muss das folgende Format haben`OpenSearch_{MAJOR}.{MINOR}`. Beispiel: **OpenSearch\$12.17**.

   Ersetzen Sie das *placeholder values* durch Ihre eigenen Informationen:

   ```
   aws opensearch create-package \
       --package-name package-name \
       --region region \
       --package-type ZIP-PLUGIN \
       --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=s3-key \
       --engine-version opensearch-version
   ```

1. (Optional) Mit dem Befehl [describe-packages](https://docs.aws.amazon.com/cli/latest/reference/es/describe-packages.html) können Sie sich den Status des `create-package` Vorgangs anzeigen lassen, einschließlich aller Validierungs- und Sicherheitslücken. Ersetzen Sie das *placeholder values* durch Ihre eigenen Informationen:

   ```
   aws opensearch describe-packages \
       --region region  \
       --filters '[{"Name": "PackageType","Value": ["ZIP-PLUGIN"]}, {"Name": "PackageName","Value": ["package-name"]}]'
   ```

   Die vom System zurückgegebenen Informationen ähneln den Folgenden:

   ```
   {
       "PackageDetailsList": [{
           "PackageID": "pkg-identifier",
           "PackageName": "package-name",
           "PackageType": "ZIP-PLUGIN",
           "PackageStatus": "VALIDATION_FAILED",
           "CreatedAt": "2024-11-11T13:07:18.297000-08:00",
           "LastUpdatedAt": "2024-11-11T13:10:13.843000-08:00",
           "ErrorDetails": {
               "ErrorType": "",
               "ErrorMessage": "PluginValidationFailureReason : Dependency Scan reported 3 vulnerabilities for the plugin: CVE-2022-23307, CVE-2019-17571, CVE-2022-23305"
           },
           "EngineVersion": "OpenSearch_2.15",
           "AllowListedUserList": [],
           "PackageOwner": "OWNER-XXXX"
       }]
   }
   ```
**Anmerkung**  
Während des `create-package` Vorgangs überprüft Amazon OpenSearch Service den `ZIP-PLUGIN` Wert auf Versionskompatibilität, unterstützte Plugin-Erweiterungen und Sicherheitslücken. Die Sicherheitslücken werden mit dem [Amazon Inspector-Service](https://aws.amazon.com/inspector/getting-started/) gescannt. Die Ergebnisse dieser Prüfungen werden im `ErrorDetails` Feld in der API-Antwort angezeigt.

1. Verwenden Sie den Befehl [associate-package](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-package.html), um das Plugin mithilfe der Paket-ID des im vorherigen Schritt erstellten Pakets der OpenSearch Service-Domain Ihrer Wahl zuzuordnen.
**Tipp**  
Wenn Sie über mehrere Plugins verfügen, können Sie stattdessen den Befehl [associate-packages](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-packages.html) verwenden, um mehrere Pakete in einem Vorgang einer Domain zuzuordnen. 

   Ersetzen Sie das *placeholder values* durch Ihre eigenen Informationen:

   ```
   aws opensearch associate-package \
       --domain-name domain-name \
       --region region \
       --package-id package-id
   ```
**Anmerkung**  
Das Plugin wird mithilfe eines [blauen/grünen Bereitstellungsprozesses](managedomains-configuration-changes.md) installiert und deinstalliert.

1. (Optional) Verwenden Sie den [list-packages-for-domain](https://docs.aws.amazon.com/cli/latest/reference/opensearch/list-packages-for-domain.html)Befehl, um den Status der Zuordnung anzuzeigen. Der Zuordnungsstatus ändert sich, je weiter der Workflow von `ASSOCIATING` bis `ACTIVE` voranschreitet. Der Zuordnungsstatus ändert sich auf AKTIV, nachdem die Plugin-Installation abgeschlossen ist und das Plug-in einsatzbereit ist.

   Ersetzen Sie *placeholder values* durch Ihre Informationen.

   ```
   aws opensearch list-packages-for-domain \
       --region region \
       --domain-name domain-name
   ```

### Aktualisierung eines benutzerdefinierten Plugins mit dem AWS CLI
<a name="custom-plugin-update-cli"></a>

Verwenden Sie den Befehl [update-package](https://docs.aws.amazon.com/cli/latest/reference/opensearch/update-package.html), um Änderungen an einem Plugin vorzunehmen.

**Anmerkung**  
Sie können optional ein benutzerdefiniertes Plugin sichern, wenn Sie das Plugin aktualisieren, indem Sie einen AWS Key Management Service (AWS KMS) -Schlüssel angeben. Weitere Informationen finden Sie unter [Erstellen oder aktualisieren Sie ein benutzerdefiniertes Plugin mit einem AWS KMS Sicherheitsschlüssel](#custom-plugin-kms-key-security-cli).

**Um ein benutzerdefiniertes Plugin mit dem zu aktualisieren AWS CLI**
+ Führen Sie den folgenden Befehl aus. Ersetzen Sie *placeholder values* durch Ihre Informationen.

  ```
  aws opensearch update-package \
      --region region \
      --package-id package-id \
      --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=s3-key \
      --package-description description
  ```

Nach der Aktualisierung eines Pakets können Sie den Befehl [associate-package oder [associate-packages](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-packages.html)](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-package.html) verwenden, um Paketaktualisierungen auf eine Domain anzuwenden.

**Anmerkung**  
 Mithilfe von. Sie können Vorgänge auf dem Plug-in prüfen, erstellen, aktualisieren, zuordnen und deren Zuordnung aufheben. AWS CloudTrail Weitere Informationen finden Sie unter [Überwachung von Amazon OpenSearch Service API-Aufrufen mit AWS CloudTrail](managedomains-cloudtrailauditing.md).

### Erstellen oder aktualisieren Sie ein benutzerdefiniertes Plugin mit einem AWS KMS Sicherheitsschlüssel
<a name="custom-plugin-kms-key-security-cli"></a>

Sie können ein benutzerdefiniertes Plugin sichern, wenn Sie das Plugin erstellen oder aktualisieren, indem Sie einen AWS KMS Schlüssel angeben. Stellen `PackageEncryptionOptions` Sie dazu den Amazon-Ressourcennamen (ARN) des Schlüssels ein `true` und geben Sie ihn an, wie in den folgenden Beispielen gezeigt.

**Beispiel: Erstellen Sie ein benutzerdefiniertes Plugin mit AWS KMS Schlüsselsicherheit**

```
aws opensearch create-package \
    --region us-east-2  --package-name my-custom-package \
    --package-type ZIP-PLUGIN \
    --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=my-s3-key 
    --engine-version OpenSearch_2.15   
"PackageConfigOptions": {
     ...
  }
  "PackageEncryptionOptions": {
    "Enabled": true,
    "KmsKeyId":"arn:aws:kms:us-east-2:111222333444:key/2ba228d5-1d09-456c-ash9-daf42EXAMPLE"
  }
```

**Beispiel: Aktualisieren Sie ein benutzerdefiniertes Plugin mit AWS KMS Key Security**

```
aws opensearch update-package \
    --region us-east-2  --package-name my-custom-package \
    --package-type ZIP-PLUGIN \
    --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=my-s3-key 
    --engine-version OpenSearch_2.15   
"PackageConfigOptions": {
     ...
  }
  "PackageEncryptionOptions": {
    "Enabled": true,
    "KmsKeyId":"arn:aws:kms:us-east-2:111222333444:key/2ba228d5-1d09-456c-ash9-daf42EXAMPLE"
  }
```

**Wichtig**  
Wenn der von Ihnen angegebene AWS KMS Schlüssel deaktiviert oder gelöscht wird, kann dies dazu führen, dass der zugehörige Cluster nicht mehr funktioniert.

Weitere Informationen zur AWS KMS Integration mit benutzerdefinierten Paketen finden Sie unter[AWS KMS Integration benutzerdefinierter Amazon OpenSearch Service-Pakete](custom-package-kms-integration.md).

### Aktualisieren einer OpenSearch Dienstdomäne mit benutzerdefinierten Plugins auf eine neuere Version der OpenSearch Verwendung von AWS CLI
<a name="custom-plugin-domain-upgrade-cli"></a>

Wenn Sie eine OpenSearch Dienstdomäne, die benutzerdefinierte Plug-ins verwendet, auf eine neuere Version von aktualisieren müssen OpenSearch, führen Sie die folgenden Schritte durch.

**Um eine OpenSearch Dienstdomäne mit benutzerdefinierten Plug-ins auf eine neuere Version zu aktualisieren, OpenSearch verwenden Sie AWS CLI**

1. Verwenden Sie den Befehl create-package, um ein neues Paket für Ihr Plugin zu erstellen und dabei die neue OpenSearch Version anzugeben.

   Stellen Sie sicher, dass der Paketname für das Plugin für alle Engine-Versionen derselbe ist. Eine Änderung des Paketnamens führt dazu, dass der Domain-Upgrade-Prozess während der blue/green Bereitstellung fehlschlägt.

1. Führen Sie ein Upgrade Ihrer Domain auf die höhere Version durch, indem Sie die Schritte unter befolgen[Upgrade von Amazon OpenSearch Service-Domains](version-migration.md).

   Während dieses Vorgangs trennt Amazon OpenSearch Service die Zuordnung zur vorherigen Version des Plugin-Pakets und installiert die neue Version mithilfe einer blue/green Bereitstellung.

### Deinstallation und Anzeige des Dissoziationsstatus eines benutzerdefinierten Plug-ins
<a name="custom-plugin-uninstall-cli"></a>

[Um das Plugin von einer beliebigen Domain zu deinstallieren, können Sie den Befehl dissociate-package verwenden.](https://docs.aws.amazon.com/cli/latest/reference/es/dissociate-package.html) Wenn Sie diesen Befehl ausführen, werden auch alle zugehörigen Konfiguration oder Lizenzpakete entfernt. Anschließend können Sie den [list-packages-for-domain](https://docs.aws.amazon.com/cli/latest/reference/es/list-packages-for-domain.html)Befehl verwenden, um den Status der Trennung anzuzeigen.

**Tipp**  
Sie können auch den Befehl [dissociate-packages](https://docs.aws.amazon.com/cli/latest/reference/opensearch/dissociate-packages.html) verwenden, um mehrere Plugins aus einer Domain in einem einzigen Vorgang zu deinstallieren. 

**Um ein benutzerdefiniertes Plugin zu deinstallieren und den Dissoziationsstatus anzuzeigen**

1. Deaktiviert das Plugin in jedem Index. Dies muss geschehen, bevor Sie das Plugin-Paket trennen. 

   Wenn Sie versuchen, ein Plugin zu deinstallieren, bevor Sie es für jeden Index deaktivieren, bleibt der blue/green Bereitstellungsprozess im Status hängen. `Processing`

1. Führen Sie den folgenden Befehl aus, um das Plugin zu deinstallieren. Ersetzen Sie *placeholder values* durch Ihre Informationen.

   ```
   aws opensearch dissociate-package \
       --region region \
       --package-id plugin-package-id \
       --domain-name domain name
   ```

1. (Optional) Führen Sie den [list-packages-for-domain](https://docs.aws.amazon.com/cli/latest/reference/opensearch/list-packages-for-domain.html)Befehl aus, um den Status der Dissoziation anzuzeigen.

# AWS KMS Integration benutzerdefinierter Amazon OpenSearch Service-Pakete
<a name="custom-package-kms-integration"></a>

Benutzerdefinierte Pakete von Amazon OpenSearch Service bieten standardmäßig Verschlüsselung, um Ihre `ZIP-PLUGIN` Pakete im Ruhezustand zu schützen Von AWS verwaltete Schlüssel.
+ **AWS-eigene Schlüssel**— Benutzerdefinierte Pakete von Amazon OpenSearch Service verwenden diese Schlüssel standardmäßig, um Ihre `ZIP-PLUGIN` Pakete automatisch zu verschlüsseln. Sie können ihre Verwendung nicht einsehen, verwalten, verwenden AWS-eigene Schlüssel oder überprüfen. Sie müssen jedoch keine Maßnahmen ergreifen oder Programme zum Schutz der Schlüssel ändern, die zur Verschlüsselung Ihrer Daten verwendet werden. Weitere Informationen finden Sie unter [AWS-eigene Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) im *AWS Key Management Service -Entwicklerhandbuch*.
+ **Vom Kunden verwaltete Schlüssel** — Sie können der vorhandenen eine zweite Verschlüsselungsebene hinzufügen, AWS-eigene Schlüssel indem Sie bei der Erstellung Ihres `ZIP-PLUGIN` benutzerdefinierten Pakets einen vom Kunden verwalteten Schlüssel auswählen.

  Benutzerdefinierte Amazon OpenSearch Service-Pakete unterstützen die Verwendung eines symmetrischen, vom Kunden verwalteten Schlüssels, den Sie erstellen, besitzen und verwalten, um eine zweite Verschlüsselungsebene über der vorhandenen AWS eigenen Verschlüsselung hinzuzufügen. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie die folgenden Aufgaben ausführen:
  + Schlüsselrichtlinien festlegen und erhalten
  + Richtlinien und Zuschüsse AWS Identity and Access Management (IAM) einrichten und verwalten
  + Schlüsselrichtlinien aktivieren und deaktivieren
  + Kryptographisches Schlüsselmaterial rotieren
  + Hinzufügen von Tags
  + Schlüsselaliase erstellen
  + Die Löschung von Schlüsseln planen

Weitere Informationen finden Sie unter [Kundenverwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) im *AWS Key Management Service Entwicklerhandbuch*.

**Anmerkung**  
Benutzerdefinierte Pakete von Amazon OpenSearch Service ermöglichen automatisch die Verschlüsselung im Ruhezustand und nutzen AWS-eigene Schlüssel sie kostenlos. Es AWS KMS fallen jedoch Gebühren an, wenn Sie einen vom Kunden verwalteten Schlüssel verwenden. Weitere Informationen zur Preisgestaltung finden Sie unter [AWS Key Management Service  – Preise](https://aws.amazon.com/kms/pricing/).

## So verwendet der Amazon OpenSearch Service für benutzerdefinierte Pakete Zuschüsse in AWS KMS
<a name="custom-package-kms-grants"></a>

OpenSearch Für benutzerdefinierte Servicepakete ist ein Zuschuss erforderlich, um Ihren vom Kunden verwalteten Schlüssel verwenden zu können.

Wenn Sie ein `ZIP-PLUGIN` Paket erstellen, das mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, erstellt der OpenSearch Service für benutzerdefinierte Pakete von Amazon Service in Ihrem Namen einen Zuschuss, indem er eine [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Anfrage an sendet AWS KMS. Zuschüsse AWS KMS gewähren OpenSearch Service Zugriff auf einen AWS KMS Schlüssel in Ihrem Konto. Für die mit benutzerdefinierten OpenSearch Servicepaketen erstellten Berechtigungen gilt eine Einschränkung, die nur dann Operationen zulässt, wenn die Anfrage einen Verschlüsselungskontext mit Ihrer benutzerdefinierten Paket-ID enthält.

Für benutzerdefinierte Amazon OpenSearch Service-Pakete ist der Zuschuss erforderlich, um Ihren vom Kunden verwalteten Schlüssel für die folgenden internen Vorgänge verwenden zu können:


| Operation | Description | 
| --- | --- | 
| DescribeKey | Sendet DescribeKey Anfragen an, um AWS KMS zu überprüfen, ob die symmetrische, vom Kunden verwaltete Schlüssel-ID, die bei der Erstellung des Plugin-Pakets eingegeben wurde, gültig ist. | 
| GenerateDataKeyWithoutPlaintext | Sendet GenerateDataKeyWithoutPlaintext Anfragen AWS KMS zur Generierung von Datenschlüsseln, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden. | 
| GenerateDataKey | Sendet GenerateDataKey Anfragen AWS KMS zur Generierung von Datenschlüsseln zur Verschlüsselung des Pakets, wenn es intern kopiert wird. | 
| Decrypt | Sendet Decrypt Anfragen AWS KMS zur Entschlüsselung der verschlüsselten Datenschlüssel, sodass diese zur Entschlüsselung Ihrer Daten verwendet werden können. | 

Sie können den Zugriff auf den Zuschuss jederzeit widerrufen oder dem Service den Zugriff auf den vom Kunden verwalteten Schlüssel entziehen. Wenn Sie dies tun, kann der OpenSearch Service nicht auf Daten zugreifen, die mit dem vom Kunden verwalteten Schlüssel verschlüsselt wurden, was sich auf Vorgänge auswirkt, die von diesen Daten abhängen. Wenn Sie beispielsweise versuchen, ein Plugin-Paket zuzuordnen, auf das der OpenSearch Service nicht zugreifen kann, gibt der Vorgang einen `AccessDeniedException` Fehler zurück.

## Erstellen eines kundenseitig verwalteten Schlüssels
<a name="custom-package-create-cmk"></a>

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel erstellen, indem Sie den AWS-Managementkonsole oder den AWS KMS APIs verwenden.

**Einen symmetrischen kundenverwalteten Schlüssel erstellen**
+ Folgen Sie den Schritten unter [Erstellen eines KMS-Schlüssels](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im *AWS Key Management Service Entwicklerhandbuch*.

### Schlüsselrichtlinie
<a name="custom-package-key-policy"></a>

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter [Schlüsselrichtlinien in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) im *Entwicklerhandbuch für AWS Key Management Service *.

Um Ihren vom Kunden verwalteten Schlüssel mit Ihren Plugin-Ressourcen zu verwenden, müssen Sie in der Schlüsselrichtlinie die folgenden API-Operationen zulassen:
+ `kms:CreateGrant`: Fügt einem kundenverwalteten Schlüssel eine Erteilung hinzu. Gewährt Kontrollzugriff auf einen bestimmten AWS KMS Schlüssel und ermöglicht so den Zugriff auf Gewährungsvorgänge, die für benutzerdefinierte OpenSearch Servicepakete erforderlich sind. Weitere Informationen zur Verwendung von Zuschüssen finden Sie im [AWS KMS Entwicklerhandbuch](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html).

  Dadurch kann OpenSearch Service Folgendes tun:
  + Rufen Sie `GenerateDataKeyWithoutPlainText` auf, um einen verschlüsselten Datenschlüssel zu generieren und ihn für weitere Validierungen zu speichern.
  + Rufen Sie `GenerateDataKey` auf, um das Plugin-Paket intern zu kopieren.
  + Rufen Sie auf`Decrypt`, um intern auf das Plugin-Paket zuzugreifen.
  + Einen Prinzipal für die Außerbetriebnahme einrichten, damit der Service in den Status `RetireGrant` wechseln kann.
+ `kms:DescribeKey`— Stellt dem Kunden verwaltete Schlüsseldetails zur Verfügung, damit der OpenSearch Service den Schlüssel validieren kann.
+ `kms:GenerateDataKey`,`kms:GenerateDataKeyWithoutPlaintext`, `kms:Decrypt` — Gewährt dem OpenSearch Service Zugriff auf benutzerdefinierte Pakete, sodass er diese Operationen im Rahmen des Zuschusses nutzen kann.

Im Folgenden finden Sie Beispiele für Richtlinienerklärungen, die Sie für benutzerdefinierte OpenSearch Servicepakete hinzufügen können:

```
"Statement" : [
  {
    "Sid" : "Allow access to principals authorized to use OpenSearch Service custom packages",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "*"
    },
    "Action" : [
      "kms:CreateGrant",
      "kms:GenerateDataKey",
      "kms:GenerateDataKeyWithoutPlaintext",
      "kms:Decrypt"
    ],
    "Resource" : "*",
    "Condition" : {
      "StringEquals" : {
        "kms:ViaService" : "custom-packages.region.amazonaws.com"
      },
      "StringEquals" : {
        "kms:EncryptionContext:packageId": "Id of the package"
      }
    }
  },
  {
    "Sid" : "Allow access to principals authorized to use Amazon OpenSearch Service custom packages",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "*"
    },
    "Action" : [
      "kms:DescribeKey"
    ],
    "Resource" : "*",
    "Condition" : {
      "StringEquals" : {
        "kms:ViaService" : "custom-packages.region.amazonaws.com"
      }
    }
  }
]
```

Weitere Informationen zur Angabe von Berechtigungen in einer Richtlinie finden Sie unter [Wichtige Richtlinien AWS KMS im AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) *Entwicklerhandbuch*.

Weitere Informationen zur Problembehandlung beim Zugriff auf Schlüssel finden Sie unter [Problembehandlung bei AWS KMS Berechtigungen](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) im *AWS Key Management Service Entwicklerhandbuch*.

## Geben Sie einen vom Kunden verwalteten Schlüssel für benutzerdefinierte Amazon OpenSearch Service-Pakete an
<a name="custom-package-specify-cmk"></a>

Sie können einen vom Kunden verwalteten Schlüssel als zweite Verschlüsselungsebene für Ihre `ZIP-PLUGIN` Pakete angeben.

Wenn Sie ein Plugin-Paket erstellen, können Sie den Datenschlüssel angeben, indem Sie eine AWS KMS Schlüssel-ID eingeben, die von den benutzerdefinierten OpenSearch Servicepaketen zum Verschlüsseln des Plugin-Pakets verwendet wird.

*AWS KMS Schlüssel-ID* — Eine Schlüssel-ID für einen vom AWS KMS Kunden verwalteten Schlüssel. Geben Sie eine Schlüssel-ID, einen Schlüssel-ARN, einen Alias-Namen oder einen Alias-ARN ein.

## Verschlüsselungskontext für benutzerdefinierte Pakete von Amazon OpenSearch Service
<a name="custom-package-encryption-context"></a>

Ein Verschlüsselungskontext ist ein optionaler Satz von Schlüssel-Wert-Paaren, die zusätzliche kontextbezogene Informationen zu den Daten enthalten.

AWS KMS verwendet den Verschlüsselungskontext als zusätzliche authentifizierte Daten, um die authentifizierte Verschlüsselung zu unterstützen. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zum Verschlüsseln von Daten einbeziehen, wird der Verschlüsselungskontext AWS KMS an die verschlüsselten Daten gebunden. Zur Entschlüsselung von Daten müssen Sie denselben Verschlüsselungskontext in der Anfrage übergeben.

### Verschlüsselungskontext für benutzerdefinierte Pakete von Amazon OpenSearch Service
<a name="custom-package-encryption-context-details"></a>

Benutzerdefinierte Pakete von Amazon OpenSearch Service verwenden bei allen AWS KMS kryptografischen Vorgängen denselben Verschlüsselungskontext, wobei der Schlüssel `packageId` und der Wert dem `package-id` Ihres Plugin-Pakets entsprechen.

### Verwenden Sie den Verschlüsselungskontext für die Überwachung
<a name="custom-package-encryption-context-monitoring"></a>

Wenn Sie einen symmetrischen, vom Kunden verwalteten Schlüssel verwenden, um Ihr Plugin-Paket zu verschlüsseln, können Sie den Verschlüsselungskontext in Prüfaufzeichnungen und Protokollen verwenden, um festzustellen, wie der vom Kunden verwaltete Schlüssel verwendet wird. Der Verschlüsselungskontext erscheint auch in Protokollen, die von Amazon CloudWatch Logs generiert wurden AWS CloudTrail .

### Verwendung des Verschlüsselungskontextes zur Steuerung des Zugriffs auf den kundenseitig verwalteten Schlüssel
<a name="custom-package-encryption-context-access-control"></a>

Sie können den Verschlüsselungskontext in Schlüsselrichtlinien und IAM-Richtlinien als Bedingungen verwenden, um den Zugriff auf Ihren symmetrischen, kundenseitig verwalteten Schlüssel zu kontrollieren. Sie können Verschlüsselungskontext-Einschränkungen auch in einer Genehmigung verwenden.

OpenSearch Benutzerdefinierte Servicepakete verwenden bei Zuschüssen eine Einschränkung des Verschlüsselungskontextes, um den Zugriff auf den vom Kunden verwalteten Schlüssel in Ihrem Konto oder Ihrer Region zu kontrollieren. Eine Genehmigungseinschränkung erfordert, dass durch die Genehmigung ermöglichte Vorgänge den angegebenen Verschlüsselungskontext verwenden.

Im Folgenden finden Sie Beispiele für Schlüsselrichtlinienanweisungen zur Gewährung des Zugriffs auf einen kundenseitig verwalteten Schlüssel für einen bestimmten Verschlüsselungskontext. Die Bedingung in dieser Richtlinienanweisung setzt voraus, dass die Genehmigungen eine Einschränkung des Verschlüsselungskontextes haben, die den Verschlüsselungskontext spezifiziert.

```
{
    "Sid": "Enable DescribeKey",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"
    },
    "Action": "kms:DescribeKey",
    "Resource": "*"
},
{
    "Sid": "Enable OpenSearch Service custom packages to use the key",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"
    },
    "Action" : [
         "kms:CreateGrant",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals" : {
            "kms:EncryptionContext:packageId": "ID of the package"
         }
    }
}
```

## Überwachung Ihrer Verschlüsselungsschlüssel für den Service für OpenSearch benutzerdefinierte Pakete
<a name="custom-package-monitoring-keys"></a>

Wenn Sie einen vom AWS KMS Kunden verwalteten Schlüssel zusammen mit Ihren OpenSearch Serviceressourcen für benutzerdefinierte Pakete verwenden, können Sie CloudTrail oder CloudWatch Logs verwenden, um Anfragen nachzuverfolgen, an die OpenSearch benutzerdefinierte Pakete gesendet AWS KMS werden.

**Weitere Informationen**  
Die folgenden Ressourcen enthalten weitere Informationen zur Datenverschlüsselung im Ruhezustand:
+ Weitere Informationen zu AWS KMS grundlegenden Konzepten finden Sie [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)im *AWS Key Management Service Entwicklerhandbuch*.
+ Weitere Informationen zu bewährten Sicherheitsmethoden für AWS KMS finden Sie im *AWS Prescriptive Guidance* Guide mit [AWS Key Management Service bewährten](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) Methoden.