Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Tutorial: Externalisierung vertraulicher Informationen mithilfe von Konfigurationsanbietern

Fokusmodus
Tutorial: Externalisierung vertraulicher Informationen mithilfe von Konfigurationsanbietern - Amazon Managed Streaming für Apache Kafka

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.

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.

Dieses Beispiel zeigt, wie vertrauliche Informationen für Amazon MSK Connect mithilfe eines Open-Source-Konfigurationsanbieters externalisiert werden. Mit einem Konfigurationsanbieter können Sie Variablen anstelle von Klartext in einer Konnektor- oder Worker-Konfiguration angeben, und Worker, die im Konnektor ausgeführt werden, lösen diese Variablen zur Laufzeit auf. Dadurch wird verhindert, dass Anmeldeinformationen und andere Secrets im Klartext gespeichert werden. Der Konfigurationsanbieter im Beispiel unterstützt das Abrufen von Konfigurationsparametern von AWS Secrets Manager, Amazon S3 und Systems Manager (SSM). In Schritt 2 erfahren Sie, wie Sie das Speichern und Abrufen vertraulicher Informationen für den Service einrichten, den Sie konfigurieren möchten.

Überlegungen

Beachten Sie bei der Verwendung des MSK-Konfigurationsanbieters mit Amazon MSK Connect Folgendes:

  • Weisen Sie der IAM-Service-Ausführungsrolle die entsprechenden Berechtigungen zu, wenn Sie die Konfigurationsanbieter verwenden.

  • Definieren Sie die Konfigurationsanbieter in Worker-Konfigurationen und ihre Implementierung in der Konnektor-Konfiguration.

  • Vertrauliche Konfigurationswerte können in Konnektor-Protokollen erscheinen, wenn ein Plugin diese Werte nicht als Secret definiert. Kafka Connect behandelt undefinierte Konfigurationswerte genauso wie jeden anderen Klartext-Wert. Weitere Informationen hierzu finden Sie unter Verhindern, dass Secrets in Konnektor-Protokollen erscheinen.

  • Standardmäßig startet MSK Connect einen Konnektor häufig neu, wenn der Konnektor einen Konfigurationsanbieter verwendet. Um dieses Neustartverhalten zu deaktivieren, können Sie in der Konnektor-Konfiguration den Wert config.action.reload auf none festlegen.

Erstellen Sie ein benutzerdefiniertes Plugin und laden Sie es auf S3 hoch

Um ein benutzerdefiniertes Plugin zu erstellen, erstellen Sie eine Zip-Datei, die den Connector und das enthält, msk-config-provider indem Sie die folgenden Befehle auf Ihrem lokalen Computer ausführen.

So erstellen Sie ein benutzerdefiniertes Plugin mit einem Terminalfenster und Debezium als Konnektor

Verwenden Sie die AWS CLI, um Befehle als Superuser mit Anmeldeinformationen auszuführen, mit denen Sie auf Ihren AWS S3-Bucket zugreifen können. Informationen zur Installation und Einrichtung der AWS CLI finden Sie unter Erste Schritte mit der AWS CLI im AWS Command Line Interface Benutzerhandbuch. Informationen zur Verwendung der AWS CLI mit Amazon S3 finden Sie unter Verwenden von Amazon S3 mit der AWS CLI im AWS Command Line Interface Benutzerhandbuch.

  1. Erstellen Sie in einem Terminal-Fenster mit dem folgenden Befehl einen Ordner mit dem Namen custom-plugin in Ihrem Workspace.

    mkdir custom-plugin && cd custom-plugin
  2. Laden Sie die neueste stabile Version des MySQL-Konnektor-Plugins mit dem folgenden Befehl von der Debezium-Website herunter.

    wget https://repo1.maven.org/maven2/io/debezium/debezium-connectormysql/ 2.2.0.Final/debezium-connector-mysql-2.2.0.Final-plugin.tar.gz

    Extrahieren Sie die heruntergeladene GZIP-Datei mit dem folgenden Befehl in den Ordner custom-plugin.

    tar xzf debezium-connector-mysql-2.2.0.Final-plugin.tar.gz
  3. Laden Sie die ZIP-Datei des MSK-Konfigurationsanbieters mit dem folgenden Befehl herunter.

    wget https://github.com/aws-samples/msk-config-providers/releases/download/r0.1.0/msk-config-providers-0.1.0-with-dependencies.zip

    Extrahieren Sie die heruntergeladene GZIP-Datei mit dem folgenden Befehl in den Ordner custom-plugin.

    unzip msk-config-providers-0.1.0-with-dependencies.zip
  4. Komprimieren Sie den Inhalt des MSK-Konfigurationsanbieters aus dem obigen Schritt und den benutzerdefinierten Konnektor in einer einzigen Datei mit dem Namen custom-plugin.zip.

    zip -r ../custom-plugin.zip *
  5. Laden Sie die Datei auf S3 hoch, damit sie später referenziert werden kann.

    aws s3 cp ../custom-plugin.zip s3:<S3_URI_BUCKET_LOCATION>
  6. Wählen Sie in der Amazon MSK-Konsole im Bereich MSK Connect die Option Benutzerdefiniertes Plugin und dann Benutzerdefiniertes Plugin erstellen aus. Durchsuchen Sie den s3: < S3_URI_BUCKET_LOCATION > S3-Bucket, um die benutzerdefinierte Plugin-ZIP-Datei auszuwählen, die Sie gerade hochgeladen haben.

    Amazon S3 bucket interface showing a single custom-plugin.zip file in the debezium folder.
  7. Geben Sie für den Namen des Plugins debezium-custom-plugin ein. Geben Sie optional eine Beschreibung ein und wählen Sie Benutzerdefiniertes Plugin erstellen.

    Amazon S3 bucket interface showing a single custom-plugin.zip file in the debezium folder.

Konfigurieren Sie Parameter und Berechtigungen für verschiedene Anbieter

Sie können Parameterwerte in diesen drei Services konfigurieren:

  • Secrets Manager

  • Systems Manager Parameter Store

  • S3 - Simple Storage Service

Wählen Sie eine der folgenden Registerkarten aus, um Anweisungen zur Einrichtung von Parametern und relevanten Berechtigungen für diesen Service zu erhalten.

Configure in Secrets Manager
So konfigurieren Sie Parameterwerte in Secrets Manager
  1. Öffnen Sie die Secrets Manager-Konsole.

  2. Erstellen Sie ein neues Secret, um Ihre Anmeldeinformationen oder Secrets zu speichern. Anweisungen finden Sie im AWS Secrets Manager Benutzerhandbuch unter Create an AWS Secrets Manager Secret.

  3. Kopieren Sie den ARN Ihres Secrets.

  4. Fügen Sie die Secrets-Manager-Berechtigungen aus der folgenden Beispielrichtlinie zu der Service-Ausführungsrolle hinzu. Ersetze es <arn:aws:secretsmanager:us-east-1:123456789000:secret:MySecret-1234> durch den ARN deines Geheimnisses.

  5. Fügen Sie Worker-Konfiguration und Konnektor-Anweisungen hinzu.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<arn:aws:secretsmanager:us-east-1:123456789000:secret:MySecret-1234>" ] } ] }
  6. Um den Secrets-Manager-Konfigurationsanbieter zu verwenden, kopieren Sie die folgenden Code-Zeilen in das Worker-Konfigurations-Textfeld in Schritt 3:

    # define name of config provider: config.providers = secretsmanager # provide implementation classes for secrets manager: config.providers.secretsmanager.class = com.amazonaws.kafka.config.providers.SecretsManagerConfigProvider # configure a config provider (if it needs additional initialization), for example you can provide a region where the secrets or parameters are located: config.providers.secretsmanager.param.region = us-east-1
  7. Kopieren Sie für den Secrets-Manager-Konfigurationsanbieter die folgenden Code-Zeilen in die Konnektor-Konfiguration in Schritt 4.

    #Example implementation for secrets manager variable database.user=${secretsmanager:MSKAuroraDBCredentials:username} database.password=${secretsmanager:MSKAuroraDBCredentials:password}

Sie können den obigen Schritt auch mit weiteren Konfigurationsanbietern verwenden.

Configure in Systems Manager Parameter Store
So konfigurieren Sie Parameterwerte im Systems Manager Parameter Store
  1. Öffnen Sie die Systems Manager-Konsole.

  2. Wählen Sie im Navigationsbereich Parameter Store (Parameterspeicher) aus.

  3. Erstellen Sie einen neuen Parameter, der im Systems Manager gespeichert werden soll. Anweisungen finden Sie im AWS Systems Manager Benutzerhandbuch unter Erstellen eines Systems Manager Manager-Parameters (Konsole).

  4. Kopieren Sie den ARN Ihres Parameters.

  5. Fügen Sie die Systems-Manager-Berechtigungen aus der folgenden Beispielrichtlinie zu der Service-Ausführungsrolle hinzu. <arn:aws:ssm:us-east-1:123456789000:parameter/MyParameterName>Ersetzen Sie durch den ARN Ihres Parameters.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ssm:GetParameterHistory", "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter" ], "Resource": "arn:aws:ssm:us-east-1:123456789000:parameter/MyParameterName" } ] }
  6. Um den Parameterspeicher-Konfigurationsanbieter zu verwenden, kopieren Sie die folgenden Code-Zeilen in das Worker-Konfigurations-Textfeld in Schritt 3:

    # define name of config provider: config.providers = ssm # provide implementation classes for parameter store: config.providers.ssm.class = com.amazonaws.kafka.config.providers.SsmParamStoreConfigProvider # configure a config provider (if it needs additional initialization), for example you can provide a region where the secrets or parameters are located: config.providers.ssm.param.region = us-east-1
  7. Kopieren Sie für den Parameterspeicher-Konfigurationsanbieter die folgenden Code-Zeilen in die Konnektor-Konfiguration in Schritt 5.

    #Example implementation for parameter store variable schema.history.internal.kafka.bootstrap.servers=${ssm::MSKBootstrapServerAddress}

    Sie können den obigen Schritt auch mit weiteren Konfigurationsanbietern bündeln.

Configure in Amazon S3
So konfigurieren Sie Objekte/Dateien in Amazon S3
  1. Öffnen Sie die Amazon S3-Konsole.

  2. Laden Sie Ihr Objekt in einen Bucket in S3 hoch. Eine Anleitung finden Sie unter Hochladen von Objekten.

  3. Kopieren Sie den ARN Ihres Objekts.

  4. Fügen Sie die Amazon-S3-Objekt-Leseberechtigungen aus der folgenden Beispielrichtlinie zu der Service-Ausführungsrolle hinzu. <arn:aws:s3:::MY_S3_BUCKET/path/to/custom-plugin.zip>Ersetze es durch den ARN deines Objekts.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "<arn:aws:s3:::MY_S3_BUCKET/path/to/custom-plugin.zip>" } ] }
  5. Um den Amazon-S3-Konfigurationsanbieter zu verwenden, kopieren Sie die folgenden Code-Zeilen in das Worker-Konfigurations-Textfeld in Schritt 3:

    # define name of config provider: config.providers = s3import # provide implementation classes for S3: config.providers.s3import.class = com.amazonaws.kafka.config.providers.S3ImportConfigProvider
  6. Kopieren Sie für den Amazon-S3-Konfigurationsanbieter die folgenden Code-Zeilen in die Konnektor-Konfiguration in Schritt 4.

    #Example implementation for S3 object database.ssl.truststore.location = ${s3import:us-west-2:my_cert_bucket/path/to/trustore_unique_filename.jks}

    Sie können die obigen zwei Schritte auch mit weiteren Konfigurationsanbietern bündeln.

So konfigurieren Sie Parameterwerte in Secrets Manager
  1. Öffnen Sie die Secrets Manager-Konsole.

  2. Erstellen Sie ein neues Secret, um Ihre Anmeldeinformationen oder Secrets zu speichern. Anweisungen finden Sie im AWS Secrets Manager Benutzerhandbuch unter Create an AWS Secrets Manager Secret.

  3. Kopieren Sie den ARN Ihres Secrets.

  4. Fügen Sie die Secrets-Manager-Berechtigungen aus der folgenden Beispielrichtlinie zu der Service-Ausführungsrolle hinzu. Ersetze es <arn:aws:secretsmanager:us-east-1:123456789000:secret:MySecret-1234> durch den ARN deines Geheimnisses.

  5. Fügen Sie Worker-Konfiguration und Konnektor-Anweisungen hinzu.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "<arn:aws:secretsmanager:us-east-1:123456789000:secret:MySecret-1234>" ] } ] }
  6. Um den Secrets-Manager-Konfigurationsanbieter zu verwenden, kopieren Sie die folgenden Code-Zeilen in das Worker-Konfigurations-Textfeld in Schritt 3:

    # define name of config provider: config.providers = secretsmanager # provide implementation classes for secrets manager: config.providers.secretsmanager.class = com.amazonaws.kafka.config.providers.SecretsManagerConfigProvider # configure a config provider (if it needs additional initialization), for example you can provide a region where the secrets or parameters are located: config.providers.secretsmanager.param.region = us-east-1
  7. Kopieren Sie für den Secrets-Manager-Konfigurationsanbieter die folgenden Code-Zeilen in die Konnektor-Konfiguration in Schritt 4.

    #Example implementation for secrets manager variable database.user=${secretsmanager:MSKAuroraDBCredentials:username} database.password=${secretsmanager:MSKAuroraDBCredentials:password}

Sie können den obigen Schritt auch mit weiteren Konfigurationsanbietern verwenden.

Eine benutzerdefinierte Worker-Konfiguration mit Informationen zu Ihrem Konfigurationsanbieter erstellen

  1. Wählen Sie im Abschnitt Amazon MSK Connect die Option Worker-Konfigurationen.

  2. Wählen Sie Worker-Konfiguration erstellen.

  3. Geben Sie SourceDebeziumCustomConfig in das Textfeld für den Namen der Worker-Konfiguration ein. Die Beschreibung ist optional.

  4. Kopieren Sie den entsprechenden Konfigurations-Code basierend auf den gewünschten Anbietern und fügen Sie ihn in das Textfeld Worker-Konfiguration ein.

  5. Dies ist ein Beispiel der Worker-Konfiguration für alle drei Anbieter:

    key.converter=org.apache.kafka.connect.storage.StringConverter key.converter.schemas.enable=false value.converter=org.apache.kafka.connect.json.JsonConverter value.converter.schemas.enable=false offset.storage.topic=offsets_my_debezium_source_connector # define names of config providers: config.providers=secretsmanager,ssm,s3import # provide implementation classes for each provider: config.providers.secretsmanager.class = com.amazonaws.kafka.config.providers.SecretsManagerConfigProvider config.providers.ssm.class = com.amazonaws.kafka.config.providers.SsmParamStoreConfigProvider config.providers.s3import.class = com.amazonaws.kafka.config.providers.S3ImportConfigProvider # configure a config provider (if it needs additional initialization), for example you can provide a region where the secrets or parameters are located: config.providers.secretsmanager.param.region = us-east-1 config.providers.ssm.param.region = us-east-1
  6. Wählen Sie Worker-Konfiguration erstellen.

Erstellen Sie den Konnektor

  1. Erstellen Sie einen neuen Konnektor anhand der Anweisungen unter Neuen Konnektor erstellen.

  2. Wählen Sie die custom-plugin.zip-Datei, die Sie in Erstellen Sie ein benutzerdefiniertes Plugin und laden Sie es auf S3 hoch als Quelle für das benutzerdefinierte Plugin in Ihren S3-Bucket hochgeladen haben.

  3. Kopieren Sie den entsprechenden Konfigurations-Code basierend auf den gewünschten Anbietern und fügen Sie ihn in das Feld Konnektor-Konfiguration ein.

  4. Dies ist ein Beispiel für die Konnektor-Konfiguration für alle drei Anbieter:

    #Example implementation for parameter store variable schema.history.internal.kafka.bootstrap.servers=${ssm::MSKBootstrapServerAddress} #Example implementation for secrets manager variable database.user=${secretsmanager:MSKAuroraDBCredentials:username} database.password=${secretsmanager:MSKAuroraDBCredentials:password} #Example implementation for Amazon S3 file/object database.ssl.truststore.location = ${s3import:us-west-2:my_cert_bucket/path/to/trustore_unique_filename.jks}
  5. Wählen Sie Benutzerdefinierte Konfiguration verwenden und wählen Sie eine Option SourceDebeziumCustomConfigaus der Dropdownliste Worker-Konfiguration aus.

  6. Folgen Sie den weiteren Schritten aus den Anweisungen unter Konnektor erstellen.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.