Configurazione di OpenID Connect per una ricerca con il cluster OpenSearch

Configurare un cluster OpenSearch per utilizzare un provider di identità OpenID Connect, ad esempio Oracle Identity Cloud Service, per l'autenticazione e l'autorizzazione.

Requisiti indispensabili

Abilita OpenID con le API REST del plugin di sicurezza OpenSearch

Utilizzare l'API di configurazione del plugin Sicurezza OpenSearch per abilitare OpenID Connect per un cluster OpenSearch.

L'esempio riportato di seguito mostra come abilitare OpenID Connect per un cluster, con un esempio di URL OpenID Connect per Oracle Identity Cloud Service. Il codice include anche l'impostazione della modalità di sicurezza da applicare nella chiamata API di configurazione.

PUT _plugins/_security/api/securityconfig/config
{
  "dynamic": {
    "security_mode": "ENFORCING",
    "http": {
      "anonymous_auth_enabled": false,
      "xff": {
        "enabled": false
      }
    },
    "authc": {
      "openid_auth_domain": {
                    "http_enabled": true,
                    "transport_enabled": true,
                    "order": 0,
                    "http_authenticator": {
                        "challenge": false,
                        "type": "openid",
                        "config": {
                            "subject_key": "sub",
                            "roles_key": "sub",
                            "openid_connect_url": "https://idcs-<IDCS_Instance_ID>.identity.oraclecloud.com/.well-known/openid-configuration"
                        }
                    },
                    "authentication_backend": {
                        "type": "noop",
                        "config": {}
                    },
                    "description": "Authenticate using OpenId connect"
                },
                "basic_internal_auth_domain": {
                    "http_enabled": true,
                    "transport_enabled": true,
                    "order": 1,
                    "http_authenticator": {
                        "challenge": true,
                        "type": "basic",
                        "config": {}
                    },
                    "authentication_backend": {
                        "type": "intern",
                        "config": {}
                    },
                    "description": "Authenticate via HTTP Basic against internal users database"
                }
    },
    "authz": null
  }
}

Per ulteriori opzioni di configurazione OpenID Connect disponibili per un cluster OpenSearch, vedere OpenSearch - OpenID Connect.

Uso di OpenID Connect

Dopo aver abilitato OpenID Connect per un cluster OpenSearch, è necessario ottenere il token di accesso dal provider OpenID Connect in uso. La procedura per ottenere il token di accesso dipende dal provider di identità in uso. Per informazioni su come eseguire questa operazione per Oracle Identity Cloud Service, vedere Uso dell'autorizzazione token di accesso con l'API My Services.

Inviare quindi il token di accesso come token bearer nell'intestazione di autorizzazione quando si esegue la connessione al cluster OpenSearch, come mostrato nell'esempio riportato di seguito di una richiesta GET all'API di integrità del cluster:

GET /_cluster/health
Authorization: Bearer <access_token>