OpenSearchクラスタのOpenID Connectの構成

認証および認可にOracle Identity Cloud ServiceなどのOpenID Connectアイデンティティ・プロバイダを使用するようにOpenSearchクラスタを構成します。

前提条件

  • OpenSearchバージョン2.3.0以降に基づくOpenSearchクラスタ。古いバージョンのOpenSearchに基づくクラスタの場合は、クラスタをアップグレードする必要があります。OpenSearchクラスタのアップグレードを参照してください。

  • OpenSearchクラスタのセキュリティ・モードがENFORCINGに設定されています。「クラスタ・セキュリティ・モードを強制するための更新」を参照してください。

  • Oracle Identity Cloud ServiceなどのOpenID Connectアイデンティティ・プロバイダが設定され、使用するように構成されています。

  • プロバイダのOpenID Connectメタデータおよび構成設定にアクセスするためのURLである、アイデンティティ・プロバイダのOpenID Connect URLがあります。

OpenSearchセキュリティ・プラグインREST APIでOpenIDを有効にします

OpenSearchセキュリティ・プラグインの構成APIを使用して、OpenSearchクラスタに対してOpenID Connectを有効にします。

次の例は、Oracle Identity Cloud ServiceのOpenID Connect URLの例を使用して、クラスタに対してOpenID Connectを有効にする方法を示しています。コードには、構成APIコールで強制するセキュリティ・モードの設定も含まれます。

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
  }
}

OpenSearchクラスタで使用可能なその他のOpenID Connect構成オプションについては、OpenSearch - OpenID Connectを参照してください。

OpenID Connectの使用

OpenSearchクラスタに対してOpenID Connectを有効にした後、使用しているOpenID Connectプロバイダからアクセス・トークンを取得する必要があります。アクセス・トークンを取得する手順は、使用しているアイデンティティ・プロバイダによって異なります。Oracle Identity Cloud Serviceでこれを行う方法については、My Services APIでのアクセス・トークン認可の使用を参照してください。

次に、クラスタ・ヘルスAPIへのGETリクエストの例に示すように、OpenSearchクラスタへの接続時に認可ヘッダーにベアラー・トークンとしてアクセス・トークンを送信します。

GET /_cluster/health
Authorization: Bearer <access_token>

その他のリソース

OpenID ConnectおよびOracle Identity Cloud Serviceの詳細は、次を参照してください: