Amazon OpenSearch Ingestion-Pipelines Zugriff auf Domains gewähren - OpenSearch Amazon-Dienst

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.

Amazon OpenSearch Ingestion-Pipelines Zugriff auf Domains gewähren

Eine Amazon OpenSearch Ingestion-Pipeline benötigt die Berechtigung, in die OpenSearch Service-Domain zu schreiben, die als Senke konfiguriert ist. Um Zugriff zu gewähren, konfigurieren Sie eine Rolle AWS Identity and Access Management (IAM) mit einer restriktiven Berechtigungsrichtlinie, die den Zugriff auf die Domain beschränkt, an die eine Pipeline Daten sendet. Beispielsweise möchten Sie eine Erfassungspipeline möglicherweise nur auf die Domäne und die Indizes beschränken, die zur Unterstützung ihres Anwendungsfalls erforderlich sind.

Bevor Sie die Rolle in Ihrer Pipeline-Konfiguration angeben, müssen Sie sie mit einer entsprechenden Vertrauensstellung konfigurieren und ihr dann innerhalb der Domänenzugriffsrichtlinie Zugriff auf die Domäne gewähren.

Schritt 1: Erstellen Sie eine Pipeline-Rolle

Der Rolle, die Sie im Parameter sts_role_arn einer Pipeline-Konfiguration angeben, muss eine Berechtigungsrichtlinie angehängt sein, die es ihr ermöglicht, Daten an die Domänensenke zu senden. Außerdem muss sie über eine Vertrauensstellung verfügen, die es OpenSearch Ingestion ermöglicht, die Rolle zu übernehmen. Anweisungen zum Anhängen einer Richtlinie an eine Rolle finden Sie unter Hinzufügen von IAM Identitätsberechtigungen im IAMBenutzerhandbuch.

Die folgende Beispielrichtlinie zeigt die geringste Berechtigung, die Sie in der sts_role_arn-Rolle einer Pipeline-Konfiguration bereitstellen können, damit diese in eine einzelne Domäne schreiben kann:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:*:your-account-id:domain/*" }, { "Effect": "Allow", "Action": "es:ESHttp*", "Resource": "arn:aws:es:*:your-account-id:domain/domain-name/*" } ] }

Wenn Sie die Rolle wiederverwenden möchten, um in mehrere Domänen zu schreiben, können Sie die Richtlinie umfassender gestalten, indem Sie den Domänennamen durch ein Platzhalterzeichen () ersetzen. *

Die Rolle muss über die folgende Vertrauensstellung verfügen, sodass OpenSearch Ingestion die Pipeline-Rolle übernehmen kann:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"osis-pipelines.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

Darüber hinaus empfehlen wir, dass Sie der Richtlinie die Schlüssel aws:SourceAccount und die aws:SourceArn Bedingungsschlüssel hinzufügen, um sich vor dem Problem mit dem verwirrten Stellvertreter zu schützen. Das Quellkonto ist der Besitzer der Pipeline.

Beispielsweise können Sie der Richtlinie den folgenden Bedingungsblock hinzufügen:

"Condition": { "StringEquals": { "aws:SourceAccount": "your-account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:osis:region:your-account-id:pipeline/*" } }

Schritt 2: Nehmen Sie die Pipeline-Rolle in die Domänenzugriffsrichtlinie auf

Damit eine Pipeline Daten in eine Domäne schreiben kann, muss die Domäne über eine Zugriffsrichtlinie auf Domänenebene verfügen, die der Pipeline-Rolle sts_role_arn den Zugriff darauf ermöglicht.

Die folgende Beispielrichtlinie für den Domänenzugriff ermöglicht es der Pipeline-Rolle mit dem Namenpipeline-role, die Sie im vorherigen Schritt erstellt haben, Daten in die angegebene Domäne zu schreiben: ingestion-domain

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::your-account-id:role/pipeline-role" }, "Action": ["es:DescribeDomain", "es:ESHttp*"], "Resource": "arn:aws:es:region:your-account-id:domain/domain-name/*" } ] }

Schritt 3: Ordnen Sie die Pipeline-Rolle zu (nur für Domänen, die eine differenzierte Zugriffskontrolle verwenden)

Wenn Ihre Domain eine differenzierte Zugriffskontrolle für die Authentifizierung verwendet, müssen Sie zusätzliche Schritte unternehmen, um Ihrer Pipeline Zugriff auf eine Domain zu gewähren. Die Schritte unterscheiden sich je nach Ihrer Domain-Konfiguration:

Szenario 1: Verschiedene Master-Rolle und Pipeline-Rolle — Wenn Sie einen IAM Amazon-Ressourcennamen (ARN) als Master-Benutzer verwenden und dieser sich von der Pipeline-Rolle (sts_role_arn) unterscheidet, müssen Sie die Pipeline-Rolle der OpenSearch all_access Backend-Rolle zuordnen. Dadurch wird im Wesentlichen die Pipeline-Rolle als zusätzlicher Masterbenutzer hinzugefügt. Weitere Informationen finden Sie unter Zusätzliche Masterbenutzer.

Szenario 2: Hauptbenutzer in der internen Benutzerdatenbank — Wenn Ihre Domain einen Masterbenutzer in der internen Benutzerdatenbank und eine HTTP Standardauthentifizierung für OpenSearch Dashboards verwendet, können Sie den Master-Benutzernamen und das Master-Passwort nicht direkt in die Pipeline-Konfiguration übergeben. Stattdessen müssen Sie die Pipeline-Rolle (sts_role_arn) der OpenSearch all_access Backend-Rolle zuordnen. Dadurch wird im Wesentlichen die Pipeline-Rolle als zusätzlicher Masterbenutzer hinzugefügt. Weitere Informationen finden Sie unter Zusätzliche Masterbenutzer.

Szenario 3: Gleiche Master-Rolle und Pipeline-Rolle (ungewöhnlich) — Wenn Sie eine IAM ARN als Masterbenutzer verwenden und dieselbe ARN Rolle wie die Pipeline-Rolle (sts_role_arn) verwenden, müssen Sie keine weiteren Maßnahmen ergreifen. Die Pipeline verfügt über die erforderlichen Berechtigungen, um in die Domäne zu schreiben. Dieses Szenario ist ungewöhnlich, da die meisten Umgebungen eine Administratorrolle oder eine andere Rolle als Masterrolle verwenden.

Die folgende Abbildung zeigt, wie die Pipeline-Rolle einer Backend-Rolle zugeordnet wird:

Backend roles section showing an AWSIAM role ARN for a pipeline role with a Remove option.

Schritt 4: Geben Sie die Rolle in der Pipeline-Konfiguration an

Um erfolgreich eine Pipeline zu erstellen, müssen Sie die Pipeline-Rolle, die Sie in Schritt 1 erstellt haben, als Parameter sts_role_arn in Ihrer Pipeline-Konfiguration angeben. Die Pipeline übernimmt diese Rolle, um Anfragen an die Service-Domänensenke zu signieren. OpenSearch

Geben Sie im sts_role_arn Feld die Rolle ARN der IAM Pipeline an:

version: "2" log-pipeline: source: http: path: "/${pipelineName}/logs" processor: - grok: match: log: [ "%{COMMONAPACHELOG}" ] sink: - opensearch: hosts: [ "https://search-domain-name.us-east-1.es.amazonaws.com" ] index: "my-index" aws: region: "region" sts_role_arn: "arn:aws:iam::your-account-id:role/pipeline-role"

Eine vollständige Referenz der erforderlichen und nicht unterstützten Parameter finden Sie unterUnterstützte Plugins und Optionen für Amazon OpenSearch Ingestion-Pipelines.