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