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の詳細は、次を参照してください: