SAML-Authentifizierung in der Suche mit OpenSearch

Erfahren Sie mehr über die Verwendung der SAML-Authentifizierung OCI Search mit OpenSearch.

OCI Search mit OpenSearch unterstützt die Verwendung eines Identitätsproviders für den Zugriff und die Kontrolle auf OpenSearch-Cluster und OpenSearch-Dashboards. Dies ist über SAML-Single Sign-On-Unterstützung im OpenSearch-Sicherheits-Plug-in verfügbar.

Mit der SAML-Integration können Sie ein Cluster so konfigurieren, dass OCI OpenSearch als SAML-Serviceprovider eine Verbindung zu Ihrem Identitätsprovider herstellt, um Benutzer zu authentifizieren und ein Authentifizierungstoken für den Zugriff auf OpenSearch-Cluster und OpenSearch-Dashboards an OCI OpenSearch zurückzusenden. Sie können auch das OpenSearch-Dashboard konfigurieren, sodass Benutzer beim Zugriff auf das OpenSearch-Dashboard zur Authentifizierung zur Anmeldeseite des Identitätsproviders umgeleitet werden.

In der folgenden Tabelle werden die SAML-Konfigurationseinstellungen beschrieben, die für die Suche mit OpenSearch gelten.

SAML-Konfiguration Beschreibung Feld- oder Attributname
SAML-Metadaten Metadatendatei, in der die Funktionen und Konfiguration des Identitätsproviders beschrieben werden. Erforderlich.
  • Konsole: Metadateninhalt
  • CLI: idp-metadata-content
  • API: idpMetadataContent
Identitäts-ID Der Name des Identitätsproviders. Erforderlich.
  • Konsole: Identitäts-ID
  • CLI: IPD-Identity-ID
  • API: ipdIdentityId
OpenSearch Dashboard-URL Die URL des Dashboards OpenSearch des Clusters. Optional.
  • Konsole: Dashboard-URL
  • CLI: opendashboard-url
  • API: opendashboardUrl
Admin-Backend-Rolle Die Backend-Rolle im Identitätsprovider für die Benutzer, die vollständige Administratorberechtigungen für das Cluster haben. Optional.
  • Konsole: Admin-Backend-Rolle
  • CLI: admin-backend-role
  • API: adminBackendRole
Subject-Schlüssel Wenn der Identitätsprovider den Standardelementnamen für Benutzer NameID verwendet, müssen Sie hier nichts angeben. Verwenden Sie andernfalls dieses Element, um das Element in der SAML-Antwort anzugeben, das die Benutzer enthält. Optional.
  • Konsole: Subject-Schlüssel
  • CLI: Betreffschlüssel
  • API: subjectKey
Rollenschlüssel Wenn Sie Backend-Rollen verwenden, gibt dies den Elementnamen in der SAML-Antwort an, der die Benutzerrollen enthält. Optional
  • Konsole: Rollenschlüssel
  • CLI: Roles-key
  • API: rolesKey

Einschränkungen und Überlegungen

  • Die Suche mit OpenSearch unterstützt nur die Aktivierung der SAML-Authentifizierung in der Konsole für vorhandene Cluster. Sie können die SAML-Authentifizierung nicht aktivieren, wenn Sie ein neues Cluster in der Konsole erstellen. Sie können die SAML-Authentifizierung aktivieren, wenn Sie ein neues OpenSearch-Cluster mit der CLI oder API erstellen.
  • Wenn Sie ein neues Cluster erstellen und die SAML-Authentifizierung über die CLI oder API aktivieren, müssen Sie auch eine rollenbasierte Zugriffskontrolle für das Cluster aktivieren, wobei der Sicherheitsmodus auf "Erzwingen" gesetzt ist.

Voraussetzungen

  • Ein vorhandener Identitätsprovider.
  • Nur für die Konsole muss ein vorhandenes OpenSearch-Cluster erstellt werden.
  • Sie können SAML nur für ein vorhandenes Cluster in der Konsole aktivieren.

    1. Suchen Sie auf der Listenseite Cluster das Cluster, mit dem Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite oder des Clusters benötigen, finden Sie weitere Informationen unter OpenSearch-Cluster auflisten.
    2. Klicken Sie in der Liste Cluster auf den Namen des Clusters, für das Sie SAML aktivieren möchten.
    3. Klicken Sie auf der Seite mit den Clusterdetails auf Weitere Aktionen, und wählen Sie SAML-Authentifizierung hinzufügen aus.
    4. Fügen Sie im Feld Metadateninhalt den Inhalt der SAML-Metadatendatei für den Identitätsprovider ein.
      Die SAML-Metadatendatei beschreibt die Funktionen und Konfiguration des Identitätsproviders. Dazu gehört auch das Zertifikat des Identitätsproviders.
    5. Geben Sie den Namen des Identitätsproviders in Identitäts-ID an.
    6. Optional können Sie die folgenden Konfigurationsdetails angeben:
      • Dashboard-URL: Die OpenSearch.Dashboard-URL des Clusters.
      • Admin-Backend-Rolle: Die Backend-Rolle im Identitätsprovider für Benutzer, die Administratorberechtigungen für das Cluster OpenSearch haben.
      • Rollenschlüssel: Gibt das Attribut in der SAML-Antwort an, das die Benutzerrollen enthält.
      • Themenschlüssel: Gibt das Attribut in der SAML-Antwort an, das die Benutzer enthält.
    7. Wählen Sie Änderungen speichern aus.
  • Informationen zur Verwendung der CLI finden Sie unter Befehlszeilenschnittstelle (CLI). Eine vollständige Liste der für CLI-Befehle verfügbaren Flags und Optionen finden Sie in derCLI-Befehlsreferenz.

    SAML beim Erstellen eines Clusters aktivieren

    Sie können die SAML-Authentifizierung aktivieren, wenn Sie mit dem Befehl create für das cluster-Objekt in der CLI ein Cluster erstellen. Zusätzlich zu den erforderlichen Parametern für den Befehl "create" müssen Sie auch die folgenden Parameter aufnehmen:

    • Die rollenbasierten Zugriffskontrollparameter, einschließlich security-mode, security-master-user-name und security-master-user-password-hash. Der Parameter security-mode muss auf ENFORCING gesetzt sein.
    • Der Parameter securitySamlConfig, der die SAML-Konfiguration enthält. Im Folgenden wird ein JSON-Beispiel mit SAML-Konfiguration für diesen Parameter dargestellt:
      {
          "isEnabled": true,
          "idpEntityId": "<identity_provider_name>",
          "idpMetadataContent": "xml content"
          "opendashboardUrl": "https://localhost:5601",
          "adminBackendRole": "<admin_role_name>",
          "subjectKey": "<NameID>",
          "rolesKey": "<group_name>"
          }

      Während das obige Beispiel alle verfügbaren SAML-Konfigurationsfelder enthält, sind nur die Felder isEnabled, idpEntityId und idpMetadataContent erforderlich.

    Beispielbefehl create:

    oci opensearch cluster create --compartment-id <compartment_ocid> --securitySamlConfig <SAML_Config_JSON> --security-mode ENFORCING --security-master-user-name <username> --security-master-user-password-hash <password> ...remaining required fields

    SAML beim Aktualisieren eines Clusters aktivieren

    Sie können die SAML-Authentifizierung für ein vorhandenes Cluster aktivieren, wenn Sie mit dem Befehl update für das cluster-Objekt in der CLI ein Cluster aktualisieren. Sie müssen den Parameter securitySamlConfig in den Aktualisierungsbefehl aufnehmen. In der JSON der SAML-Konfiguration im vorherigen Abschnitt finden Sie ein Beispiel dafür, was Sie für diesen Parameter angeben müssen.

    Beispielbefehl update:

    oci opensearch cluster update --display-name<cluster_name> --opensearch-cluster-id <cluster_ocid --securitySamlConfig <SAML_Config_JSON>

    Wenn die rollenbasierte Zugriffskontrolle nicht für das Cluster aktiviert ist, müssen Sie sie aktivieren, indem Sie auch die Parameter security-mode, security-master-user-name und security-master-user-password-hash einschließen. Der Parameter security-mode muss auf ENFORCING gesetzt sein.

  • Informationen zur Verwendung der API und zu Signieranforderungen finden Sie unter REST-APIs und Sicherheitszugangsdaten. Informationen zu SDKs finden Sie unter Software Development Kits und Befehlszeilenschnittstelle (CLI).

    SAML beim Erstellen eines Clusters aktivieren

    Sie können die SAML-Authentifizierung aktivieren, wenn Sie ein Cluster mit dem Vorgang CreateOpensearchCluster erstellen. Übergeben Sie die SAML-Konfigurationsdetails in CreateOpensearchClusterDetails mit dem neuen Attribut securitySamlConfig, wie im folgenden Beispiel dargestellt:

    POST https://opensearch.us-ashburn-1.oci.oraclecloud.com/20180828/opensearchClusters/
    {
      ...
      "securitySamlConfig": {
        "isEnabled": true,
        "idpEntityId": "<identity_provider_name>",
        "idpMetadataContent": "xml content"
        "opendashboardUrl": "https://localhost:5601",
        "adminBackendRole": "<admin_role_name>",
        "subjectKey": "<NameID>",
        "rolesKey": "<group_name>"
      },
      ...
    }

    SAML beim Aktualisieren eines Clusters aktivieren

    Sie können die SAML-Authentifizierung für ein vorhandenes Cluster aktivieren, wenn Sie ein Cluster mit dem Vorgang UpdateOpensearchCluster aktualisieren. Übergeben Sie die SAML-Konfigurationsdetails in UpdateOpensearchClusterDetails mit dem neuen Attribut securitySamlConfig, wie im folgenden Beispiel dargestellt:

    PUT https://opensearch.us-ashburn-1.oci.oraclecloud.com/20180828/opensearchClusters/ocid1.opensearchcluster.oc1.<unique_ID>
    {
      ...
      "securitySamlConfig": {
        "isEnabled": true,
        "idpEntityId": "<identity_provider_name>",
        "idpMetadataContent": "xml content"
        "opendashboardUrl": "https://localhost:5601",
        "adminBackendRole": "<admin_role_name>",
        "subjectKey": "<NameID>",
        "rolesKey": "<group_name>"
      },
      ...
    }