SAMLAuthentifizierung für Amazon OpenSearch Serverless - 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.

SAMLAuthentifizierung für Amazon OpenSearch Serverless

Mit der SAML Authentifizierung für Amazon OpenSearch Serverless können Sie Ihren vorhandenen Identitätsanbieter verwenden, um Single Sign-On (SSO) für die OpenSearch Dashboard-Endpunkte serverloser Sammlungen anzubieten.

SAMLMithilfe der Authentifizierung können Sie externe Identitätsanbieter verwenden, um sich bei OpenSearch Dashboards anzumelden, um Daten zu indizieren und zu suchen. OpenSearch Serverless unterstützt Anbieter, die den SAML 2.0-Standard verwenden, wie IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS) und Auth0. Sie können IAM Identity Center so konfigurieren, dass Benutzer und Gruppen aus anderen Identitätsquellen wie Okta und Microsoft Entra ID synchronisiert werden. OneLogin Eine Liste der von Identity Center unterstützten IAM Identitätsquellen und Schritte zu ihrer Konfiguration finden Sie in den Tutorials Erste Schritte im IAMIdentity Center-Benutzerhandbuch.

Anmerkung

SAMLDie Authentifizierung ist nur für den Zugriff auf OpenSearch Dashboards über einen Webbrowser vorgesehen. Authentifizierte Benutzer können nur über die Entwicklungstools in OpenSearch Dashboards Anfragen an die OpenSearch API Operationen stellen. Mit Ihren SAML Anmeldeinformationen können Sie keine direkten HTTP Anfragen an die OpenSearch API Operationen stellen.

Um die SAML Authentifizierung einzurichten, konfigurieren Sie zunächst einen SAML Identitätsanbieter (IdP). Anschließend nehmen Sie einen oder mehrere Benutzer von diesem IdP in eine Datenzugriffsrichtlinie auf. Diese Richtlinie gewährt ihr bestimmte Berechtigungen für Sammlungen und/oder Indizes. Ein Benutzer kann sich dann bei OpenSearch Dashboards anmelden und die Aktionen ausführen, die in der Datenzugriffsrichtlinie zulässig sind.

SAML authentication flow with data access policy, OpenSearch interface, and JSON configuration.

Überlegungen

Beachten Sie bei der Konfiguration der SAML Authentifizierung Folgendes:

  • Signierte und verschlüsselte Anfragen werden nicht unterstützt.

  • Verschlüsselte Aussagen werden nicht unterstützt.

  • Vom Identitätsanbieter initiierte Authentifizierung und Abmeldung werden nicht unterstützt.

  • Bei IAM Nichtidentitäten SCP (wie SAML bei Amazon OpenSearch Serverless SAML und der grundlegenden internen Benutzerautorisierung für Amazon OpenSearch Service) werden die Richtlinien zur Servicekontrolle () nicht angewendet oder bewertet.

Erforderliche Berechtigungen

SAMLDie Authentifizierung für OpenSearch Serverless verwendet Folgendes AWS Identity and Access Management (IAM) Berechtigungen:

  • aoss:CreateSecurityConfig— Erstellen Sie einen SAML Anbieter.

  • aoss:ListSecurityConfig— Listet alle SAML Anbieter im Girokonto auf.

  • aoss:GetSecurityConfig— SAML Anbieterinformationen anzeigen.

  • aoss:UpdateSecurityConfig— Ändern Sie eine bestimmte SAML Anbieterkonfiguration, einschließlich der XML Metadaten.

  • aoss:DeleteSecurityConfig— Löscht einen SAML Anbieter.

Die folgende identitätsbasierte Zugriffsrichtlinie ermöglicht einem Benutzer die Verwaltung aller IdP-Konfigurationen:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:CreateSecurityConfig", "aoss:DeleteSecurityConfig", "aoss:GetSecurityConfig", "aoss:UpdateSecurityConfig", "aoss:ListSecurityConfigs" ], "Effect": "Allow", "Resource": "*" } ] }

