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.
SAML-Authentifizierung für Dashboards OpenSearch
Mit der SAML-Authentifizierung für OpenSearch Dashboards können Sie Ihren bestehenden Identitätsanbieter verwenden, um Single Sign-On (SSO) für Dashboards auf Amazon OpenSearch Service-Domains anzubieten, auf denen Elasticsearch 6.7 OpenSearch oder höher ausgeführt wird. Um die SAML-Authentifizierung zu verwenden, müssen Sie differenzierte Zugriffssteuerung aktivieren.
Anstatt sich über Amazon Cognito oder die interne Benutzerdatenbank zu authentifizieren, können Sie mit der SAML-Authentifizierung für OpenSearch Dashboards Identitätsanbieter von Drittanbietern verwenden, um sich bei Dashboards anzumelden, eine detaillierte Zugriffskontrolle zu verwalten, Ihre Daten zu durchsuchen und Visualisierungen zu erstellen. OpenSearch Der Dienst unterstützt Anbieter, die den SAML 2.0-Standard verwenden, wie Okta, Keycloak, Microsoft Entra ID, Active Directory Federation Services (ADFS), Auth0 und. AWS IAM Identity Center
Die SAML-Authentifizierung für Dashboards ist nur für den Zugriff auf Dashboards über einen Webbrowser vorgesehen. OpenSearch Mit Ihren SAML-Anmeldeinformationen können Sie keine direkten HTTP-Anfragen an die OpenSearch APIs oder Dashboards stellen.
SAML-Konfigurationsübersicht
In dieser Dokumentation wird davon ausgegangen, dass Sie über einen vorhandenen Identitätsanbieter verfügen und damit vertraut sind. Wir können keine detaillierten Konfigurationsschritte für Ihren genauen Anbieter bereitstellen, sondern nur für Ihre OpenSearch Service-Domain.
Der OpenSearch Anmeldevorgang für Dashboards kann eine von zwei Formen annehmen:
-
Dienstanbieter (SP) initiiert: Sie navigieren zu Dashboards (z. B.
https://), die Sie zum Anmeldebildschirm weiterleiten. Nachdem Sie sich angemeldet haben, leitet Sie der Identitätsanbieter zu Dashboards weiter.my-domain.us-east-1.es.amazonaws.com/_dashboards -
Identity Provider (IdP) initiiert: Sie navigieren zu Ihrem Identitätsanbieter, melden sich an und wählen OpenSearch Dashboards aus einem Anwendungsverzeichnis aus.
OpenSearch Der Service bietet zwei Single-Sign-On-URLs IdP-initiated, SP-initiated und Sie benötigen nur die, die Ihrem gewünschten OpenSearch Dashboard-Anmeldeablauf entspricht.
Unabhängig davon, welchen Authentifizierungstyp Sie verwenden, besteht das Ziel darin, sich über Ihren Identitätsanbieter anzumelden und eine SAML-Assertion zu erhalten, die Ihren Benutzernamen (erforderlich) und alle Backend-Rollen (optional, aber empfohlen) enthält. Diese Informationen ermöglichen eine differenzierte Zugriffssteuerung, um SAML-Benutzern Berechtigungen zuzuweisen. Bei externen Identitätsanbietern werden Backend-Rollen normalerweise als „Rollen“ oder „Gruppen“ bezeichnet.
Überlegungen
Berücksichtigen Sie beim Konfigurieren der SAML-Authentifizierung Folgendes:
-
Aufgrund der Größe der IdP-Metadatendatei empfehlen wir dringend, die SAML-Authentifizierung über die AWS Konsole zu konfigurieren.
-
Domains unterstützen jeweils nur eine Dashboards-Authentifizierungsmethode. Wenn Sie die Amazon Cognito Cognito-Authentifizierung für OpenSearch Dashboards aktiviert haben, müssen Sie sie deaktivieren, bevor Sie die SAML-Authentifizierung aktivieren können.
-
Wenn Sie einen Network Load Balancer mit SAML verwenden, müssen Sie zunächst einen benutzerdefinierten Endpunkt erstellen. Weitere Informationen finden Sie unter Einen benutzerdefinierten Endpunkt für Amazon OpenSearch Service erstellen.
-
Service Control Policies (SCP) werden im Fall von Nicht-IAM-Identitäten (wie SAML in Amazon OpenSearch Serverless und SAML und grundlegende interne Benutzerautorisierung für Amazon Service) nicht angewendet oder bewertet. OpenSearch
SAML-Authentifizierung für VPC-Domains
SAML erfordert keine direkte Kommunikation zwischen Ihrem Identitätsanbieter und Ihrem Serviceanbieter. Daher können Sie SAML auch dann verwenden, wenn Ihre OpenSearch Domain in einer privaten VPC gehostet wird, solange Ihr Browser sowohl mit Ihrem OpenSearch Cluster als auch mit Ihrem Identitätsanbieter kommunizieren kann. Ihr Browser fungiert im Wesentlichen als Vermittler zwischen Ihrem Identitätsanbieter und Ihrem Dienstanbieter. Ein nützliches Diagramm, das den SAML-Authentifizierungsablauf erklärt, finden Sie in der Okta-Dokumentation
Ändern der Domainzugriffsrichtlinie
Bevor Sie die SAML-Authentifizierung konfigurieren, müssen Sie die Domainzugriffsrichtlinie aktualisieren, um SAML-Benutzern Zugriff auf die Domain zu gewähren. Andernfalls werden Ihnen „Zugriff verweigert“-Fehler angezeigt.
Wir empfehlen die folgende Domain-Zugriffsrichtlinie, die vollen Zugriff auf die Unterressourcen (/*) in der Domain bietet:
Um die Richtlinie restriktiver zu gestalten, können Sie der Richtlinie eine IP-Adressbedingung hinzufügen. Diese Bedingung beschränkt den Zugriff nur auf den angegebenen IP-Adressbereich oder das angegebene Subnetz. Die folgende Richtlinie erlaubt beispielsweise den Zugriff nur von der 192.0.2 aus. 0/24Subnetz:
Anmerkung
Eine offene Domänenzugriffsrichtlinie erfordert, dass für Ihre Domain eine detaillierte Zugriffskontrolle aktiviert ist. Andernfalls wird der folgende Fehler angezeigt:
To protect domains with public access, a restrictive policy or fine-grained
access control is required.
Wenn Sie einen Masterbenutzer oder internen Benutzer mit einem sicheren Passwort konfiguriert haben, kann es aus Sicherheitsgründen akzeptabel sein, die Richtlinie offen zu lassen und gleichzeitig eine differenzierte Zugriffskontrolle zu verwenden. Weitere Informationen finden Sie unter Fine-grained Zugriffskontrolle in Amazon OpenSearch Service.
SP- oder Authentifizierung konfigurieren IdP-initiated
In diesen Schritten wird erklärt, wie Sie die SAML-Authentifizierung mit SP-initiated oder die IdP-initiated Authentifizierung für OpenSearch Dashboards aktivieren. Den zusätzlichen Schritt, der erforderlich ist, um beide zu aktivieren, finden Sie unter Konfiguration von SP- und IdP-initiated Authentifizierung.
Schritt 1: SAML-Authentifizierung aktivieren
Sie können die SAML-Authentifizierung entweder während der Domainerstellung aktivieren oder indem Sie für eine vorhandene Domain Actions (Aktionen), Edit security configuration (Sicherheitskonfiguration bearbeiten) auswählen. Die folgenden Schritte unterscheiden sich geringfügig, je nachdem, welchen Sie auswählen.
Wählen Sie in der Domänenkonfiguration unter SAML-Authentifizierung für die OpenSearch Dashboards/Kibana Option SAML-Authentifizierung aktivieren aus.
Schritt 2: Ihren Identitätsanbieter konfigurieren
Führen Sie die folgenden Schritte aus, je nachdem, wann Sie die SAML-Authentifizierung konfigurieren.
Wenn Sie eine Domain erstellen
Wenn Sie gerade dabei sind, eine neue Domain zu erstellen, kann OpenSearch Service noch keine Entitäts-ID oder SSO-URLs für den Dienstanbieter generieren. Ihr Identitätsanbieter benötigt diese Werte, um die SAML-Authentifizierung ordnungsgemäß zu aktivieren. Sie können jedoch erst generiert werden, nachdem die Domain erstellt wurde. Um diese Interdependenz bei der Domainerstellung zu umgehen, können Sie temporäre Werte in Ihre IdP-Konfiguration eingeben, um die erforderlichen Metadaten zu generieren, und sie dann aktualisieren, sobald Ihre Domain aktiv ist.
Wenn Sie einen benutzerdefinierten Endpunkt verwenden, können Sie ableiten, wie die URLs lauten werden. Wenn Ihr benutzerdefinierter Endpunkt beispielsweise lautetwww., lautet die Entitäts-ID des Dienstanbieterscustom-endpoint.comwww., die IdP-initiated SSO-URL und die SP-initiated SSO-URL lautetcustom-endpoint.comwww.. custom-endpoint.com/_dashboards/_opendistro/_security/saml/acswww. Sie können die Werte verwenden, um Ihren Identitätsanbieter zu konfigurieren, bevor die Domain erstellt wird. Beispiele finden Sie im nächsten Abschnitt.custom-endpoint.com/_dashboards/_opendistro/_security/saml/acs/idpinitiated
Anmerkung
Sie können sich nicht mit einem Dual-Stack-Endpunkt anmelden, da sich der FQDN einer HTTP-Anfrage vom FQDN einer SAML-Anfrage unterscheidet. Ein OpenSearch Administrator muss einen benutzerdefinierten Endpunkt einrichten und den CNAME-Wert auf Dual-Stack-Endpunkt setzen, wenn Sie sich mit einem Dual-Stack-Endpunkt anmelden möchten.
Wenn Sie keinen benutzerdefinierten Endpunkt verwenden, können Sie temporäre Werte in Ihren IdP eingeben, um die erforderlichen Metadaten zu generieren, und sie später aktualisieren, nachdem die Domain aktiv ist.
In Okta können Sie beispielsweise https:// in die Felder Single Sign On URL und Audience URI (SP Entity ID) eingeben, wodurch Sie die Metadaten generieren können. Sobald die Domain aktiv ist, können Sie dann die richtigen Werte aus OpenSearch Service abrufen und in Okta aktualisieren. Detaillierte Anweisungen finden Sie unter Schritt 6: Ihre IdP-URLs aktualisieren.temp-endpoint.amazonaws.com
Wenn Sie eine bestehende Domain bearbeiten
Wenn Sie die SAML-Authentifizierung für eine bestehende Domain aktivieren, kopieren Sie die Entitäts-ID des Serviceanbieters und eine der SSO-URLs. Hinweise zu der zu verwendenden URL finden Sie unter SAML-Konfigurationsübersicht.
Verwenden Sie die Werte, um Ihren Identitätsanbieter zu konfigurieren. Dies ist der komplexeste Teil des Prozesses, und leider variieren Terminologie und Schritte je nach Anbieter stark. Schlagen Sie in der Dokumentation Ihres Anbieters nach.
In Okta erstellen Sie beispielsweise eine SAML 2.0-Webanwendung. Geben Sie für Single Sign-On-On-URL die SSO-URL an. Geben Sie für Zielgruppen-URI (SP-Entitäts-ID) die SP-Entitäts-ID an.
Anstelle von Benutzern und Backend-Rollen hat Okta Benutzer und Gruppen. Für Group Attribute Statements (Anweisungen zu Gruppenattributen) empfehlen wir, role zum Feld Name und den regulären Ausdruck .+ zum Feld Filter hinzuzufügen. Diese Anweisung weist den Okta-Identitätsanbieter an, alle Benutzergruppen unter das role-Feld der SAML-Assertion aufzunehmen, nachdem sich ein Benutzer authentifiziert hat.
In IAM Identity Center geben Sie die SP-Entitäts-ID als SAML-Anwendungszielgruppe an. Sie müssen außerdem die folgenden Attributzuordnungen angeben: und. Subject=${user:subject}:format=unspecified Role=${user:groups}:format=uri
In Auth0 erstellen Sie eine reguläre Webanwendung und aktivieren das SAML 2.0-Add-on. In Keycloak erstellen Sie einen Client.
Schritt 3: IdP-Metadaten importen
Nachdem Sie Ihren Identitätsanbieter konfiguriert haben, wird eine IdP-Metadatendatei generiert. Diese XML-Datei enthält Informationen zum Anbieter, z. B. ein TLS-Zertifikat, Single Sign-On-Endpunkte und die Entitäts-ID des Identitätsanbieters.
Kopieren Sie den Inhalt der IdP-Metadatendatei und fügen Sie ihn in das Feld Metadaten von IdP in der OpenSearch Servicekonsole ein. Wählen Sie alternativ Aus XML-Datei importieren und laden Sie die Datei hoch. Die Metadatendatei sollte ungefähr so aussehen:
<?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor entityID="entity-id" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:KeyDescriptor use="signing"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate>tls-certificate</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="idp-sso-url"/> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="idp-sso-url"/> </md:IDPSSODescriptor> </md:EntityDescriptor>
Schritt 4: SAML-Felder konfigurieren
Nachdem Sie Ihre IdP-Metadaten eingegeben haben, konfigurieren Sie die folgenden zusätzlichen Felder in der OpenSearch Servicekonsole:
-
IdP entity ID – Kopieren Sie den Wert der Eigenschaft
entityIDaus Ihrer Metadatendatei und fügen Sie ihn in dieses Feld ein. Viele Identitätsanbieter zeigen diesen Wert auch als Teil einer Zusammenfassung nach der Konfiguration an. Manche Anbieter nennen ihn „Aussteller“.Anmerkung
Der Wert für die IdP-Entitäts-ID muss im URL-Format vorliegen (z. B.
https://idp.example.com/...). Non-URL Werte wie eine einfache Zeichenfolge (z. B. "JumpCloud„) führen zu einem 500-Fehler. -
SAML-Master-Benutzername und SAML-Master-Backend-Rolle — Die von Ihnen angegebene and/or Benutzer-Backend-Rolle erhält volle Berechtigungen für den Cluster, was einem neuen Masterbenutzer entspricht, kann diese Berechtigungen jedoch nur innerhalb von Dashboards verwenden. OpenSearch
In Okta könnten Sie beispielsweise einen Benutzer
jdoehaben, der zur Gruppeadminsgehört. Wenn Siejdoezum Feld für den SAML-Hauptbenutzernamen hinzufügen, erhält nur dieser Benutzer vollständige Berechtigungen. Wenn Sieadminszum Feld für die SAML-Haupt-Backend-Rolle hinzufügen, erhält jeder Benutzer, der zu deradmins-Gruppe gehört, vollständige Berechtigungen.Anmerkung
Der Inhalt der SAML-Assertion muss genau mit den Zeichenfolgen übereinstimmen, die Sie für den SAML-Hauptbenutzernamen und die SAML-Hauptrolle verwenden. Einige Identitätsanbieter fügen ihren Benutzernamen ein Präfix hinzu, was zu einer schwer zu feststellbaren Abweichung führen kann. In der Benutzeroberfläche des Identity Providers wird möglicherweise
jdoeangezeigt, aber die SAML-Assertion kannauth0|jdoeenthalten. Verwenden Sie immer die Zeichenfolge aus der SAML-Assertion.
Bei vielen Identitätsanbietern können Sie sich während des Konfigurationsprozesses eine Beispiel-Assertion ansehen, und Tools wie SAML-tracer
<?xml version="1.0" encoding="UTF-8"?> <saml2:Assertion ID="id67229299299259351343340162" IssueInstant="2020-09-22T22:03:08.633Z" Version="2.0" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"> <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">idp-issuer</saml2:Issuer> <saml2:Subject> <saml2:NameIDFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">username</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml2:SubjectConfirmationData NotOnOrAfter="2020-09-22T22:08:08.816Z" Recipient="domain-endpoint/_dashboards/_opendistro/_security/saml/acs"/> </saml2:SubjectConfirmation> </saml2:Subject> <saml2:Conditions NotBefore="2020-09-22T21:58:08.816Z" NotOnOrAfter="2020-09-22T22:08:08.816Z"> <saml2:AudienceRestriction> <saml2:Audience>domain-endpoint</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> <saml2:AuthnStatement AuthnInstant="2020-09-22T19:54:37.274Z"> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> </saml2:AuthnContext> </saml2:AuthnStatement> <saml2:AttributeStatement> <saml2:Attribute Name="role" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">GroupName Match Matches regex ".+" (case-sensitive) </saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> </saml2:Assertion>
Schritt 5: (Optional) Zusätzliche Einstellungen konfigurieren
Konfigurieren Sie unter Additional settings (Zusätzliche Einstellungen) die folgenden optionalen Felder:
-
Subject key (Betreffsschlüssel) – Sie können dieses Feld leer lassen, um das Element
NameIDder SAML-Assertion für den Benutzernamen zu verwenden. Wenn Ihre Assertion dieses Standardelement nicht verwendet und stattdessen den Benutzernamen als benutzerdefiniertes Attribut enthält, geben Sie dieses Attribut hier an. -
Roles key (Rollenschlüssel) – Wenn Sie Backend-Rollen verwenden möchten (empfohlen), geben Sie in diesem Feld ein Attribut aus der Assertion an, z. B.
roleodergroup. Dies ist eine weitere Situation, in der Tools wie helfen SAML-tracerkönnen. -
Gültigkeitsdauer der Sitzung — Standardmäßig meldet OpenSearch Dashboards Benutzer nach 24 Stunden ab. Sie können diesen Wert auf eine beliebige Zahl zwischen 60 und 1.440 (24 Stunden) einstellen, indem Sie einen neuen Wert angeben.
Wenn Sie mit Ihrer Konfiguration zufrieden sind, speichern Sie die Domain.
Schritt 6: Ihre IdP-URLs aktualisieren
Wenn Sie die SAML-Authentifizierung beim Erstellen einer Domain aktiviert haben, mussten Sie temporäre URLs in Ihrem IdP angeben, um die XML-Metadatendatei zu generieren. Nachdem sich der Domainstatus zu Active geändert hat, können Sie die richtigen URLs abrufen und Ihren IdP ändern.
Um die URLs abzurufen, wählen Sie die Domain aus und dann Actions (Aktionen) und Edit security configuration (Sicherheitskonfiguration bearbeiten). Unter SAML-Authentifizierung für OpenSearch Dashboards/Kibana finden Sie die richtige Entitäts-ID und die richtigen SSO-URLs des Dienstanbieters. Kopieren Sie die Werte und verwenden Sie sie, um Ihren Identitätsanbieter zu konfigurieren. Ersetzen Sie dabei die temporären URLs, die Sie in Schritt 2 angegeben haben.
Schritt 7: SAML-Benutzer Rollen zuordnen
Sobald Ihr Domainstatus Aktiv ist und Ihr IdP korrekt konfiguriert ist, navigieren Sie zu OpenSearch Dashboards.
-
Wenn Sie die SP-initiated URL ausgewählt haben, navigieren Sie zu.
Um sich direkt bei einem bestimmten Mandanten anzumelden, können Siedomain-endpoint/_dashboards?security_tenant=an die URL anhängen.tenant-name -
Wenn Sie die IdP-initiated URL ausgewählt haben, navigieren Sie zum Anwendungsverzeichnis Ihres Identity Providers.
Melden Sie sich in beiden Fällen entweder als SAML-Haupt-Benutzer oder als Benutzer an, der zur SAML-Haupt-Backend-Rolle gehört. Um das Beispiel ab Schritt 7 fortzusetzen, melden Sie sich entweder als jdoe oder als Mitglied der Gruppe admins an.
Wählen Sie nach dem Laden der OpenSearch Dashboards Sicherheit, Rollen aus. Ordnen Sie dann Rollen zu, um anderen Benutzern den Zugriff auf OpenSearch Dashboards zu ermöglichen.
Sie können beispielsweise Ihren vertrauenswürdigen Kollegen jroe den Rollen all_access und security_manager zuordnen. Sie können die Backend-Rolle analysts auch den Rollen readall und opensearch_dashboards_user zuordnen.
Wenn Sie lieber die API als OpenSearch Dashboards verwenden möchten, sehen Sie sich die folgende Beispielanfrage an:
PATCH _plugins/_security/api/rolesmapping [ { "op": "add", "path": "/security_manager", "value": { "users": ["master-user", "jdoe", "jroe"], "backend_roles": ["admins"] } }, { "op": "add", "path": "/all_access", "value": { "users": ["master-user", "jdoe", "jroe"], "backend_roles": ["admins"] } }, { "op": "add", "path": "/readall", "value": { "backend_roles": ["analysts"] } }, { "op": "add", "path": "/opensearch_dashboards_user", "value": { "backend_roles": ["analysts"] } } ]
Konfiguration von SP- und Authentifizierung IdP-initiated
Wenn Sie sowohl SP- als auch IdP-initiated Authentifizierung konfigurieren möchten, müssen Sie dies über Ihren Identitätsanbieter tun. In Okta können Sie beispielsweise die folgenden Schritte ausführen:
-
Gehen Sie in Ihrer SAML-Anwendung zu General (Allgemeines), SAML settings (SAML-Einstellungen).
-
Geben Sie für die Single sign on URL (Single-Sign-On-URL) Ihre IdP-initiierte SSO-URL an. Beispiel,
https://search-.domain-hash/_dashboards/_opendistro/_security/saml/acs/idpinitiated -
Aktivieren Sie Allow this app to request other SSO URLs (Dieser App erlauben, andere SSO-URLs anzufordern).
-
Fügen Sie unter Requestable SSO URLs (Anforderbare SSO-URLs) eine oder mehrere SP-initiierte SSO-URLs hinzu. Beispiel,
https://search-.domain-hash/_dashboards/_opendistro/_security/saml/acs
Konfiguration der SAML-Authentifizierung (AWS CLI)
Der folgende AWS CLI Befehl aktiviert die SAML-Authentifizierung für OpenSearch Dashboards in einer vorhandenen Domain:
aws opensearch update-domain-config \ --domain-namemy-domain\ --advanced-security-options '{"SAMLOptions":{"Enabled":true,"MasterUserName":"my-idp-user","MasterBackendRole":"my-idp-group-or-role","Idp":{"EntityId":"entity-id","MetadataContent":"metadata-content-with-quotes-escaped"},"RolesKey":"optional-roles-key","SessionTimeoutMinutes":180,"SubjectKey":"optional-subject-key"}}'
Sie müssen alle Anführungszeichen und Zeilenumbrüche in der Metadaten-XML maskieren. Verwenden Sie z. B.<KeyDescriptor use=\"signing\">\n anstelle von <KeyDescriptor
use="signing"> und einen Zeilenumbruch. Ausführliche Informationen zur Verwendung der AWS CLI finden Sie in der AWS CLI -Befehlsreferenz.
Konfigurieren der SAML-Authentifizierung (Konfigurations-API)
Die folgende Anfrage an die Konfigurations-API aktiviert die SAML-Authentifizierung für OpenSearch Dashboards in einer vorhandenen Domain:
POST https://es.us-east-1.amazonaws.com/2021-01-01/opensearch/domain/my-domain/config { "AdvancedSecurityOptions": { "SAMLOptions": { "Enabled":true, "MasterUserName": "my-idp-user", "MasterBackendRole": "my-idp-group-or-role", "Idp": { "EntityId": "entity-id", "MetadataContent": "metadata-content-with-quotes-escaped" }, "RolesKey": "optional-roles-key", "SessionTimeoutMinutes":180, "SubjectKey": "optional-subject-key" } } }
Sie müssen alle Anführungszeichen und Zeilenumbrüche in der Metadaten-XML maskieren. Verwenden Sie z. B.<KeyDescriptor use=\"signing\">\n anstelle von <KeyDescriptor
use="signing"> und einen Zeilenumbruch. Ausführliche Informationen zur Verwendung der Konfigurations-API finden Sie in der OpenSearch Service-API-Referenz.
SAML-Fehlerbehebung
| Fehler | Details |
|---|---|
|
Vergewissern Sie sich, dass Sie Ihrem Identitätsanbieter die richtige SSO-URL (Schritt 3) bereitgestellt haben. |
|
|
Ihre IdP-Metadatendatei entspricht nicht dem SAML 2.0-Standard. Überprüfen Sie mit einem Validierungstool auf Fehler. |
|
SAML-Konfigurationsoptionen sind in der Konsole nicht sichtbar. |
Aktualisieren Sie auf die neueste Servicesoftware. |
|
|
Dieser allgemeine Fehler kann aus vielen Gründen auftreten.
|
|
|
Sie haben sich erfolgreich authentifiziert, aber der Benutzername und alle Backend-Rollen aus der SAML-Assertion sind keinen Rollen zugeordnet und haben daher keine Berechtigungen. Bei diesen Mappings muss die Groß-/Kleinschreibung beachtet werden. Ihr Systemadministrator kann den Inhalt Ihrer SAML-Assertion mit einem Tool wie SAML-tracer
|
|
Ihr Browser leitet kontinuierlich um oder empfängt HTTP 500-Fehler, wenn er versucht, auf Dashboards zuzugreifen OpenSearch . |
Diese Fehler können auftreten, wenn Ihre SAML-Assertion eine große Anzahl von Rollen mit insgesamt etwa 1.500 Zeichen enthält. Wenn Sie beispielsweise 80 Rollen übergeben, deren durchschnittliche Länge 20 Zeichen beträgt, überschreiten Sie möglicherweise die Größenbeschränkung für Cookies in Ihrem Webbrowser. Ab OpenSearch Version 2.7 unterstützt die SAML-Assertion Rollen mit bis zu 5000 Zeichen. |
|
Sie können sich nicht von ADFS abmelden. |
ADFS erfordert, dass alle Abmeldeanfragen signiert sind, was der OpenSearch Service nicht unterstützt. |
|
|
Die Entitäts-ID des IdP, die in der Metadaten-XML to OpenSearch Service bereitgestellt wird, unterscheidet sich von der in der SAML-Antwort. Um dieses Problem zu beheben, stellen Sie sicher, dass sie übereinstimmen. Aktivieren Sie die CW-Anwendungsfehlerprotokolle auf Ihrer Domain, um die Fehlermeldung zum Debuggen des SAML-Integrationsproblems zu finden. |
|
|
OpenSearch Der Dienst kann die Signatur in der SAML-Antwort mithilfe des in Metadaten-XML bereitgestellten Zertifikats des IdP nicht überprüfen. Dies könnte entweder ein manueller Fehler sein oder Ihr IdP hat sein Zertifikat rotiert. Aktualisieren Sie das neueste Zertifikat Ihres IdP in der Metadaten-XML, die dem OpenSearch Service über die AWS-Managementkonsole zur Verfügung gestellt wird. |
|
|
Das Zielgruppenfeld in der SAML-Antwort entspricht nicht dem Domain-Endpunkt. Um diesen Fehler zu beheben, aktualisieren Sie das SP-Zielgruppenfeld so, dass es Ihrem Domain-Endpunkt entspricht. Wenn Sie benutzerdefinierte Endpunkte aktiviert haben, sollte das Zielgruppenfeld Ihrem benutzerdefinierten Endpunkt entsprechen. Aktivieren Sie CW-Anwendungsfehlerprotokolle auf Ihrer Domain, um die Fehlermeldung zum Debuggen des SAML-Integrationsproblems zu finden. |
|
Ihr Browser erhält in der Antwort einen HTTP 400-Fehler mit |
Dieser Fehler tritt im Allgemeinen auf, wenn Sie die IdP-initiated URL mit dem Format konfiguriert haben |
|
Die Antwort wurde am |
Das Zielfeld in der SAML-Antwort entspricht keinem der folgenden URL-Formate:
Geben Sie je nach verwendetem Anmeldeablauf (SP-initiated oder IdP-initiated) ein Zielfeld ein, das mit einer der OpenSearch URLs übereinstimmt. |
|
Die Antwort hat ein |
Sie verwenden die IdP-initiated URL für einen SP-initiated Login-Flow. Verwenden Sie stattdessen die SP-initiated URL. |
Deaktivieren der SAML-Authentifizierung
Um die SAML-Authentifizierung für OpenSearch Dashboards (Konsole) zu deaktivieren
-
Klicken Sie auf die Domain, wählen Sie Aktionen und Sicherheitskonfiguration bearbeiten.
-
Deaktivieren Sie das Kontrollkästchen SAML-Authentifizierung aktivieren.
-
Wählen Sie Änderungen speichern aus.
-
Nachdem die Verarbeitung der Domain abgeschlossen ist, überprüfen Sie das differenzierte Mapping der Zugriffssteuerungsrollen mit der folgenden Anfrage:
GET _plugins/_security/api/rolesmappingDurch die Deaktivierung der SAML-Authentifizierung für Dashboards werden die Zuordnungen für den SAML-Master-Benutzernamen und die SAML-Master-Backend-Rolle nicht entfernt. and/or Wenn Sie diese Zuordnungen entfernen möchten, melden Sie sich mit der internen Benutzerdatenbank (sofern aktiviert) bei Dashboards an oder verwenden Sie die API, um sie zu entfernen:
PUT _plugins/_security/api/rolesmapping/all_access{ "users": [ "master-user" ] }