Beachten Sie, dass das Resource-Element ein Platzhalter sein muss.

SAMLAnbieter erstellen (Konsole)

In diesen Schritten wird erklärt, wie Sie SAML Anbieter erstellen. Dies ermöglicht die SAML Authentifizierung mit der vom Service Provider (SP) initiierten Authentifizierung für OpenSearch Dashboards. Die vom Identitätsanbieter initiierte Authentifizierung wird nicht unterstützt.

Um die SAML Authentifizierung für Dashboards zu aktivieren OpenSearch
  1. Melden Sie sich zu https://console.aws.amazon.com/aos/Hause bei der Amazon OpenSearch Service-Konsole an.

  2. Erweitern Sie im linken Navigationsbereich Serverless und wählen Sie SAMLAuthentifizierung aus.

  3. Wählen Sie SAMLAnbieter hinzufügen.

  4. Geben Sie einen Namen und eine Beschreibung für die Sammlung an.

    Anmerkung

    Der von Ihnen angegebene Name ist öffentlich zugänglich und wird in einem Dropdownmenü angezeigt, wenn sich Benutzer bei OpenSearch Dashboards anmelden. Stellen Sie sicher, dass der Name leicht erkennbar ist und keine vertraulichen Informationen über Ihren Identitätsanbieter preisgibt.

  5. Kopieren Sie unter Configure your IdP den Assertion Consumer Service ()ACS. URL

  6. Verwenden Sie den ACSURL, den Sie gerade kopiert haben, um Ihren Identitätsanbieter zu konfigurieren. Terminologie und Schritte variieren je nach Anbieter. Schlagen Sie in der Dokumentation Ihres Anbieters nach.

    In Okta erstellen Sie beispielsweise eine „SAML2.0-Webanwendung“ und geben ACS URL als Single Sign-On URLURL, Empfänger und Ziel URL an. Für Auth0 geben Sie es unter Allowed Callback an. URLs

  7. Geben Sie die Zielgruppeneinschränkung an, falls Ihr IdP ein Feld dafür aufweist. Die Zielgruppeneinschränkung ist ein Wert innerhalb der SAML Assertion, der angibt, für wen die Assertion bestimmt ist. Geben Sie für OpenSearch Serverless an. aws:opensearch:<aws account id> Beispiel, aws:opensearch:123456789012.

    Der Name des Feldes für die Zielgruppenbeschränkung variiert je nach Anbieter. Für Okta ist es Audience URI (SP Entity ID). Für IAM Identity Center ist es die AnwendungszielgruppeSAML.

  8. Wenn Sie IAM Identity Center verwenden, müssen Sie außerdem die folgende Attributzuordnung angeben:Subject=${user:name}, mit dem Formatunspecified.

  9. Nachdem Sie Ihren Identitätsanbieter konfiguriert haben, wird eine IdP-Metadatendatei generiert. Diese XML Datei enthält Informationen über den Anbieter, z. B. ein TLS Zertifikat, Single Sign-On-Endpunkte und die Entitäts-ID des Identitätsanbieters.

    Kopieren Sie den Text aus der IdP-Metadaten-Datei und fügen Sie ihn in das Feld Provide metadata from your IdP (Metadaten von Ihrem IdP bereitstellen) 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>s </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>
  10. Lassen Sie das Feld Benutzerdefiniertes Benutzer-ID-Attribut leer, um das NameID Element der 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. Bei Attributen wird zwischen Groß- und Kleinschreibung unterschieden. Es wird nur ein einzelnes Benutzerattribut unterstützt.

    Das folgende Beispiel zeigt ein Override-Attribut für NameID in der SAML Assertion:

    <saml2:Attribute Name="UserId" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">annie</saml2:AttributeValue> </saml2:Attribute>
  11. (Optional) Geben Sie im Feld Group attribute (Gruppenattribut) ein benutzerdefiniertes Attribut an, z. B. role oder group. Es wird nur ein einzelnes Gruppenattribut unterstützt. Es gibt kein Standard-Gruppenattribut. Wenn Sie keine angeben, können Ihre Datenzugriffsrichtlinien nur Benutzerprinzipale enthalten.

    Das folgende Beispiel zeigt ein Gruppenattribut in der SAML Assertion:

    <saml2:Attribute Name="department" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">finance</saml2:AttributeValue> </saml2:Attribute>
  12. Standardmäßig meldet OpenSearch Dashboards Benutzer nach 24 Stunden ab. Sie können diesen Wert auf eine beliebige Zahl zwischen 1 und 12 Stunden (15 und 720 Minuten) konfigurieren, indem Sie das OpenSearch Dashboard-Timeout angeben. Wenn Sie versuchen, das Timeout auf 15 Minuten oder weniger festzulegen, wird Ihre Sitzung auf eine Stunde zurückgesetzt.

  13. Wählen Sie SAMLAnbieter erstellen.

Auf OpenSearch Dashboards zugreifen

Nachdem Sie einen SAML Anbieter konfiguriert haben, können alle Benutzer und Gruppen, die diesem Anbieter zugeordnet sind, zum Endpunkt OpenSearch Dashboards navigieren. Die Dashboards URL haben das Format collection-endpoint/_dashboards/ für alle Sammlungen.

Wenn Sie SAML es aktiviert haben, wählen Sie den Link in der AWS Management Console leitet Sie zur IdP-Auswahlseite weiter, auf der Sie sich mit Ihren SAML Anmeldeinformationen anmelden können. Verwenden Sie zunächst das Dropdown-Menü, um einen Identitätsanbieter auszuwählen:

OpenSearch login page with dropdown menu for selecting SAML Identity Provider options.

Melden Sie sich anschließend mit den Anmeldeinformationen Ihres Identitätsanbieters an.

Wenn Sie die Option nicht SAML aktiviert haben, wählen Sie den Link im AWS Management Console weist Sie an, sich als IAM Benutzer oder Rolle anzumelden, ohne die Option fürSAML.

Gewährt SAML Identitäten Zugriff auf Sammlungsdaten

Nachdem Sie einen SAML Anbieter erstellt haben, müssen Sie den zugrunde liegenden Benutzern und Gruppen weiterhin Zugriff auf die Daten in Ihren Sammlungen gewähren. Sie gewähren Zugriff über Datenzugriffsrichtlinien. Solange Sie Benutzern keinen Zugriff gewähren, können diese keine Daten in Ihren Sammlungen lesen, schreiben oder löschen.

Um Zugriff zu gewähren, erstellen Sie eine Datenzugriffsrichtlinie und geben Sie Ihren SAML Benutzer und/oder Ihre Gruppe IDs in der Principal Erklärung an:

[ { "Rules":[ ... ], "Principal":[ "saml/987654321098/myprovider/user/Shaheen", "saml/987654321098/myprovider/group/finance" ] } ]

Sie können Zugriff auf Sammlungen, Indizes oder beides gewähren. Wenn Sie möchten, dass verschiedene Benutzer über unterschiedliche Berechtigungen verfügen, erstellen Sie mehrere Regeln. Eine Liste der verfügbaren Berechtigungen finden Sie unter Unterstützte Richtlinienberechtigungen. Weitere Informationen zum Formatieren einer Zugriffsrichtlinie finden Sie unter Richtliniensyntax.

SAMLAnbieter erstellen (AWS CLI)

Um einen SAML Anbieter mit OpenSearch Serverless zu erstellenAPI, senden Sie eine CreateSecurityConfigAnfrage:

aws opensearchserverless create-security-config \ --name myprovider \ --type saml \ --saml-options file://saml-auth0.json

Geben Sie saml-options dies, einschließlich der MetadatenXML, als Schlüssel-Wert-Map in einer JSON-Datei an. Die Metadaten XML müssen als Escape-Zeichenfolge codiert werden. JSON

{ "sessionTimeout": 70, "groupAttribute": "department", "userAttribute": "userid", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>" }

Anbieter anzeigen SAML

Die folgende ListSecurityConfigsAnfrage listet alle SAML Anbieter in Ihrem Konto auf:

aws opensearchserverless list-security-configs --type saml

Die Anfrage gibt Informationen über alle vorhandenen SAML Anbieter zurück, einschließlich der vollständigen IdP-Metadaten, die Ihr Identitätsanbieter generiert:

{ "securityConfigDetails": [ { "configVersion": "MTY2NDA1MjY4NDQ5M18x", "createdDate": 1664054180858, "description": "Example SAML provider", "id": "saml/123456789012/myprovider", "lastModifiedDate": 1664054180858, "samlOptions": { "groupAttribute": "department", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>", "sessionTimeout": 120, "userAttribute": "userid" } } ] }

Um Details zu einem bestimmten Anbieter anzuzeigen, einschließlich des configVersion für zukünftige Updates, senden Sie eine GetSecurityConfig-Anfrage.

Anbieter werden aktualisiert SAML

Um einen SAML Anbieter mithilfe der OpenSearch Serverless-Konsole zu aktualisieren, wählen Sie SAMLAuthentifizierung, wählen Sie Ihren Identitätsanbieter aus und klicken Sie auf Bearbeiten. Sie können alle Felder ändern, einschließlich der Metadaten und derb benutzerdefinierten Attribute.

Um einen Anbieter über die OpenSearch Serverless zu aktualisierenAPI, senden Sie eine UpdateSecurityConfigAnfrage und geben Sie die ID der Richtlinie an, die aktualisiert werden soll. Sie müssen auch eine Konfigurationsversion angeben, die Sie mithilfe der ListSecurityConfigs- oder GetSecurityConfig-Befehle abrufen können. Die Angabe der neuesten Version stellt sicher, dass Sie nicht versehentlich eine Änderung überschreiben, die von jemand anderem vorgenommen wurde.

Die folgende Anfrage aktualisiert die SAML Optionen für einen Anbieter:

aws opensearchserverless update-security-config \ --id saml/123456789012/myprovider \ --type saml \ --saml-options file://saml-auth0.json \ --config-version MTY2NDA1MjY4NDQ5M18x

Geben Sie Ihre SAML Konfigurationsoptionen als Key-Value-Map in einer JSON-Datei an.

Wichtig

Aktualisierungen der SAML Optionen erfolgen nicht inkrementell. Wenn Sie bei einer Aktualisierung keinen Wert für einen Parameter im SAMLOptions-Objekt angeben, werden die vorhandenen Werte mit leeren Werten überschrieben. Wenn die aktuelle Konfiguration beispielsweise einen Wert für userAttribute enthält und Sie dann eine Aktualisierung vornehmen und diesen Wert nicht angeben, wird der Wert aus der Konfiguration entfernt. Stellen Sie sicher, dass Sie die vorhandenen Werte kennen, bevor Sie eine Aktualisierung durch Aufrufen der GetSecurityConfig-Operation vornehmen.

Anbieter werden gelöscht SAML

Wenn Sie einen SAML Anbieter löschen, funktionieren alle Verweise auf zugehörige Benutzer und Gruppen in Ihren Datenzugriffsrichtlinien nicht mehr. Um Verwirrung zu vermeiden, empfehlen wir Ihnen, alle Verweise auf den Endpunkt in Ihren Zugriffsrichtlinien zu entfernen, bevor Sie den Endpunkt löschen.

Um einen SAML Anbieter mithilfe der OpenSearch Serverless-Konsole zu löschen, wählen Sie Authentifizierung, wählen Sie den Anbieter aus und klicken Sie auf Löschen.

Um einen Anbieter über die OpenSearch Serverless zu löschenAPI, senden Sie eine DeleteSecurityConfigAnfrage:

aws opensearchserverless delete-security-config --id saml/123456789012/myprovider